Monthly Archives: July 2015


I hadn’t really thought about level hazards much, but I decided that a platformer really isn’t a platformer without spikes. Ideally I’d want them to be in the tile editor, rather than entities like enemies which are placed individually, so I went ahead and took a couple of days to add spike tiles and make them work. This was actually a good exercise, not only because it added something the game needed but because it also lead naturally into working on some other stuff. Namely, there’s now a system in place for temporarily stunning the player after she gets hit, and for providing a brief period of invincibility to go with it, both if which I would have wanted anyway in pretty short order after I got enemy attacks working.

After that, I spent a little while making an animation for hit stun, and today I got it implemented in-game along with a few changes to the movement code making the character behave a little bit differently during stun. I hadn’t considered it until writing this, but honestly I’m probably going to want to implement a very similar system for enemies so that they get stunned on hit as well. This is relatively low priority, but is something I should maintain in the back of my head.

Anyway, here’s what the stun prototype animations look like:

EveStun01L EveStun01R

Currently the character is perfectly still with just the hair and cloth moving. This was a decision I made so it would loop smoothly, and it’s mostly intended just to be used for quick transitional moments, but that might be something I’ll change, adding a bit of tremble to the limbs or sword. Not sure. I’m also not entirely happy with the movement of the hair, it doesn’t feel like it’s quite ‘rolling’ enough, more just snapping back and forth.

I’m going to start experimenting this week with not working on the game every day, but instead working on it 4-5 days a week for 3-4 hours each day. My hope is that by sectioning out a big block of time like this for me to focus on the work exclusively, I’ll be able to do higher quality work faster, more than making up for the days I’m taking off. Essentially I want to cut out the extra stress from trying to do a bunch of different things every day, and try to do one thing right instead.

So the next major task for the game, which I’ll try to do in one 3-4 block of work, is to change the way the entity system works so I can make quick anonymous entities instead of making each and every one an instance of a named template. This will make it a lot easier and more flexible to create attack entities, at which point I can go back into the entity I’ve been working on and implement its attack: at that point I’ll have everything in place to start testing and improving combat in the game, and I can start making test areas to make sure all of the core gameplay works in a satisfying way.



Adventure Time 8-Bit by supajackie

Adventure Time feels like a very lonely place, and I don’t think that’s happenstance.

Adventure Time takes place in a world where everyone is unique. Everyone is created in some special way and shape, special made for the specific destiny of being themselves. Finn the Human is called Finn the Human because he’s the only one around – possibly the only one left in the world. Jake the Dog is, similarly, nearly the only dog we ever see – and the few others aren’t much like him, with his extraordinary powers. It’s that way for everyone, though: Everyone in the land of Ooo is one-of-a-kind.

Everyone is an island.

This feeling of isolation isn’t actually that unusual in children’s entertainment, though it isn’t usually quite this poignant. The people who created this stuff tended to be creative children who have since grown up, and creative children tend to be…


The cause and effect could go either way. Maybe they’re lonely so they become creative, maybe they’re creative so they live in the kingdoms of their mind. Probably both, playing against each other. Thus Where the Wild Things Are; thus The Binding of Isaac; thus Alice in Wonderland.

The inhabitants of Ooo all want to be closer, to find friendships and romance, but they’re usually too different to really ever be comfortable together. The most overt example is the relationship between Finn and the Flame Princess, who will literally destroy each other if they get too close, but it’s the same between everyone. Everyone stays alone.

They deal with this in different ways. PB devotes herself to work, to constructing a functional society and maintaining friends to keep her company, though with her authority she can never get very close to them. Marceline dedicates herself to art, to expressing herself and affirming her existence by codifying it into song. The Ice King is certain that if he just finds the right person, he won’t be lonely any more.

The secret is, it’s not really that unusual. We’re all unique, we’re all alone: Even at our most intimate with one another, we’re still cursed and constrained by our individuality. Loneliness is never something that completely goes away, just a sensation that grows and shrinks based on sensitivity and proximity. We’re humans just like Finn: We seek excitement, we seek companionship, we love our friends but usually don’t really understand them, and we’re lost in a society of people who are kind of like us, but not really the same.

But, if we must be alone, at least we can be alone together.


So apparently slow weeks with only moderate productivity are just kind of where I’m at right now. I’m comfortable blaming that on Summer, at least partially. At this point I’ve started settling with just getting a few frames of animation done a day – which wouldn’t be so bad except these are just frames of prototype animation, so each one only really counts as half a frame since I’ll have to redraw them all anyway.

Still, progress is progress. This comes with the territory of not really being able to work on a game full-time, even if the reasons for that are as much motivational as purely pragmatic. Sometimes I’ll find it easy to put in 4 hours of focused work each day, sometimes I’ll struggle to put in 30 minutes.

The main thing I did this week is prototyped the running turn animation. This one is a bit complex, so I don’t mind taking a while on it, and I like the overall motion of it though some of the specifics seem a bit jerky and weird still. This actually exemplifies an interesting issue though:


The current movement code for the entity has it generally either moving at full speed or standing completely still. Unlike the player character, there’s no acceleration or deceleration at play, it just snaps into action moving at full speed. However, the running turn animation above probably won’t make any sense under that model, since it will slide weirdly to the left while still picking itself up from the turn. This is a pretty good case study of how code and animation which each work perfectly well in isolation don’t work well together. I realized this would be a problem a while ago, and I figure it’s worth reworking the movement code a bit to get a more naturalistic in-game motion: I would have preferred to do so anyway, but this just gives me another incentive to do so.

This week I’ll probably be working on getting all these animations implemented, updating the movement code in the above-mentioned way, and maybe making left-facing versions of all of the existing right-facing animations. The above animation has some left-facing run frames, but they’re pretty rough since I just rearranged the layers so, for example, the arms are scaled incorrectly since they have some perspective depth. Making proper left frames isn’t too hard, but will unfortunately take a bit longer than just flipping the sprite and rearranging its layers.

We aren’t ourselves, really. Over our lives, a persona is constructed around us. For some of us, that role fits us well, and for others less so. Sometimes the gender doesn’t match. Sometimes we don’t really want the things we’re supposed to want, or we do want the things we’re not supposed to. We understand ourselves from a distance, like characters in a play: Our brains incapable of understanding themselves, create shadow selves, simplified symbol selves, and then assume that the shadow represents its source.

It’s a reassuring assumption. The secret we avoid telling ourselves is that we’re never really who we think we are.

The secret is we’re never really anyone at all, at least not the way we think of a person. We are a bundle of impulses, unbounded desires and dreams, crammed into the shape of a person by way of that symbolic characterization. What I’m saying is that the way we understand ourselves is the same as the ways we understand each other, and in all cases is a gross oversimplification of the actual processes of consciousness.

It’s something we don’t like to think about. It means we know even less than we thought we did.

Anyway. Our identity is like a shell. It is constructed around us by people telling us who we are. Sometimes we are the person telling us who we are and sometimes it’s a parent or a teacher or a friend. If we’re lucky, they get it right, or close to right, and this segment they add on to our identity shell fits us. Just as often it isn’t. And sometimes that’s a problem.

I don’t like grapefruit. I could probably learn to like it. If I ate a few grapefruits I’d probably learn to appreciate them. There’s no reason, though. I kind of like having a food I don’t like. This is an extraneous bit of identity which I don’t need, but I hang onto anyway for novelty’s sake. I don’t mind because I don’t think it’s hurting me, but plenty of people hold these same self-conceptions which end up hurting themselves or others. They don’t like rap music, they don’t like romantic comedies, they don’t like surrealism: These become self-justifying, part of who they are. Even if they don’t have the emotional reaction to those things that should underlie their dislike, they continue to dislike for disliking’s sake, because that’s who they believe they are.

It’s not uncommon for me to catch myself disliking something out of duty, because I believe I shouldn’t like it. I suspect many of you have done the same. Who does that impulse serve? Does it maybe keep you away from something you might otherwise like?

It’s a lifetime of work, making an identity that actually fits. Our minds change shape over our lives, we outgrow certain identities, certain loves and hates and ideals, but sometimes we neglect to change that identity shell, that perception of who we are, and it constrains us, and it chafes us, and it imprisons us.

You never really know who you are. You have to keep asking.

As long as the heart beats a person is a work in progress.


Another slow week, primarily working on animation stuff. Most of the animation work wasn’t very good either, but eh once I create it it becomes easier to make it good, so still progress.


Added turning animation to the walk cycle. This is definitely wrong in a couple of ways: Most obviously the limbs switch sides after the turn, which is just a product of the left-walking animation being just the right-walking animation flipped around. That’s an easy fix. A bit less obviously, both feet stay on the ground during the turn, which makes no sense and will definitely need to be fixed. That’s going to be a bit trickier, but should be feasible. In general I’m a bit displeased with the animation of the left arm in all of these: I’ve gotten used to Eve’s relatively motionless left arm, but these guys need to be a lot more expressive there, so that’s probably something I’ll be generally working on in the animations.

I also did the animation for transitioning between the alert and idle states:


I like this one a lot better. There’s a bit of weightlessness to it that doesn’t quite work, but I like that it jumps off the ground slightly to transition to the alert state, selling that the entity is startled (and meaning I probably don’t need to make a separate turning animation for when it’s alerted by something behind it). It also seems like the left leg is moving naturally both going into and out of the alert state, taking a little step to snap back where it should be. Even better, there’s a chance I may be able to reuse this animation, or a slight variation on it, as the jumping animation. I’ll test that out when I get to it.

The arguments against perfectionism are well-established at this point. It’s easy to spend forever trying to make something better, to improve it by repeated half-strides towards some theoretical optimum. It’s easy to get trapped in that mindset and thereby never end up making anything, to end up with inferior skills because you didn’t practice because you were too afraid to fail in your creation. And, in the end, this perfection you’re chasing doesn’t exist, it’s a symbol without a reality behind it, and you’re just charging at windmills that look like giants.

Okay, but: Let’s forget about all that. Let’s say that thing you’re making, that thing you’ve been working on and care so much about and that thing that’s going to really show people what you’re going for this time and maybe make them understand: If you could make that thing perfect, would you?

The obvious answer here is yes what are you stupid of course. However, that’s only because our understanding of ‘perfect’ as a term is that it’s synonymous with good – well, better than good: great, excellent, transcendent, etc. However, I think a more useful definition of the term is ‘flawless’, where whatever the role and shape this object serves it is constructed to serve it perfectly, and improving it in this aspect is impossible. Thus perfection only exists within the context of the role which is perfected.

Under this understanding of perfection, the question asked above seems less trivial and obvious. First, what would that perfection look like? What purpose would be more perfectly served by the new shape of your creation? Second, it becomes more apparent that making a creation more perfect in one context actually hampers its suitability towards other contexts. By improving in ways that you are overtly aware of, you may be making it worse in ways you haven’t noticed – or, perhaps more accurately, by making it more suitable towards the artistic context you are fully aware of you’ve made it less suitable towards a possible artistic context you’re less aware of.

All of this is very heady when stated in the above terms, but we see it happen all the time. Who among us creators have not set out to polish a rough-edged work and ended up with something that’s technically smoother and more approachable but bereft of the ‘soul’ which originally compelled us to work on it? Who hasn’t carefully edited out extraneous words and asides only to find that the text is now limp and lifeless, abrupt and devoid of personality? We have sought perfection, and in so doing found a perfection which excludes important secondary facets of our work we weren’t aware of.

In effect, the pursuit of perfection is counterproductive to the pursuit of art – not only for the earlier mentioned pragmatic reasons of endless striving towards an unattainable optimum, but because in order to be interesting art needs to have a certain degree of complexity. In order to say something profound, it’s necessary to touch on many points and aspects at once, to capture small details that don’t seem important but add up to something more than themselves. Contradictions aren’t necessarily bad, unanswered questions don’t always need to be answered. Striving for some perfection, some erasure of all the flaws of a work, is likely to erase some vital component of the work itself in the process.

I’m not arguing against revision, against polish, against hard work and dedication to making something as good as it can be. I am, however, arguing against a mindset that views this work as eradicating flaws, as perfecting something that is imperfect. Polishing and finishing a work is as much detailing as it is smoothing, a process of curating flaws rather than eliminating them wholesale. That process of curation, of editing, of emphasis and subtlety and consonance and dissonance, is the domain of the artist.

Once we understand that each work of art’s role is to be itself, we can see each of them as perfect in their own way, perfectly suited to being the work of art that they are. Alas, that doesn’t necessarily make them good.

Good art is so much more difficult than perfect art. Perhaps that’s why so many of us merely strive for perfection.


Well I got the general case solution working, and I got all of the code I’d already written for the entity behavior copied over to where it needs to be, and I built it all and it all runs more or less. So I guess now I’m on to debugging and improving it, creating more animations, and creating the alternate versions of this entity. It’s all a lot of work, but I knew it would be: The problem at this point is mostly just that it’s been real hot and I’ve been having trouble keeping my motivation going.

But, you know, my motivation has flagged plenty of times during this project, and it still keeps on chugging along. As long as I get a bit of work in every day, it will continue to move forward. Yes, I’d prefer to get in more than a little, but sometimes it’s going to be hard.

That’s just how it is.

So, this week will be mostly creating new animations to flesh out this entity, implementing them, and fidgeting with the code to make the behavior better and more naturalistic. Hopefully productivity will pick up, but even if it doesn’t progress will get made, just perhaps very slowly.

It’s been really hot, I don’t have air conditioning, and I feel like taking a break. Yes, I know this is ironic after last week’s post. My phone tells me it’s supposed to be like 10-20 degrees cooler this time next week so hopefully that will be conducive to writing something new and wonderful, as well as getting all the other crap I need to be working on done.

Here’s the now-customary consolation music. Amongst other things, establishing this tradition is helpful both for keeping me writing music and for ensuring that I don’t skip out on too many posts in a row.