Monthly Archives: March 2015


I started off the week by working on a simple lighting system. This turned out to be a lot easier than I expected it to be – I’m currently not bothering with making the lights get occluded by anything, so really it’s just a set of methods for creating a dark, possibly textured, surface, and poking gradient holes in it to let bits of the level show through. Hell, it’s so short and simple, here’s the entire thing. The biggest problem I’m running into is just that in order to make this look decent I need to set it as a blend layer (usually add or multiply), and non-standard blend modes tend to be pretty slow in Flash/AIR so it’s potentially a big source of slowdown. On the plus side, it shouldn’t be much slower with lots of lights on the same layer than it is with just one or two, so it’s at least very up-front about its performance costs. In terms of how I’m likely to use it in the game, I’m trying to decide whether I should make an editor for this or just create a set of simple light-controlling behaviors and just push those entities into any level that requires non-standard lighting. Probably the latter, since it’s less work and just as much control. Adding occlusion is also a possibility for the future, but I’m not sure how much that would add and I’m not sure how I’d want to approach it (just occluded by level tiles? By static details? By animated particle effects?)

I also optimized the level drawing cache – probably a less dire necessity now than it was before, but still probably important for the general performance of the game.

Most importantly, I made a big decision this week: Fairly early on in this project, I declared that I wanted this whole thing to be in 1080p. Why? Well, that’s what I’ve been wondering. I mean, that’s generally The Resolution games are made to run at nowadays, but in all honesty I see a lot of games where the developer just wasn’t up to making the art look good at that high of a resolution. It looks too smoothed and gradiated, bereft of texture: The higher resolution just makes the flaws more visible, and trying to conceal them just drains the character from the art. I’m not trying to put anyone down here, I’m just saying that, frankly, it’s hard. And, for me, struggling to keep the frame rate up, I don’t think it’s worth it. I think I can do this better, better looking and better performing, if I cut the resolution down. So I’m going to be developing this game in 960×540, which you might notice is half of 1920×1080 – well, a quarter of the size, but half along each dimension – you know what I mean. Anyway, this will let it scale up nicely on 1080p systems, while still maintaining the distinctive tooth and character of pixel art. This will also allow me to maintain a lot more control over my art, something I was concerned about, especially as a beginner to this scope of project – and, moreover, it will allow me to create more interesting per-pixel effects, since individual pixels will be a far more significant presence on the screen.

While all of the core game code was written to be resolution independent, a lot of the UI stuff for level editors and other tools wasn’t. Today I went through and fixed most of that, but there’s still inevitably bugs to clean up and a few spots I missed. So over the next week I’ll be fixing those up, tackling some other bugs I’ve had sitting around, constructing the behaviors and entities to work with the light system, and maybe do some more work on the game enemies. It’s also apparently time to familiarize myself with some pixel art programs, so I’ll be working on that as well. It feels nice to make a decision that reduces the scope of the game for once, especially since it will also, I believe, make it more appealing in many ways. Everything feels a bit more doable now.




I understand feeling threatened by criticism. I mean, at the point where you’ve invested enough of yourself into something to really care about it – and that’s what art asks of us, that we care – that you spend time thinking about it, wondering what each aspect of it indicates, trying to figure out what might have happened before or after, seeking to understand what the artist was trying to communicate, once you pour that much of yourself into appreciating something, it becomes a part of you. To a certain extent, criticism of the work is inseparable from criticism of the audience, and sometimes it is, implicitly, incredibly harsh criticism.

It’s a kindness, then, to frame your criticism in a way which makes it easy to take, as not a direct assault on the identity of anyone who found it in their heart to love a piece of art. Make your criticisms specific, targeted at flaws, rather than denigrating the entire worth of the piece. Speak from your experience, of where the piece and you lost contact and where it failed to engage you, as a friend who parted ways rather than a nemesis to be hunted down. if possible, try to find a way it did reach you, or almost reach you, and explain why it failed at the last moment to fully realize that connection.

None of this is required. You can loathe a piece all you wish, and you can say so, and you can tick off its manifold inconsistencies and flaws, and you can speculate about what sort of cretinous mind could possibly concoct such drivel. You can do all that if you like. I’m not saying you can’t. I’m not saying it isn’t fun to rip something apart. But it is cruel – perhaps to the artist, but artists volunteer for that pain to some degree through the act of creation. It’s not a good enough excuse, but it’s something. Primarily, though, to the audience, the fans, who have assimilated the story as part of their identity.

We’re all made of stories. Don’t laugh just because you think a story someone feels is important seems stupid to you. You might be missing something – if not about the story itself, than about some thread in the heart of the person who loves it, some facet of history that ties them to a story inseparably.

Be kind to art, and maybe it will be kind to you.


Lots of distractions this week, but I got a good start in on designing all of the enemies for the game. At current count, there’s 27 standard enemy types, 4 ‘mini-boss’ enemies, and 4 real bosses. I’ll probably cut a few standard enemies and maybe a mini-boss at some point, but I want to make sure I won’t regret it before I do so. Out of those, I have the write-ups for 10/27 standard enemies and one boss done, with the boss writeup being approximately as long and complex as the 10 standard enemies put together. I haven’t sketched any of these enemies out yet, so that might be a good thing to try to get done over the next week or two.

Anyway, as things stand now that’s pretty much all of the enemies needed for the first chapter of the game, so I may end up tabling the rest of the write-ups for later. I’ll probably spend a bit of time working on the existing enemy to make it work a bit better, and then start outlining the next enemy, which will be a much more complex, important, and commonplace enemy in the game itself. If that gets overwhelming, I may also start playing around with implementing a simple lighting system, which is something that’s been on my to-do list for a long time.


There are certain common threads that run through stories about violence. Violence has consequences – this is almost the very definition of violence. When you forcibly enact your will upon the world, things change, and often not in the ways you expected or desired. That permanence of violence, a permanence which outlasts any intent and causes unforeseen consequences to echo after its passage, is its most distinguishing characteristic – which is probably why, despite studies suggesting that the most harmful influence on young children comes from justified violence with minimal consequences, that that kind of milquetoast ‘good-guy’ violence is still the most commonly portrayed in media for youth. It may be a lie, and a dangerous one, but it feels safer because it is insulated from the honesty of violence, is violence with all of the blood and tears drained out. We need our bad guys and our good guys, and we need the good guys to stop the bad guys, and maybe it’s a failure of creativity but the solution is always to fight some kind of just war where no one is hurt. There aren’t really any just wars, just wars; and there are definitely no wars where no one gets hurt. This same kind of lie is popular in games, and has been all along, but has become more and more noticeable since the advent of recorded voice lines. We want to create enemies just human enough to be hated, but not so human that you feel bad for murdering them.

For most of last week I was awash in fictional blood. I played through Hotline Miami 2, and about halfway through that experience I went to see a stage production of Sweeney Todd, and something clicked there, a connection between disparate works snapped into place, the blood and the music pulsing under it, describing an arc of savage and hungry beauty. There’s meaning to the narrative, there’s ideas crawling on the surface, but there’s also the bloodlust itself, the Grand Guignol, the pure aesthetic of violence and shrieking sound.

So: Consequences. Revenge against those who have wronged us and then revenge against us for wronging those who have wronged us, echoing back and forth until it fades away, its memetic virus killing hosts faster than it can spread, or reaches an awful crescendo, a nuclear chain reaction, and destroys everything. Sweeney and Turpin destroying each other and everyone around them, the mob boss mowing down swathes of rivals in aimless vengeance, consequence outlasting intent by the echo chamber of revenge. Imitation as well, innocence becoming violence by learning it as the shape of power and respectability, the fans kill because Jacket killed, Toby kills because Sweeney killed – in this way, as well, violence reproduces and outlives intent. This is the story we tell when we talk about violence. The world twists off its axis, doomsday lurks around every corner, final judgment deferred moment by moment until its deferment run out, and those who live by the sword die by the sword, and when everyone starts living by the sword that is how everyone dies.

Maybe this isn’t a more honest perspective on violence than others – that which holds it to be hard and sad but necessary work, or to be naturally repugnant in every way but a behavior reinforced by the twisted incentives of a dying society – but it’s a perspective that at least looks at violence directly, as a force unto itself, rather than using humans as target practice and plot device without ever looking back at the trail of blood left behind.


I’m feeling a bit overwhelmed. Once in a while I realize that some part of this project is going to be a lot more work than I’d really considered, and I’m getting that feeling thinking about creating the different enemy types in the game. Like, all of the care I’ve been taking to make sure the player character moves just right, in the most intuitive and satisfying way, and interacts with the levels just right – I pretty much need to do all of that for each enemy type I add to the game, make each distinct and discrete and recognizable. It’s kind of a big deal.

So I think a big part of what I need to do over the next couple weeks is start designing enemies in-depth: Like, not just basically what they’ll look like and what attacks they have, but concept sketches and pseudo-code directives so I know exactly what each one is going to be like and hopefully have a leg up on developing them in the code itself.

Other than that it’s been kind of a lot of little things this week. I sketched out the first area of the game in the level builder, and decided that the tile editor needed a few more features, so I added a clickable mini-map to help with navigation, a flood-fill tool, and the ability to flip chunks of level horizontally/vertically or to invert sections. In building out the level I found a few more situations where the collision detection breaks, so that’s something I’m going to have to figure out at some point here, but I really wanted to get away from the collision stuff for a bit just because it’s fucking terrible for my morale to work on the same relatively small section of code for weeks on end.

I’m currently working on the first, and likely simplest, test enemy now, which is a bit finicky and frustrating but is also, you know, kind of important. While all of the other enemies in the game will probably be more complex than this first one, just knowing what kind of groundwork I’ll have to lay to make a new enemy should be a big relief. Just not knowing the approximate dimensions of a task makes it way more intimidating and difficult to feel motivated to tackle – that’s a big reason of why I want to start planning out all the enemies in detail now, so that when it comes time to implement them I don’t feel lost.

Anyway, not a great week, not a bad week, just a week. I think that as I understand a bit better what all I’m working on next and how I want to work on it, I should be able to pick up some momentum.




I’ve been playing around with the Source Filmmaker animation tool a bit; it’s a strange experience. We spend so much time crafting illusory people, characters constructed piece by piece out of textures and polygons and recorded lines of dialogue, and at the best of times we are genuinely emotionally affected by the experience. You know, art. And yet, we can so easily strip all that away, and give you the same characters, the same lines of dialogue, like digital dolls, for you to play with as you choose. While I supposed the same is kind of true of other media, in that we can create fan-fiction and fan-art that creatively interprets and repurposes our favorite characters, there’s a big difference between creating fan-works echoing your understanding of a character and being given the exact mold that character was created from. It’s a bit unsettling, like being given an actual person as a doll, and that strangeness only increases as ever more sophisticated and high-poly models crawl out of the uncanny valley.

At the same time, there’s this ongoing discussion of how video games can abstract and objectify their characters, with a particular but not exclusive focus on the sexual objectification of female characters. Objectification in games is kind of a weird subject, because in so many ways the characters who populate games literally are objects. In terms of presentation, they’re a collection of polygons and textures and dialogue; in terms of programming, they’re a collection of coordinates and behaviors and states, usually connected together into a construct which is actually called an object in most programming languages. In terms of game design, they usually function as either a book with an accompanying audio recording or a vending machine – in every available and obvious sense, they are an object.

But we try to make them more. Sometimes. It’s never easy. Let’s be honest: It’s incredibly difficult to learn how to see other humans as truly human, to see them as not merely their religion or their ethnicity or their body or even their history or skill-set but as another living consciousness like our own selves. Though sexual objectification is the most commonly understood and railed against form of objectification, we dehumanize others daily by hastily generalizing them into narrowly defined narrative roles. The kind of objectification which lets us view women as existing for our pleasure is not fundamentally different from the kinds of demonization that allow us to view certain nations as existing solely for our displeasure. It’s a simplification, a cognitive cost-cutting measure, that reduces other human lives solely to the role they play in our own naive daily narrative.


Make no mistake, if this so-called ‘Candy Man’ were literally made of candy, those children would be devouring him where he stands

However, it’s not entirely fair or accurate to describe objectification in wholly pathological terms. Breaking the world down into understandable symbols is a necessary step for our coming to understand and interact with it, and information will always be lost in that transition. We never completely understand one another as human beings, merely build up an increasingly sophisticated network of interrelated symbols to represent each other. Objectification is a matter of degree and of attitude, not an on/off switch. It’s also worth mentioning the inverse of objectification, anthropomorphization, where we start to understand and relate to something that is physically an object as though it were another human being. The fundamental question is, when faced with a behavior from the given object or creature, do you attribute that behavior to intelligence and will, or to their unalterable and foundational nature?

Even as it’s obvious we can’t understand each other as wholly human, it’s rare that we completely relate to each other as objects as well, no matter how weird and abstract the interaction. Even as we treat a person as sexual object, in fantasy or discussion, their particular and unique properties as a person are what make them interesting as sexual objects – and, even as we develop fetishes for objects and pieces of clothing, those fetishes are formed out of the cloth of our history and connect us personally to something, however fuzzy and distantly understood. These two concepts always exist in our mind, no matter what we’re thinking about: Other-as-agent, intelligent and willful, and Other-as-object, something to be utilized or discarded based on its inherent usefulness. In many ways, the problem with regarding one another as objects is not so much the fundamental incorrectness of this viewpoint, but in our belief that all objects are for sale, all objects can be owned and controlled. This belief is what makes objectification inherently diminishing, that makes the not-me something lesser, a possession, a trophy. Not everything is made to be owned, colonized, exploited, and the fact that we forget that so often in regard to our fellow humans follows naturally from how readily we’ve forgotten it in regard to the world we live in.

Artists have an uphill battle, then, in using objects to emulate humanity – or at least they should. In practice, in modern culture, we are so primed towards media consumption that we find it easier, sometimes, to understand the actor on our screen as a person with their own motivations and goals than we do in seeing our waiter or garbageman or camgirl as the same. Though we know that one is a character and the other real, we have learned to engage the character as a human and the person as a utility. I mean, this sounds controversial, but these are literally their jobs: The actor’s job is to emulate another person and put their struggles on-screen so eloquently you feel for them, and the service-person’s job is to do whatever is required of them quickly and competently and pleasantly, like a machine. We engage the object as person and the person as object. Thus, the arc of art: A person creates an object meant to be related to as a person, a deeply personal connection created through the dry conduit of a deeply impersonal medium. This is all the more challenging in game design, since our objects are that much objectier.


“Mr. Treehorn treats objects like women, man!”

It’s dangerously easy to forget how much we’re abstracting when we create characters, especially game characters. In effect, a character becomes a stat sheet: Some numbers are high and some are low, and this tells us everything about the character, how capable they are, and how they behave when simulated or stimulated, their preferences and their biases all broken down into a digital statistic set which is run through a parser which creates the behavior. This is several layers of abstraction away from humanity: First, breaking our understanding of a human down into a set of symbolic attributes, into their physical strength and their intelligence, health and friendliness and race and height and so forth. These concepts are not neutral: We value certain forms of strength above others, and the same for other aptitudes and quirks: Merely giving any one of these a name and definition is a cultural-political statement. If we fail to even see colors that we don’t have names for, how can we possibly understand beliefs and attitudes and strengths and weaknesses which we have yet to name?

So what is it we talk about when we talk about intelligence? What is it we talk about when we talk about beauty? When I say a dog is intelligent, I mean that she ‘understands’ what I want from her and is, moreover, willing and able to perform to expectation. A dog who’s intelligent enough to ignore her owner in pursuit of her own interests is not considered intelligent by most humans. With that in mind, does it mean anything substantially different when we say a human is intelligent? Either way, we are quantifying their ability to perform to a certain expectation: Forms of aptitude not constrained within this expectation are disregarded, or never noticed at all. In other words, while ‘intelligence’ is what we like to call problem solving ability, what we consider to be problems, and what we consider to be solutions to those problems, will vary from person to person, culture to culture, moment to moment. Thus, not only is the measurement of intelligence via testing suspect, the entire concept of intelligence is suspect on the same premise. Intelligence, like beauty, is in the eye of the beholder, and its shape is a manifestation of our individual experience and our culture.

So after we break down the simulated human that is a character into these different strengths and weaknesses, we then further abstract these concepts into data that can be parsed by a computer. This is, again, not a neutral act: How data is broken down and stored, and which data is stored, changes its meaning and usage. A game that tracks a character’s lineage through 100 generations is very different than a game that tracks the strength of each group of muscles on the character’s body – well, unless that game is Dwarf Fortress. Most games don’t even track that much – in most games, a character is basically the sum of their model and their recorded lines, the quests they give and occasionally some kind of special ability. We still overwhelmingly communicate character through the tools of film and literature, rather than by actually modeling their behavior. There’s lots of reasons for this, but prime amongst them is most likely just that players aren’t primed to notice how a character behaves and understand it to emerge from the character’s persona. When a player sees an AI-controlled character behaving strangely, they’re much more likely to think ‘buggy’ or ‘cheating’ than panicked or confused.

This is unfortunate, because we could do so much with characterization in games. Though I don’t think the tools of film or literature will ever fade from primacy in game storytelling – sometimes it’s vital to communicate understanding of a character by putting them into a very particular situation in a very specific way, and abandoning the ability to do that won’t serve anyone – by ignoring the other channels we could be communicating through we’re hollowing out our portrayal of a character. While a movie can provide a ‘portrait’ of a character, as they behave under specific circumstances and influences, we can provide a ‘sculpture’ and demonstrate how they behave as those circumstances shift and flux dynamically, an actor improvising her lines as the play changes and melts away, wholly becoming her character. Still, perhaps, less complete an understanding than we can ever have of a real person, but more and more robust than we could create through any past media.

It’s an open question how convincing we can make these ‘sculptures’ though. Certainly we can model certain AI quirks through programming, make them likely to perform a certain technique or make the same rash decision, but eventually the player will see through those, and eventually the canned lines will dry up, and the character who was so full of life at first will begin once more to be a mere automaton. This is a problem which, for the foreseeable future, is only potentially resolvable through multiplayer. Most games use multiplayer as a battle of wits, but the potential is there to make as all actors, players in theatrical play, understanding and working to manifest the character we have been given. The barriers between the current state of gaming and this kind of play are, at this point, primarily cultural rather than technical. Players are used to playing a role in the tactical sense, but not in the sense of character – and, since it’s difficult to enforce something as nebulous as being ‘in character’ (this would lead us back to the same problem of quantifying characteristics as before), players would have to operate solely off of the honor and reputation systems to ensure a satisfying experience.

The boundary between human and object defines the line along which art lies, and our parallel perception of the two will only get stranger and more abstract as the population grows, our ability to connect becomes more distant and mediated by technology, and our simulacra of humans become more sophisticated and realistic. Divisions which were once clear, who was part of or apart from our tribe, what was a tool and what was a person, a servant or slave, a pet or a friend or a pocket calculator, all of these are fading into the distance as we speak, eroded by technology and technique. It may be difficult, as we progress, to continue to be able to see through the intervening layers, veils of technology, and find another human being behind that – but, for the sake of our common happiness and humanity, it may also be vital that we learn to do so.


And I, for one, welcome our new robotic and occasionally vaguely squid-like overlords.


Man. I hate writing updates after bad weeks where I don’t get much done. Still, it’s part of the job, and it helps keep me honest. Better to write the unpleasant update than to fail to write the unpleasant update. That would feel even worse.

So okay, more tweaks to character movement and associated code. Biggest change is a slight change to the slope-slidey animations to make them look more natural near the top of the slope, plus the ability to run up the last bit of a slope if you’re close enough that it looks like the character should be able to just take a little step to get on top. That stuff feels pretty good. Unfortunately, in the process of testing all that out i found a bug in the normal character/cliff interaction that I haven’t been able to figure out. She behaves perfectly against cliffs on her left side, pushing up if she’s close to landing on them and snapping to the surface when she gets close enough, but the cliffs on the right side behave poorly, pushing her downwards instead of upwards and generally not working quite right. I think this is a glitch with the ground tracking, but I’m having a hard time figuring out how it’s happening, since the character isn’t even supposed to be tracking ground when that’s happening. That’s frustrating, and honestly my problems with this are probably contributing to the funk I find myself in. The best solution is probably to note the problem down for later and move on.

Easier said than done. I don’t like ignoring problems which I know are there. Still, all I need to do is get to a place where I care more about a new problem than an old one and I can move along.

Oh, I’ve also found a problem in collision detection between the character and vertically moving platforms (silly me, all of my test platforms were horizontal). This is probably a higher priority fix, and I don’t feel like it should be that hard to tackle, if I can just get my head in the game. Bleh.

Anyway, I’ll probably try to do some parallel productive part of the project for a while if I can’t settle my brain on this. Maybe I’ll start sketching the first few areas on graph paper, or make some more prototype animations, or start making some test enemies like I keep saying I will. Probably anything is better than hammering my head on the same section of code over and over again.