Monthly Archives: September 2015


This was a fairly productive week. I finished all of the outstanding prototype animations for the enemy entity I’ve been working on and implemented them into the game, where they mostly look pretty good. The new idle animations definitely have a lot more character than the previous still frames.


I just started overhauling the way attack knockback works to make the results more consistent: Previously, the angle it pushed the target in would be based on the relative position of the two entities, which is occasionally the desired behavior but mostly just makes things weird and inconsistent when it comes to player melee attacks. If I left it that way, you’d be able to knock an enemy directly up into the sky by attacking from a low angle — kind of neat in the abstract, but in practice it looks goofy. Now, knockback is tied directly to the attack type, so a standard melee attack will always push opponents in the same direction by the same amount. Of course, I can still choose to intentionally do interesting things with the knockback angles, and currently the rising attacks have strong push in the upwards direction, with a corresponding downwards push for the falling attack. I don’t know if these will be interesting and useful in practice, but finding out will have to await playtesting.

Next up is to spend a bit of time testing and polishing this entity’s movement to make sure I’m satisfied with where it’s at, and once that’s done I can start in on the alternate versions. The first couple are pretty straightforward, and will only require minimal new animation and programming work: A throwing animation will be required for both, and all of the other animations will have to be tweaked to account for a different weapon for the other, but compared to some of the extra work that will be required by other variants this is very minimal. I think I can have at least one done by end of week, and the other well underway.

Feeling a bit stressed and overwhelmed at the moment. Trying to put solid hours in on this at the same time as I’m trying to get stuff done by end of month and making rent is taking a bit of a toll. Oh well, it’ll be fine in a week or two. I wasn’t sure if I would be able to get a piece done for yesterday and ended up with a pretty solid 1000 words, so I think I’ll be fine.


I’ve recently seen people complaining about the (admittedly trite) fiction writer statement about how a character’s behavior can come seemingly out of nowhere, like they’re coming to life and acting out a will of their own, completely taking the writer by surprise. It’s absurd, so the argument goes, to act like this is some magical process external to the writer themself, to act like what ends up on the page is anything other than the result of practice, craftsmanship, and work. While I actually agree with that, I see nothing there which contradicts the idea of being surprised by one’s own creation. That kind of surprise needn’t be the result of any mystical instillment of life, some kind of creation myth, but is completely understandable within the normal patterns of human thought.

First, even though a character is, by necessity, a part of the author’s own mind, that doesn’t mean that the author has full awareness of which parts of their mind went into that character. Our brains are a massive and complicated web of associations, so whenever we pull an idea into a character we pull other ideas in as well, making connections that we don’t consciously notice but lie latent in our brain. Second, though we lay all the groundwork of a story and its cast of characters, we often miss obvious and elegant places to make connections on our first pass, and these gaps, obvious and arcing electricity, very quickly jump out at us in the process of building out and improving upon a work. These surprises are no different than the other surprises of the creative process, and most creative processes are full of surprises: The way an accidental pencil mark becomes a scar becomes a war wound becomes a tragic past; the way a lie becomes a secret becomes a conspiracy.

To assume we can’t be surprised by our creations is to assume we can’t be surprised by ourselves. I don’t know about you, but I am frequently surprised by my own mind, the strange connections it makes, the stupid mistakes it overlooks, the illusion of understanding and completeness it represents to my consciousness while failing to capture huge amounts of relevant information. It’s far more mystical and egotistical, in this light, to suggest a writer could never be surprised by their own character than to suggest that it regularly happens.

Surprises like these emerge in all forms of art. ‘Happy accidents’ are a huge part of the creative process, and the ability to recognize them and use them to bolster the act of creation is one of the primary skills one learns as an artist. The texture of the paper becomes part of the picture, the noise in the recording becomes part of the song. With games, developers are frequently surprised by the weird and unexpected results that are generated by the systems they have created: This potential for the unexpected, for ’emergent gameplay’, is one of the most lauded aspects of the medium. Why, then, is it at all strange to see the creative processes of other media generate results that were unanticipated by the creator?


No the skull is good! It signifies change!

It’s different though, isn’t it? A novel may surprise the writer with the direction it takes, but once it takes that direction it is static, crystallized – published. A game, however, can be fed different inputs to create new surprises, to continually become the same engine of excitement and inspiration and discovery that the writer experiences as they create. Thus, we see a huge and fundamental difference between the art of the video game and that of traditional forms: Traditional art is created by simulating an imagined reality within the mind and crystallizing the result into a finished work, while game art is created by creating a simulation of reality external to the mind and giving it to the audience to produce their own results.

This is not to say that games are either a lesser or greater form, or even that they use completely dissimilar skill sets to earlier forms. The skill of appraising the output of an internal, imaginary simulation for interest and aesthetic quality is used to calibrate the external simulations of games, to ensure that they produce something interesting and worthwhile. The skill to understand and portray what is imagined is used to provide presentation and meaning to the otherwise abstract systems of games – creating, through models and textures, music and voiceover and supplementary text, a visual, aural, and historical world for the simulator to act within . These skills all act in concert, whether through an individual or team of hundreds, to produce an externalized system for the audience to experience.

Once an external simulation is created, we have then essentially created an engine for producing the same kinds of stories that were previously produced by imaginary simulations. Of course someone’s Minecraft playthrough is no match for a well-written novel in narrative quality, since it’s systemically constrained to a much smaller set of more predictable outcomes, but the story created is their own and belongs to no one but them. And, if they’re a sufficiently talented maestro or their experiences are especially outlandish, is it any wonder that other people are interested in seeing their story and hearing it told? Thus we have Let’s Plays, the personal stories of players created through the engine of gameplay, their story of their adventures in this simulated realm, told in real time. This is not exactly new – externalized narrative simulations existed long before video games and have been used as a creative engine by artists: Entire successful novel franchises have been built from pen and paper RPG campaigns and war games. Improv games have been used to train actors to shape a personal reality and then portray it to the audience. So we have writers honing their craft through games, actors honing their craft through games, and youtube personalities honing their craft through games, and each are players on their own stage. Even memoir could be viewed this way, as a record of a particular experience within an external system, though in that case the system is the world we occupy itself.

Thus, through their portrayal of their constructed realities, through the product of both their imaginary and external simulations, they create an art of communication and convey it to their audience: There, it takes root, and becomes the seeds of a new imaginary simulation, one which itself may some day be used to produce a work of art, or be codified into rules to become its own externalized simulation. And so the circle of art goes on.


And, as with most such circles, it starts with musical numbers and tragic death scenes


Well it’s not quite what I wanted to have done but I made a good little chunk of progress this week. I mostly focused on the test enemy entity like I was planning, fixing little bugs in the pathfinding and implementing prototype animations: It’s not done, but it’s definitely coming along, and it’s kind of fun just running back and forth with the entity in testing so that’s a good sign. This next week is probably going to be mostly about improving the prototype animations: I’m very dissatisfied with one of the two turning animations I created for this entity, and I think all of the idle animations could do with a little more motion, so I’m going to add some breathing and twitching to bring the entity to life. Not only should this make the entity seem much more lifelike, it will provide a stronger contrast with the unnaturally still idle pose of the player character.

I mean, everything that’s outstanding about the main character is only so in contrast to other characters. She’s supposed to be tall, but that’s reflected as much or more by the scale of other characters and the background as it is by her animations. And, by the same token, she’s supposed to be stoic and patient, which will only be reflected if other characters are notably less so. If I wasn’t concerned about this contrast I think most of the animations for these guys would be fine, but if I’m going to communicate info about the player character non-verbally I really do need to utilize every available channel of information. So that’s what I’ll be working on this week.

Something that’s been occurring to me frequently recently is that these test enemies are actually absurdly sophisticated for a standard enemy in a 2d platformer. When I compare them against the early enemies in a game like Castlevania, the difference is really apparent. In a raw design sense, I don’t know if it’s a good use of my time to put this much effort into one of the first enemies you encounter in the game, even if you do encounter different versions of them pretty much throughout. Compared to skeletons that shuffle back and forth and occasionally toss a bone, it seems a bit overwhelming to have to cope with enemies that are aware of you and if they see you will try to hunt you down near the beginning of the game. Yet, in non-2d-platformers, in FPS games and the like, sophisticated enemy behavior like that is common even early on, so maybe it won’t be a problem.

I do feel a bit jealous, though, of games where the theming makes it easy to make the early enemies things like little crawling spiky aliens or shuffling skeletons, things with very simple movement patterns where it doesn’t seem stupid or absurd for them to be so simple. When something looks like a person, we have certain expectations for how it behaves. Or maybe those expectations are just my problem, my ambition, making things difficult for me.

Well, whatever. I can always make their behavior simpler later if it turns out to be necessary: In the meanwhile, if these more complex behaviors do work, they’ll provide an experience quite a bit different than most other platformers. Seems worth a try to me – at least, it does now that I’ve already put in like 90% of the work.


I uninstalled Team Fortress 2 about two weeks ago now. Not for the first time, and it remains to be seen if it will be the last – though my past history with multiplayer games suggests it won’t be. At one point, many years ago when I was compulsively playing the absurdly action-packed shooter GunZ (yes that is an actual title of an actual video game), I was in the habit of deleting the game each day and reinstalling it the next: This is less pragmatic with Team Fortress 2, weighing in at 12+ gigs of data, but I suppose still quite possible with a decent connection.

I uninstalled it because I knew I’d keep playing it even though I wasn’t enjoying it any more. Past a certain point, playing the game stops being a decision you make and just becomes part of your day, like brushing your teeth or taking a shower. The things we do have a habit of becoming the things we are, the activities we define ourselves by, that identity sometimes long outliving the actual activity. It got to the point where I kept playing, whether or not I enjoyed the experience or found it rewarding, just as a thing to do. I can still imagine myself playing, going through the intricate motions and outguessing and scoring the points and winning the rounds, and feel nothing. So maybe it’s time to move on. It’s time, at least, to take a break, so I can make a decision about what to do with my time rather than letting habit make the decision for me.

Quitting a game you’ve been playing more or less constantly, several hours a day, for the last few years, is difficult. I find myself not knowing what to do a lot of the time, and so I do very little. I try to find other games to play, but it’s difficult. I try to channel that time and energy into productive pursuits, only to find that this time and energy seems to be keyed exclusively towards idle and wasteful pursuits rather than something beneficial. It turns out that just removing a source of distraction and hoping that will be enough to create work is not an especially effective approach. Who knew?

It helps if I don’t think about this as some kind of self-improvement, though. It’s not about trying to be more effective, more streamlined, whatever. It’s not about optimizing. It’s not about perfecting myself, or putting away childish things, or making the most of every moment. It’s just about moving away from a piece of my life that I no longer feel connected to. You know, everywhere we go, we shed flakes of dead skin behind us. And, like that, we shed bits of who we used to be, the things we used to do, the people we used to know. Only weirdos get upset about it and try to keep jars of dead skin flakes around, so if the shoe doesn’t fit any more I guess I’m just going to stop wearing it.

But I guess I’m a weirdo. It’s hard for me to let go. Until that skin grows back it leaves a raw spot. So I get to wait and see what comes next, after I stop burning all my time playing the same game.

Or maybe I’ll just end up installing the damn thing again. We’ll see.


This week I mostly worked on getting the damn enemy entity navigation working properly, and a bit on creating a jump animation prototype for it as I went. Though it involved an awful lot of just staring at the same sections of code over and over again, I finally got it so the entity jump projection works, well, mostly properly. It looks kind of weird for some of the test scenarios, but I think will look nicer when all the animations are in place to cover some transitions and when the jump angles are a bit less weird and extreme.

There are a few prototype animations that need to be implemented, and several more that need to be created. Enemy entities being stunned and knocked back by player attacks is something that still needs some work, though they do at least properly take and deal damage now. Once I get that functionality in place I need to spend a while testing this entity out in different situations to make sure it behaves as expected, and once that’s done I can both expand it to make alternate versions and start slotting the final features of the player character into place — which will be neat, because then I can finally start making finalized animations and effects for the player.

So by the end of this week I want to have the basic version of this entity done: Proper navigation, proper combat interaction, and all prototype animations in place. This isn’t unmanageably ambitious, but will require me working a bit more consistently than I have been for a while. For a month or two I’ve been having a hard time maintaining motivation on this project: It often feels like what I’m trying to make won’t necessarily be of interest to anyone besides myself, or that I’ll bog down forever on some part of the project and never ever actually finish, that this will become one of those someday projects that one keeps looking dreamily toward and never quite reaches. And there’s no way to know for sure that it won’t be, or that anyone will care once I do finish it. But, you know, that’s true of everything. There’s no telling which roads lead somewhere worth being. So: Whatever. It’s a direction. It’s better than staying in place. I should just try to go faster, because it would suck to get there and find out the party has moved on without me.

Anyway, enough extended metaphor. Back to work.


Every aspect of a game communicates something about the overall experience of the game. It’s very easy, and very common, for these signals to be confusing and conflicted: Yet it’s hard to say definitively that these conflicts are flaws or problems, since it’s impossible for an artist to completely account for whatever colloquial associations attach themselves to components of their work.

Shovel Knight is a lovingly crafted homage to the aesthetic of 8-bit NES games such as the Megaman and Castlevania series. The art and music take certain liberties with this, but in very careful and considered ways. This creates a certain set of expectations of the gameplay, that it would be similar to these older titles – which, in generalities, is true, but in specifics will frequently lead the player astray.

For instance, due to technical limitations NES games rarely tracked objects that were off-screen, instead deleting them as soon as they were no longer visible. Even for games where this wasn’t the case, in virtually all instances once a player left a room and came back it would be reset to its default state. Shovel Knight pays homage to these conventions with certain enemies and objects, but not with others: It takes what was a technologically enforced rule of game design and turns it into a suggestion. Some enemies track while off-screen while others don’t. Some blocks will, once destroyed, stay destroyed, while others will reset if you leave the room and come back. There’s no consistency in deciding which is which beyond what will be most difficult – and frequently frustrating – to the player, while not leaving a level impossible to complete.

I don’t mean to portray this game as bad or incompetently made, but the choices made in regard to its gameplay design lack much of the strong and decisive sense brought to its sound and visual design. It’s possible to jump over the top of the screen onto the ceiling of a level, ala Super Mario Bros, in some areas but not in others, with no visible difference between areas where it’s possible and areas where it’s not. Enemy and prop movement timing is based on character proximity, and how long they stay in place is based on arbitrary timers rather than simple and understandable movement patterns. Your character has a different model of acceleration depending on whether he’s on the ground or jumping, something that was, as far as I can recall, unheard of in NES games: Some, like Castlevania, had no air movement at all, some were slippery all the time like Super Mario Bros, and some were inertia-less on/off directional controls like Megaman, but none had a character slide around on the ground while having accurate control in the air. In fact, the only game I can think of with similar controls was Super Meat Boy, a decidedly non-8-bit platformer. While these aren’t exactly flaws, strictly speaking, they are mechanical contrivances that go directly against the message invoked by the game’s aesthetic, telling us that this is supposed to be like a classic NES game.


The worst aspect of the game is its money system. Each source of money in a level is set to only drop it once, the first time you pick it up – tracking all these individual money drops a truly blatant undermining of the NES aesthetic – so that you can’t get extra money by redoing a section of level over and over again. Money is made to be important, because the main punishment for death is that you drop about a quarter of the money you’re holding. Except you don’t lose it permanently, that money scatters around where you died in floating sacks of cash. There are so many problems with this: First, the sacks of cash don’t disperse in any consistent way, so based on the whim of the game you can either easily retrieve your lost funds or find them completely impossible to reach. Second, it means that the best case scenario is that there’s no extra punishment for death beyond having to do the section you were already doing, and the worst case scenario is that you got screwed over by the game’s random number generator. So the game is simultaneously telling us money is super important, but it’s not, but it is, but we shouldn’t be too upset if it’s just impossible to recover, but we should definitely try to recover it. It’s a mess: Someone saw Dark Souls and thought its penalties for death seemed cool, but watered those down and mixed them into a context where they were frustrating and served no clear gameplay purpose.

Here’s the thing though: If you ignore all that garbage (which I guess must be easy since apparently no one besides me was bothered by it in the first place), it’s a pretty good game. The graphics and music are beautiful, assuming you like pixels and chiptunes, the core gameplay is enjoyable, and each level has some interesting twist which is cleverly tutorialized through the level’s structure. It’s just that, for anyone looking for logic and consistency, and especially the sort of technologically-enforced straightforwardness that classic 8-bit NES typified, it is going to be a somewhat frustrating experience.

Still, I’d recommend it to anyone who likes 2d platforms and jumping on them.


Spent this week getting a basic ranged attack working, which turned out to be difficult in surprising ways. For some reason only one attack could exist at a time, others just disappeared – I eventually figured out this was happening because they weren’t being initiated properly and ended up either falling out of the level or colliding with the environment and being instantly destroyed, but I still have no idea why it was letting through one attack at a time instead of destroying all of them. Computers, man.

There’s still a lot of work to be done on the ranged attack: The player animations for it aren’t created yet, so they just pop out with no warning, and in fact those animations rely on creating a couple of other animations so that whole thing has a ways to go. Also, the projectile itself is just a little red square at the moment, which is also obviously not what I’m going to want for the final product. I’m not going to tackle the finer points of the projectile attack quite yet, though, because I think getting the pathfinding and other enemy behavior working more accurately is a higher priority. I just spent a little while trying to get the enemy jumps more accurate so they don’t miss ledges so much, but it still leaves a lot to be desired.

I’ve also pretty much decided I need to stick to the every-day work schedule. I don’t need to do a lot each day, but I think it’s hugely helpful to have this standard for myself because it keeps my mind in the project, always thinking about what comes next and how to approach it. Working daily, even if I only end up putting in 10 minutes some days, means that when I put the time in I have a better idea of where to start and what to do. Working harder for fewer days was a nice idea while it lasted, but I think I just don’t have the discipline yet. Maybe next year.