Archive

Life in the Machine

After last weeks piece I spent a while thinking about the weird aching sensation I described being left with after playing What Remains of Edith Finch. It took me a while to figure out why it seemed so familiar about it, but also so unlike the emotions we generally associate with death – you know, fear, existential angst, that good stuff. Eventually I recognized that sensation as one that I feel quite frequently in a much milder form: Nostalgia. Nostalgia is actually something I’ve had on my mind a lot lately, which perhaps primed me to react to the game in this way.

I’ve been thinking about what we mean when we talk about nostalgia, and the parts of our relationship with the past that turn septic and poison us. The word ‘nostalgia’ was originally coined to diagnose acute homesickness – so acute it was described as a cause of death in soldiers abroad. Nowadays we use it to describe a yearning to return to the past, or at least to access some part of it in some way. I don’t know that I, personally, actually desire any sort of return to the past, though – is it possible to yearn for something without actually desiring it? We feel the loss of things that we’re better off without very acutely sometimes. Toxic friendships, depressive binges, dangerous situations, these sometimes have a way of taking on a rosy glow afterwards. When we leave somewhere, whether a palace or a prison, we always leave bits of ourselves behind. It’s hard not to scratch that phantom limb sometimes, not to miss what we had – or what had us.

So that’s what I felt from Edith Finch, and the overriding sensation I get when I think about death and loss: A sensation that things are being lost forever and will never be recovered. Priceless first editions burned. Childhood homes torn down. A dead person leaves a hole in the lives of those who knew them, and it’s not a fear of mortality that makes that hurt, just a sensation that pieces of the world are constantly falling away, out of our reach, and that this trend will continue until we too fall out of reach.

It’s a painful thing to contemplate. Most people avoid doing so. The yearning for these lost pieces is bittersweet, though – even more so when we acknowledge that the things we yearn for were never really quite the way we remember them. When I say that I think about nostalgia a lot, it’s because a large part of the games industry is built on it. Everyone who’s played games for a long time has fond memories, and though many of those memories weren’t really about the games, usually, but about time spent with friends, long Summer nights, carefree days before money woes and health issues, people pretend it was just the games. It’s a nice thing to pretend, because the games are still here. The games can be remade, remastered, replayed: The days cannot.

All this is fine, as long as it’s just a stimulus you feed yourself to remind yourself of the past and enjoy a taste of that sweet yearning. What’s not fine is convincing yourself that these games were your past, that they don’t make them like they used to any more, that your nostalgia was an accurate recall of an experience solely provided by a piece of media, rather than a complex melange of memories and experiences being mediated through a particular work of art. Only a tiny part of those memories came from that cartridge, and it’s terribly sad that many people try so hard convince themselves that those days were contained entirely in that gray plastic box.

The precious part of nostalgia is that it is insatiable. The yearning is impossible to really feed, so it leads us to dream impossible dreams. We want to rebuild empires that never existed, relive lives we never lived, revisit art that was never created. Once in a while I’ll feel nostalgic over a dream – I’ve had many dreams of strange houses, versions of houses I’ve lived in with extra rooms or trees growing through them or, sometimes, less pleasantly, rotted walls and collapsing staircases. I had a recurring dream as a child of wandering somewhere, a field or a beach, and finding a (presumably) magic gauntlet that was the color and pattern of light refracted onto the bottom of a swimming pool. I dream of towers of interconnected white plates suspended in the sky, of familiar places grown strange and new – my point is not that my dreams are especially interesting or amazing, but that the feelings and images my memories instill in me, whether those memories are factual or not, provide the bones to carve my art out of –

But only as long as I acknowledge, with all my heart, that the past is the past. I cannot go back, just try to learn and be inspired by that past to try to shape a future. I can yearn for these things without desiring them – and yet the thought that I can make some version of them, create some sensation of the vast dream inside me within other people, keeps me creating.

What I want, as an artist, is for you someday to feel some part of what I feel now. I can’t tell yet if that’s selfishness or selflessness.

Advertisements

I’ve been procrastinating on writing this post, since it’s always galling to admit this: Very Little progress has been made on the project over the last month.

This is not to say I haven’t been working on it – though between a week-long trip and focusing on more immediate work to pay rent I have perhaps not been working as much on it as I ought to. The issue is more that most of the work I’ve been doing has involved slowly revising the code base to work in OpenFL, which really doesn’t give me a lot to show.

It can be discouraging sometimes when the project is in this state. In general I kind of enjoy the work of refactoring, streamlining, and optimizing that goes into revisiting an existing part of the code base like this. However, particularly when it comes to a major restructuring like this, it means there’s a long period of time where the game as a program that can be run and experimented with ceases to exist. Right now, when I want to work on EverEnding, there is precisely one part of the project available for me to work on, and that’s this programming work. Not even especially interesting programming work, at least for now – once the fundamentals are in place I’ll also have a job of making sure the drawing routines are optimal and testing/improving the replacement displacement map filter code I wrote (as it turns out shader programming wasn’t necessary to create it, but I may look into creating a version implemented that way once I have this version working).

For now, there’s not much to say. I don’t know, a lot of the time I feel like I might just be wasting my time here, like I don’t know how to access the kind of discipline and productivity to make a project of this scope feasible, at least not in my current living situation. I wonder a lot if a different project might be a faster or better way to achieve the expression I have been straining towards with EverEnding, or if there’s some way to scale back or streamline this game conceptually which would allow me to work on it in a more effective and productive fashion. It is always difficult to tell which doubts are warning signs to be taken seriously and which are just self-sabotage.

Regardless, I am nearing completion of the changes I’ve made to the Particle System to make multi-threading stuff entirely self-contained within the system itself so I don’t need to negotiate that in the game program, as well as I guess in any other games I hypothetically make with the same tool in the future. There’s definitely a hint of programmer-itis there, where I find myself creating a more general purpose and fool-proofed tool than is actually needed – after a certain point I just gotta accept that sometimes I take the long route just because I feel that it’s more proper, even if it’s less pragmatic. Within this week sometime I think I’ll be able to get back to more interesting work on the project. It sucks getting stalled, but it doesn’t last forever – and, regardless of my doubts about where all this will eventually go, I think I can pursue it with no regrets as long as I enjoy and believe in my process.

Death is omnipresent in games, but they mostly don’t like to acknowledge that. Dying in games is just a way of keeping score, a nice easily understandable failure state, something to be avoided, not experienced. In life, death is omnipresent in a different way – not as an obstacle, threatening and concrete, a risk to be managed – but as a patient specter, a cold and solid certainty. Wherever we decide to go in our wild lives, we can be certain of finding at least one thing at the end: The End.

Last night I played What Remains of Edith Finch, a first person narrative around the same length as a feature film, wherein we explore the tragic history of Edith Finch’s possibly cursed family, of which she is the sole surviving member. As you explore her weird convoluted family home, you find documents and artifacts showing how each family member died – and, more often than not, experience their final moments from their perspective. Or some version of their final moments, from some version of their perspective: Who knows? The knowledge of what part of these stories was true has passed from the world long before we got there. Much is unknowable, and the stories are as much family mythology as family history.

This game is charmingly surreal and macabre, which I had expected, but also left me with a piercing sorrow, which I had not. It’s a sensation that I never get from games; it’s a sensation I rarely get from art of any sort. It’s the sensation of death as we know death to be but prefer not to acknowledge, something which we inherited at birth and will pass on to any descendants we may have, the sensation of every joy we have being borrowed against a future sorrow. I think what makes the difference in how mortality feels in Edith Finch is that every character we play as is, we know from the start, doomed. We are them, and we are about to die, and we have no choice but to step closer and closer to that destiny – and this may be a fairy tail retelling, but we’re all taking steps towards our own far less whimsical doom. Building up a mythology of our own deaths is perhaps the only sane way to keep moving forward – though it’s not like we have a choice. We’re all on the train track, all on the conveyor belt, and there’s only one way to go from here, whether we want to go or don’t.

Death that feels anything like real death is for the most part scrupulously scrubbed out of video games. I got a whiff of it from The Walking Dead, Season 1, particularly near the end, where the stakes and sacrifices became more clear. There were the barest remnants of it in the famous post-nuke death scene in Call of Duty 4, though the developers tried to strip out, as they always do, any sense of actual death, any sense of the friends and family left behind, dreams left unfulfilled. The realities of death are largely incompatible with enjoying war on a conceptual level. This is how we relate to death in art, usually: The dying are plot devices, not people. Dying Person is a role that requires an unfortunate to play it, a character written to be a heroic sacrifice or the hapless victim, to show the act of violence rather than its consequences. We care more about killers than die-ers, usually.

What Remains of Edith Finch made me uncomfortable in a way I usually forget I can feel, in a way I usually put away in a drawer for later to forget about. It’s a sensation I mostly only get from dreams nowadays, dreams of death and of loss. A shard of ice buried under the chest and over the belly, and difficult to forget once remembered. It pierces the lungs, makes us breathless, and an ancient yell or groan bubbles up, a word born before language. I want to yell for things lost that will never be found again once they’re gone, even though they are not yet lost. I want to yell to expel the cold I already feel setting in. I want to yell to reject how comfortable the cold is, a welcoming linen pillow or a slab of stone, what dreams may come.

We were built around this yell. Someday every artifice and edifice will slough away. Under hot soft flesh is cold hard bone. We might fly, for a while, but we cannot escape gravity. There is nothing to be done, except to live a life of love and pride and happiness.

It is difficult.

It hasn’t been an especially productive month for the project, but things are grinding forward. I decided I was still dissatisfied with the performance, even after all the improvements I made to the particle system a year or so ago, and so I’m working on getting the project running in OpenFL, an open-source project that emulates Flash/AIR’s API but builds in C++ and tends to be faster. This isn’t really a smooth process, since there are a few Flash features that didn’t get ported and the ways file i/o and multi-threading are approached are very different. The file system stuff is no big deal, and I believe I’ve fixed the issues emerging from that already, though since I’m still working on the other stuff I haven’t been able to build the game to test those fixes yet. The multi-threading thing is more difficult but I think I’ve got a handle on it now, and the challenging part is mostly sequestering my Flash multi-threading code away so that I can write the special cases that change from platform to platform without turning everything into a total spaghetti mess. The features that aren’t supported… might be an issue. The only one I’ve found so far that looks like a big deal is that OpenFL currently has no equivalent of the DisplacementMapFilter, the processing effect which I used to make that water effect I was so proud of and which I also would like to use for a few other special effects. I’m going to have to look into creating a replacement – which sucks, but might end up being a blessing in disguise, since this will be a fairly natural way to explore the wide worlds of shader programming and, indeed, of contributing to open source projects if my solution ends up being of sufficient quality to submit as an OpenFL component.

Aside from this, I mostly worked on building the behaviors for the Feral enemy type which I shared a few sprites for last week. These behaviors are mostly finished now, but haven’t been tested yet since I didn’t have a complete set of sprites to test with – not strictly necessary, but since most of the code is reused from existing enemy types I’m not worried about any major malfunctions. I also realized a substantial obstacle towards completing the first area of the game was that I just wasn’t really sure what the space was supposed to look like. I had some vague ideas, but I didn’t know what the area’s history was supposed to be, what really was going on there now, or what the symbolism of it was. I spent a bit of time writing out some notes on it, and I’m confident that when I get the game working again and return to develop this area I’ll have a lot to work with.

My work is basically cut out for me now. Get the game building in OpenFL, handle any new bugs, rewrite the display code as necessary to take advantage of the improved performance. It’s always a bit of a drag getting railroaded into one big task that has to be done before I can make more substantial progress, but in this case there’s no way around it – particular as, in the interim, something weird has happened with my development environment to make launching the AIR version seemingly impossible. While I’m sure that will all get ironed out eventually, in the meanwhile it leaves me no avenue to working on the AIR version of the game, so really all I can do is drill in on the OpenFL port. Soon, at least, I’ll be able to take advantage of this tedious chore to tackle a field of programming I’ve been wanting to study for a while: Shaders.

 

When I was a child it was popular to tell kids they could grow up to be anything. I think it was, anyway, I vaguely recall that being a thing that was said, but I might be thinking of something I saw on television. Regardless, I hope it’s gone out of vogue by now – it’s really a cruel thing to tell a child, even if it’s technically true. You can become anything, in the same way an unknown seed could grow to be anything, but what that thing will be has likely already become set by circumstance and inclination. Or, perhaps, more in the way that rolled die could show any face, but choosing which is outside of anyone’s control – except for inveterate cheaters, who I think would represent inherited wealth in this metaphor.

Regardless of how prominent this message was, I don’t think I ever wanted to be anything. I think I always wanted to be everything. Failing that, the next best option as I saw it was to be some sort of artist, someone who makes worlds – if not to actually be everything, then to contain some version of everything, to control it, portray it, master it. Even that wasn’t enough everything, apparently, because of all the forms of artist to be I decided I wanted to make games, since they require me to do a little bit of everything (a lot of everything, actually). And then I wanted to make them alone, because I wasn’t willing to give up even a tiny bit of everything.

I’m coming to gradually recognize the greed that has shaped me. I am never content. I am never enough for myself because I am never everything, but I also rarely want to give any of myself up. People don’t notice this greed usually, I think, because it doesn’t look like what we think greed looks like. I don’t want many things beyond the things I need to work towards my goals, which mostly boil down food, shelter, and a functional computer with a few specialized peripherals. I don’t mind being mostly broke, except when it means I get distracted by things outside of my control, such as needing to scrape together for food, shelter, or a functional computer with a few specialized peripherals. I’ve learned how to mostly do the things I need to do to take care of myself, but I don’t reach out beyond myself often. I am my own planet in my own solar system. Family, a few friends, no other social contact – greedy like gravity, I hold this much in my orbit forever, steady in the trajectory set by my past.

In trying to be everything I frequently lose track of who I am. I’m not sure what my personality is outside of the things I create. When I’m not making things or distracting myself I have a poor sense of what my personality is. I don’t know if this is abnormal. Many people feel unmoored from themselves when they’re away from their work, I suppose. At least I don’t have to rely on anyone else in order to feel like myself, at least I can’t get fired from being an artist – though I can certainly not get paid for it. I’ve definitely proven myself capable of that.

What am I? A shape that leaves an imprint, a tiny fingerprint on the mind of each person I meet. I hope that by making things I can spread around more imprints, make more of a mark, but that mark I am making is only a tiny part of me. Some people exist so intimately in each others’ lives that their imprints go deep and numerous, that even when they are absent each other they can still feel their shapes in the marks they left behind. I can’t leave any marks like that. I hold too much of myself back. All pictures of me are incomplete, and the true shape remains unknown. It could be anything.

Why don’t I make more games?

Of course, I’ve been working on EverEnding, but that’s a long term project and hardly precludes the idea of pursuing side projects. I’ve even tried to take a break of a week or a month to work on such side projects, and they haven’t gone anywhere, as I get bogged down in minutiae and lose momentum before heading back to work on the main project. This is supposed to be my medium, though: Games are supposed to be one of the ways I’m most comfortable in expressing myself, and this idea is core to my identity. Most of the independent solo developers I admire make at least a couple of projects a year, and I feel that this is within my capabilities and would probably make me feel more fulfilled than whittling incessantly away at the same project – and wouldn’t even necessarily take that much time and effort away from that project, depending on how I approached them.

So why don’t I?

I’ve heard it said that finishing games is a distinct skill in and of itself, and if that’s the case then it’s one that I clearly and sorely lack. The last time I remember perceiving this kind of lack in myself was before I learned to draw, but desperately wanted to – when I was hugely intimidated by the gap between what I could imagine and what I could achieve on the page. What it came down to was that the only way I could get past this was by letting go of the idea of creating something great and grabbing hold of the idea of creating the best thing I could – a nobler ambition at any rate, I’ve come to believe. Eventually I got comfortable with just making marks on the paper that looked very approximately like what I wanted – as time has passed, they’ve gotten closer to what I imagine. More importantly, as time has passed, I’ve refined that imagined ideal of what I want those marks to be, what they can represent and how. At this point I’d say I’m a pretty good artist: Could be better, could be worse. I guess that’s the same for everyone: It’s a place we tend to stay at for most of our artistic lives, so it’s a place we have to learn to feel okay with being in.

However, as a game developer I think I’m still Nowhere. Undefined. Maybe I’m great! Who knows? Maybe it’s the fear of finding out that I’m not that’s holding me back – that’s certainly one of the things that used to hold me back from the visual arts. Better to be silent and thought a fool than to speak up and remove all doubt, as they say.

It’s really not, though. Better to just be okay with being thought to be a fool. It has many advantages. It’s very freeing.

I’ve gotten mostly okay at sometimes being bad at art and music and writing. I just kind of assume that some ratio of the work I produce will suck big stinky butt, and hope that as I practice and develop as a creator that ratio will get smaller. It’s hard for me to get there with games, though. Even a small game takes a lot of work to make, so it’s hard to feel okay about that work going into something that’s not great. I’ve made a few games, here and there – for game jams, mostly, 3 or 4 spread across the last decade or so. These games were mostly pretty abrupt and incomplete, but, still – they were games.

I think another big obstacle has been that I tend to start game projects from a place of intellectual interest. I usually start with a theme and/or a game mechanic, and try to build out from there. This isn’t actually a bad way to design, but it’s a bad way to make a project I give a shit about. This sort of intellectual interest has a shelf-life. Eventually, if I keep thinking about the project I will end up exploring the design fairly completely in my mind, and obviate any pressing need to create the project itself. Games take long enough to make, at least for me, that this usually happens before the project is complete. Thus the reason why I’ve maintained interest in EverEnding for five years but I have trouble maintaining interest in most game jam projects for more than five days: Some games are just more fun to design than they are to create. These are not the sort I should be making. I need to start from a tone, a feeling, something unnameable to seek rather than something unnamed to build. And, since these are games, the mechanics and theme will follow, as they must, a series of intellectual challenges, puzzles to solve to figure out what this mysterious place I’ve found for myself will be.

Once I can teach myself to start and to finish smaller games, maybe I’ll be ready to start to finish EverEnding.

Well this is probably going to be a short one, since for 20 of the 30 days since the last DevBlog I’ve been busy with writing and for the other 10 I’ve been trying to catch up with all the other stuff I didn’t get done while I was doing all that writing. The two avenues I’ve made progress on are in developing the Feral enemy type and in improving the camera system.

I posted the concept art for the Feral a little while back, and I’ve since been poking and prodding at getting some sprites done for it to add to the game.

I’m not thrilled with these at this point: The look of them is good, but the animation still feels extremely stiff for the most part. I’m having difficulty with handling the sorts of subtle motions I want this creature to make when it’s not being aggressive, and making them read on a fairly low-res sprite. I ended up tabling that work when I returned to the project since, as I’ve discussed in the past, I tend to find animation frequently turns into a demoralizing slog for me. So, to get myself back into the project and to build up a bit of momentum, I’ve gone back to programming work.

After a few days, I have most of what I think should be a functioning behavior set for the Feral, but I haven’t tested it yet – mostly, honestly, I just wanted to get the code to build so I could work on other parts of the project for a bit. Still, it means I’ll probably be able to get the Feral up and running in fairly short order, and that hopefully will increase my enthusiasm for creating and polishing the necessary animations.

More recently (ie just now) I’ve been working on the camera system. I went back and read a rather interesting Gamasutra article that exhaustively explored the different approaches to 2d camera systems and, while doing so, revised mine. In fact, I revised my camera system several times over, trying out different ways to move the camera or to determine where I was moving the camera to. I’ve mostly settled on a system where it offsets the camera based on the character’s facing enough to see what’s ahead and moves the camera faster based on how far it is from it’s desired position (without modeling acceleration), but there are a few instances where the camera jumps around in a rather unappealing way left to be dealt with.

I’m still getting used to working on the project again, and of course there’s holidays coming up to be a distraction, but spending a little while away from EverEnding has given me enough perspective to know that it’s not force of habit, or some inane belief that just finishing this one thing will make me rich, or certainty that it will somehow change the world, or some other bad reason that keeps me working on this game. I still love the version of it I have built in my mind, and I still want to try as hard as possible to bring that vision to fruition, and especially to see what it slowly shapes itself into along the way.