Archive

Art Design

For those who may be unfamiliar with The Return of the Obra Dinn, it’s a first-person adventure game by Lucas Pope (the developer of Papers, Please – a game which I keep intending to play but putting off, probably at least in part because it seems incredibly bleak). Obra Dinn itself is hardly un-bleak: In it, you play as an insurance assessor sent out to the titular Obra Dinn, a recently recovered wreck of a ghost ship. You are sent to deduce the fate of all those aboard, and deduce appropriate deductions for the insurance company to make. In order to achieve this task, you are given the “Memento Mortem”, a pocket watch which, when presented with the remains of a once-living creature, can take you back to the moment that creature died. Once in these memories, you can find other remains and follow them back further, and move from the moment this person or animal died to the moments leading up to it, following the chain of disaster back to its inception.

The style of the game is eye-catching, and along with the reputation of Papers, Please drove a lot of the initial interest in the title. Everything is rendered in a pixelated black and white style – or a dark color and a light color, the specifics of which can vary, but in each case is styled after a classic computer system. This is an interesting choice, since the style is unusual and the classic computer systems it harkens back to don’t really have anything to do with the plot of the game, but it creates an overall sensation of being unstuck in time. Here you sit, playing the game in the modern day on your modern machine, rendering in a style reminiscent of several decades ago, exploring a ship from hundreds of years ago, exploring memories of sailors who died several decades before. It expresses a chain of time very well, and reminds us that these weird chains of causality, of death to life to death to life, are all around us, and dictate the flow of our lives to this day.

Something that struck me about Obra Dinn was how unusual it was to have a game where death is commonplace, but is still treated with respect. There’s two molds that games usually, broadly, fall into: Either death is avoided strenuously, or it’s so commonplace as to be meaningless. Either you’re a gentle spirit wandering the world and trying to achieve your goals without confrontation, or you’re a murderous monster leaving a trail of hewn body parts behind you. While you do, in Obra Dinn, fit into the gentle spirit mold, the world you are trying to navigate is one of blood, desperation, and violence. It neither avoids death nor glories in it, merely tests its boundaries and affirms, for those of us who might ever forget, that each death is unique, that each death comes from a seed of causality and can be tracked to its roots. No one is unimportant. No one is indispensible.

A naive reading of the design of Obra Dinn might believe that there’s little actual “gameplay” in the game – that is, the majority of the actions the player takes are walking to the next cutscene trigger, activating it, and occasionally marking down one of a few options in the big book of names that you begin the game with. We’re not accustomed to thinking of things like the shape of a character’s face, their accent, who their friends are, what their job description is, as components of gameplay – but each of these becomes important in Obra Dinn. Understanding the relationships underpinning the tragedy of the ship, understanding why characters choose to do the things they do, is necessary to unravel the mystery that brought the Obra Dinn to its current fate. So often the concept of ‘gameplay’ is pitted against concepts of ‘narrative’ and ‘graphics’, as though these are all completely discrete components that have nothing to do with one another, as though pouring more resources into one might steal resources away from another. One might consider this to be most literally true in a game like The Return of the Obra Dinn, made by a lone developer, where time he spends on one aspect is time he cannot possibly spend on another. Perhaps it’s because it was made by a solo developer, though, that these aspects work so closely together – the graphics are exactly what they need to be to support the narrative, the narrative is exactly what it needs to be to support the gameplay. No, even ‘support’ seems incorrect: These facets of the game aren’t separable. What seems most remarkable to me about Obra Dinn is how all of these components we regard as discrete combine together and become one complete work – the graphics are the narrative is the gameplay.

I’ve played games that have had more emotional impact, games that have interested me more intellectually, games that have amazed me more, games that spoke to me more, games I felt were more meaningful – but Obra Dinn is still something special in a different way. It’s finely crafted, like a pocketwatch, and I think though the details of the tragic voyage will fade, the Obra Dinn will stick with me for a long time.

Advertisements

Over the last few years, I’ve been trying to get better at art – in the specific sense of visual art, that is – drawing and painting and, most frequently, digital art. I think I’ve succeeded at the goal of getting better, though I still fall short of what I want to be able to achieve. Over the past few weeks, I’ve been trying to understand 3d art – in this case trying to construct an environment that’s visually interesting and feels reasonably natural to exist in. Most of my abortive forays into 3d work haven’t really concerned themselves at all with scale or natural placement or trying to set a scene – at best I’ve learned the basics, and now that I’m learning the basics again I suspect I didn’t actually learn them very well the first time.

It’s a strange sensation, sometimes, trying to extrapolate the things I’ve learned from 2d art into 3d art. When I’m doing a painting, I compose the view and then decide where the light is and, as I flesh the piece out, I try to remain true to those decisions. When I’m working in 3d, I have to position the entrance to the room and position the lighting to create the ‘composition’ the player actually encounters in the world, and the specifics of how that light gets rendered are handled by the 3d program. I’m still far short of where I want to be in this field, as well, but because it’s a newer skill to me I at least feel like I’m quickly improving.

The more I work at it, though, the more I notice there’s something missing. If I were to sit down in a drawing workshop and draw a model, then move my chair and draw them again, and do that several times, those drawings together would comprise something like a 3d interpretation of the model. Even if I did a very good job of those drawings, though, there would be discontinuities – part of the process of drawing would be to make decisions, exaggerations, corrections… there’s no such thing as perfect representation, because the lines we use to draw are largely conceptual, whereas the model is a person with a physical presence. Each drawing goes through its own artistic process, interpreting what I am able to see through my flawed eyes and converting it into a linear and shaded approximation. In 3d art, though, I just create the environment and leave that visual interpretation, what would be my drawing in this analogy, entirely up to the renderer. The gap, the thing that’s missing, is the 2d artist whose place is being taken by the computer – or, to be more precise, in this case the artist’s place is taken by Unity’s default rendering pipeline.

This isn’t to decry 3d art as in some way being less ‘real’ art, but to bring up the idea of the many kinds of art that it could be but currently is not. In our quest for consistency, for realism, we’ve left behind much of the power of 2d art – the ability to exaggerate, to portray the impossible and cartoonish. A good example of this would be the video game adaptations of cartoons like The Simpsons: In these shows, characters rarely face towards the camera because the style of the show usually only holds when they’re in 3/4 profile view. The particular cartoon squiggles that comprise the mouths and eyes only really make sense in that perspective, so whenever the script calls for a character to be seen from a different angle it looks off, weird and confusing and sometimes downright unrecognizable. The 3d game adaptations, however, require the characters to be viewable from every angle – so the style is collapsed into 3d models that makes approximate sense from every angle but also never really look like the cartoon original. Even the most elegant and well-executed cel-shaded outline shader can’t fix the issue that 3d rendering will, at the end of the day, be a faithful and uncreative depiction of the model data.

I know that you could affect the geometry of the model with a shader as well, but I haven’t seen it applied towards this problem – unsurprising since I expect I’m the only person who considers it a problem. Whether because of the constraints of technology or because of our worship of ‘realism’, the idea of making models that don’t appear the same from every angle doesn’t seem to have ever really taken hold. Every game establishes its own language, so in the end objects in a game can look like basically anything and the game continues to work. Just like playing make-believe as a child, a stick can be a sword if we agree it is a sword, a bush can be a dragon, the floor can be lava. If we can push things this far, why don’t we? I mean, we sometimes do, but usually only in the context of relatively low-tech ‘retro’ experiences, either using simple pixel art or low-poly 3d styles. We have yet to unleash most of the power on our disposal on the challenges of surrealism, impressionism, cubism – and, on the rare occasions when we begin to push in these directions, it’s usually only to try to emulate the most well-known 2d visual aspects of that style, rather than making any attempt to interpret how these might translate into a 3d space.

In general, the aesthetics of games fall into two R’s: Realistic and Retro. Recently there’s been a bit of leeway around ‘realism’, but it’s still the broad category AAA games fall into. While games like Dishonored and Breath of the Wild may not be attempting to appear real, they still try to emulate a version of reality, a world that is consistent in its rules and its appearance, a world where even if the particular appearance of a thing is stylized it still has the essential properties expected of a real object. Retro games, conversely, are willing to be weird, to be inconsistent, to be arbitrary and unreal – if they emulate the exact forms of inconsistency and arbitrary unreality that were the hallmarks of the nostalgic history of video games.

Any one of those quirks that are typical of retro games, though, could be harnessed now, and recontextualized into a modern space. The tendency for sprites to receive erroneous memory addresses and replace parts of an important game character with text or another character was caused by the specific implementation of pixel graphics used in old games, and has been used narratively in interesting ways by games like Undertale, but there’s no reason that must be married to a retro style – we could just as easily have a scene where parts of a 3d model flicker and are replaced with parts of another 3d model. It wouldn’t have the same contextual meaning as it does with sprites, where it comes to stand in for the concepts of corruption and elemental chaos – but that wouldn’t keep it from being visually interesting! Or, another artifact of retro games is pixelation – pixelation is still called back to in 3d contexts, sometimes, but only by creating low-resolution textures or occasionally creating 3d equivalents, voxels. However, that’s an interpretation rooted in a visual rather than a systemic understanding of what pixels were – what about an art style where all vertices of a 3d object snapped to a grid? What about an art style where models are rendered to a texture and then crunched down into a sprite and projected back into the world?

I bring up retro art, though, just because it’s the most understandable entry point into non-representation (or at least less-representation). Retro is the only area in game design where looking anything besides beautiful, anything besides representational, gets much allowance from potential players. We are prepared to accept retro because we know what it’s trying to be. We must be prepared to accept more, to accept the weird and ugly and inexplicable.

I understand why it has been necessary to attempt ‘realism’ for so long. Picasso drew a lot of normal very pretty paintings before he started painting blue shit and weird cube people. Eventually, we need to accept that we’ve got this reality thing down pretty well, and be willing to push outwards. We have the power to make worlds – why do we keep trying to just make this one, over and over and over again, with just slight thematic variations?

In art, characters are designed and presented – every aspect of the character’s design was considered at some point along the way, and most have some sort of significance. Even in live-action films and theater, people are cast to embody the traits of their character: Thus, every line, every curve, every bulge, every tone of skin and voice has Significance. Every dimple, every freckle, is a Chekhov’s gun. This causes problems, though: We learn things from art, inevitably, and in most ways people’s bodies have very little to do with who they are – or, at least, have a far more complex relationship with their personality than the simple stereotypes usually mined by character artists and directors.

Much has been written about the impacts this has. The way people with more fat are frequently portrayed as unhealthy and lazy, the way darker people are frequently portrayed as criminal and unambitious, the way more feminine people are portrayed as deceptive or as hapless victims, and so forth. But even though fat people aren’t unhealthy or lazy by constitution, the dismissive inattention of doctors gives them worse health outcomes and saps their energy: Even though darker skins don’t lead to criminality, they do lead to loss of opportunities in a bigoted system, sometimes leaving crime as the only option for those whose ambition refuses to die: Even though femininity isn’t deceptive or weak, those who show it frequently have their feelings dismissed and their vulnerabilities preyed upon, so they eventually have deceit and victimhood thrust upon them. These embodied character traits end up having a cruel backhanded truth to them: The systemic disadvantages people with these bodies encounter in their lives come to become wholly aligned with their fictional representation.

So just ignore all that stuff, right? Color-blind casting, age-blind casting, body-type-blind casting, gender-blind casting, and so forth, just make everyone draw their character names from a hat. And yet, if we do that, we lose the entire visual channel of communication about who a character is, where they’re from, and what they do – because these things do affect our bodies in certain ways. If we do that, we sacrifice the ability to have conversations about how our society treats different bodies and different backgrounds, sacrifice any real discussion of our real world in favor of making every world an aspirational one where there is no background, no history, no context, only the melting pot.

To some this conflict might seem intractable. It’s very simple, though: Your characters do not have to be statistically representative samples of their respective populations. Your characters have the freedom to be from any race, body type, age, preference, and still pursue their ambitions and hobbies, and these things will have an effect on their bodies that will modify their appearance. A blacksmith will probably have strong arms regardless of sex or weight. A bicycle courier will probably have strong legs. Someone who performs a desk job all day might put on a lot of weight – then again, they might not. Someone who hikes over mountains as a hobby might be very slender – then again, they might not. All it takes to make a character design that doesn’t propagate shitty ideas about who can be what and how is to separate the improbable from the impossible. Aren’t improbable characters more interesting, anyway? Most of the things we often tend to think of as improbable really aren’t very unlikely at all, anyway, especially at the level of serendipity fiction tends to operate at.

Even a character who’s a realistic embodiment of a societal ill, though, would be far better than what we get right now: Punchlines and cardboard cutouts, characters whose only role in the story is to be exactly what we expect them to be. If you still want to make one of these archetypal characters, at that point you have a duty to at least pay some attention to the systems that make them what they are. The cruelest villains and most pitiful victims don’t emerge from nothing, but from the societies of their worlds, their oversights and acceptable losses and untouchable elites.

Well, I keep on getting distracted, but the distractions are all part of the project itself. There’s a distinction between the process of making a game and the process of making the game engine, the game editor, the game tools, even though these are a prerequisite – and, clearly, I’m more willing and able to focus on those right now than I am on making the game itself. I think this is okay for the time being: Part of what I wanted to do with project is to let myself go where my enthusiasm guided me to go, and clearly right now that’s in working on the tools. Now, whether that’s just because I’m more intimidated by the idea of working on content stuff, well that’s an open question. Eventually I’m going to run out of tools to work on, so I’m not stressing out about it. Yet.

Anyway. What are these tools he keeps talking about?

Well, first, I’ve got a somewhat working version of the room creator I was talking about last time. I got the solution to the point where it did maybe 80% of what it was supposed to and then tabled it, since I didn’t want to get sidetracked for too long with nothing to show for it.

You can see that some of the logic is there, with it placing the walls and some of the tiles connecting the angles correctly, but there’s a couple of tiles that are incorrect and some that just aren’t getting placed. Part of this is just the order tiles are getting placed in right now: Since each tile has to fit with each other tile, the tiles that get placed first don’t have to meet as many constraints as the ones that get placed last, and often end up being incorrect. Obviously I have to iterate through the placement more than once, but how do I know when I’m done? How do I know which tiles I still need to match with and which are now outdated by the new placements on the second loop? This is probably a problem that’s been solved, so maybe I can look it up. That may be another reason why I set the problem aside – it didn’t seem urgent to solve any more, now that the remaining issues were relatively small and easy to describe. Most of the time, at least when it comes to programming, a sufficiently detailed description of the problem contains a solution.

After getting that sort of working-ish, I focused on creating the entity editor. Once I can build levels and place entities, I basically have everything I need to create a game. However, there’s a huge range in what constitutes a level and what constitutes an entity, and some big decisions need to be made in order to meet those simple requirements. Up front, though, I had a pretty good idea what an entity was supposed to be: I want an entity to be an object with, most of the time, a position, dimensions, and behaviors in the game world. With a bit of shuffling UI around, I came up with this entity editor:

The top bar is a toolbar where I can drop any entity I want to use more than once and save it for later. The top-right is an editing window where I can rewrite any of the entity’s scripts, and the bottom right a selection window that I can use to look at and edit any of the entity’s properties. What is going to be interesting as this progresses, I think, is that any one of the entity’s properties could be a script, could be a script that rewrites another property to be a script, could be a script that copies another entity into a variable which gets used by another script to spawn versions of that entity, and so forth. What I want here is a system that eradicates as many barriers as possible between creating, editing, and scripting entities. To begin with, I used an XML-based scripting language since that saved me a lot of the trouble of parsing the scripts, since I could just use Haxe’s built-in XML parser. However, I’ve decided instead to roll my own scripting language – after some misadventures in using a very full-featured Haxe parser, which I guess we’ll just consider research now, I decided that my needs were simple and specific enough that I should really just make my own.

While I initially considered making a new simple animation system, I decided that too much good work had gone into the EverEnding animation system to discard it completely. However, the rendering paradigm I used for that project was completely incompatible with the standards used in OpenFL – one of the big reasons I wanted to step away from that project for a while, since bringing it up to those standards was a huge logistical pain in the ass. This was, therefore, an excellent opportunity to work on something that could benefit both projects. The necessary approach was so different that, in the end, I had to fork the class, but when it comes time to work on EverEnding again I can work on integrating both versions together in a way that captures the strengths of both. For now, I have a fast and efficient way to render every entity I want to the screen.

Aside from this stuff has been some minor progress in other areas, like making decisions on what the tileset should look like, fixing bugs in the collision code, and making a rough character sprite for use in testing. However, if you’ve been following the project, you might have noticed streams abruptly ceased a couple of weeks ago, which is rather contrary to my original concept of the project as something which I worked on entirely on-stream. Unfortunately, I came to a point where a few aspects of my life and this project came into conflict with one another: As I alluded to in my Problem Machine blog post a couple of weeks ago, I tend to have sleep patterns which could be generously described as ‘erratic’. I’ve been trying out ways to restructure the way I live and work in order to help address this issue, and one of the biggest changes I’ve made is to try to get a few hours of work done immediately after waking up, before taking a shower or eating breakfast or anything. So far I find this approach tremendously beneficial, starting my day off on a good precedent and ensuring that even if later on I do end up feeling fatigued or depressed I still have a few good hours of work done, relieving much of the pressure to do work that was keeping me up later and later at night. Unfortunately, while it’s a bit stressful to stream myself work, and it’s a bit difficult to get used to waking up and working right away, the idea of waking up and streaming working right away is just too much to countenance at the moment. With time, this may be something I can approach – it may be helpful to get away from my conception of streaming as something where I need to have a constant running commentary, for instance. Or maybe I can just eventually get to the point where I’m more comfortable vocalizing my thoughts immediately after waking up. At the moment, though, trying to do two things which aren’t readily in my nature at the same time just felt like too much. Hopefully, in time, the dev streams will return. In the meanwhile I’ll probably continue streaming gameplay a few nights a week, though this past week I have been remiss due to fatigue.

That just about does it for this month’s update. Next, I plan to finish this scripting system, fix the remaining issues in the room generation code, and probably start building out the first few rooms and entities and some more finished looking art. I think by next update we may be able to start getting into actual content, rather than tools – but who knows what rabbit holes I have left to fall down?

The new project is underway. I frequently miss working on EverEnding, and so far I haven’t gotten to do the sorts of things I really came to this project for, but I’m also getting really excited about some of the ideas I have for the future while I lay the necessary groundwork to proceed.

So, what have I been working on? There’s a lot, really. I got the basic collision system up and running, though that part is still glitchy as hell. I’ve created a simple but potentially very flexible scripting system which I’m going to use for all entity behavior in the game, which is going to make modifying entities in the editor largely a matter of literally copying and pasting the behaviors I want between entities and should make saving and loading pretty straightforward. However, the bulk of my time so far has been taking up on developing tiles, tools and editors for using them, and an understanding of how they’re going to be implemented in the game.

This is the tileset I’m testing with right now. It’s pretty ugly and rough around the edges, but right now I’m just trying to figure out a way to make all the tiles that I need for the game world fit into the minimum possible amount of space in a format that makes some degree of visual sense. If you do any art yourself, you may have noticed that the perspective here is, to put it mildly, kind of messed up. I’m working off the model established in the tilesets of the early Legend of Zelda games, particularly Link to the Past. The angles don’t really fit together or make sense, but it still creates a cohesive space for the player to navigate without obscuring anything the player needs to see. In the long run, the Escher-esque nightmare presented by this kind of world design may work in my favor, since I want the world to seem kind of surreal – but more on that later.

The big issue I’m facing at the moment is creating a tool to automatically fit these tiles together. There’s a small immediate and a big future reason I want to do this: The small reason is that figuring this out will allow me to build tools into the level editor that let me really quickly make rooms and connect them in a way that looks natural without having to individually place a bunch of tiles. The big future reason is that eventually I want to be able to generate rooms entirely using code using the same algorithm, and create procedural environments for the player to navigate.

That segues nicely into what my plans are for the project. Actually, none of these are plans yet, these are just ideas for now – plans will mostly wait until I have a playable chunk of game and can begin making hard decisions about what works and what doesn’t, what’s feasible and what isn’t. The setup I want to explore, here, is being trapped in a big creepy house – there are other people here, and it’s a bit up in the air how long they’ve been here. Some of them talk like they’ve been here a few days, some of them seem like they might have been here for centuries. Everything is blocked off in different ways though, bricked and boarded up, papered over, hidden behind secret passageways, and in order to begin to find your way out you need to explore and find tools both to open up passageways and to fight off the creatures that have taken over parts of the house.

That’s the basic idea. Let’s call that tier 1, where I just make a little Zelda clone and call it a day.

Here’s a more interesting version of that idea that I’ve been playing with. There aren’t monsters in the house, but in order to actually make progress you find different beds to rest in. Each bed you rest in puts you into a dream where you play as whoever the bed belonged to, and in reliving their story you can perhaps change it, and by so doing change the state of the house. Or maybe you just find the tool you need in the dream and bring it back directly, or perhaps you are able to recruit an NPC by telling them something they’d forgotten a long time ago. The dreams, of course, are infested with weird nightmare monsters, and you need to be able to defend yourself in the dream, so procuring equipment is still necessary.

That’s tier 2. This would be a much more substantial project, but I think there’s room to do some interesting things here.

I have an even bigger idea, though, and this is one that could get really out of hand. Take tier 2, but each dream world contains other beds, and you can keep pursuing nested dreams deeper. Past one or two levels, dreams begin to be procedurally generated, but the resources you get in each dream can be brought out of them and used to progress through the next. The game becomes an adventure game containing a roguelite, where progressing through the roguelite sub-game allows you to progress naturally through the world of the main game. Eventually, perhaps, getting lost in these many nested dreams could become a genuine danger.

Tier 3 is fun to think about, but for now I have to focus on tier 1 – or, really, tier 0, which is building the toolset that will allow me to build tier 1. That’s where I’m at right now, but if progress continues at this rate I should be able to have my toolset done by the time of the next devblog and can really start building out the most basic version of the game.

Work In Progress

I’ve been trying to stream more. So far I just stream myself playing lots and lots of video games, which is… nice. It’s nice to have a reason to play games, because a lot of the time, without any direct impetus, I will just not do that. I do have concerns about whether this is a good use of my time and energy, whether I’m burning valuable mental and physical resources I could be using on my writing or developing my game. I worry about whether I’m making myself enjoy games less by playing them for an audience or whether it’s pushing me towards a narrower band of games. I think these worries can be adequately combated by the knowledge that if I were not streaming I’d be worried just as much about how I’m not putting myself or my ideas out there enough, not playing enough games to stay abreast of the trends and ideas, and that I was generally shrinking back into silence and isolation.

The grass always looks greenest on whichever side of the fence we have most recently vacated.

Okay then: Say I want to keep doing the streaming thing, but I want to try to channel all this time and energy into something that advances my ambitions of being a Well Known Creative-Type Person. At that point the obvious thing to start doing is to start streaming creative work as well as gameplay. This is eminently logical and also obviously terrifying – or perhaps that’s overstating the case, but it is at least intimidating, for several reasons. One reason is that a huge part of creating something is not having any idea what you’re doing and going down a bunch of dead ends before you begin to catch a hold of what kind of thing you’re actually creating. This can be an uncomfortable process here, at home, by myself, but the thought of exposing that process live on-stream? Oof. On top of that, it’s always deeply frustrating and depressing to me when I put a lot of work into something and share it and it gets absolutely no reaction: Streaming myself working would both amplify the amount of work I’m putting in and give me real-time feedback over how many (or few) people actually are interested and watching. It’s hard to believe that this would be conducive to creating more or better work.

Being okay with sucking at things was a necessary step for me to start actually improving – in particular with art, accepting that most of my drawings would be bad, at least for a while, was the only way I could silence my internal voices long enough to start drawing. Conversely, with music and writing, I think I benefited a bit more from a sort of blissful ignorance in not being able to see as clearly how not-great my early work was… it’s always easy to make yourself feel either good or bad about your work by when comparing yourself to different artists: Just choose whether to view yourself as a big fish or a small fish by calibrating the size of your pond as necessary. It’s easy to be the best writer in your class: It’s hard to be the best writer at your school. Of course, ‘best’ doesn’t mean anything in the first place, but try telling your brain that.

My perception of the inadequacy of my earlier work is a double-edged sword: I can be proud of how far I’ve come, but at the same time it leads to acute worry that I’m actually still incredibly far behind some hypothetical future me. How can I possibly put my work out there when I’m so much worse than I might hypothetically be in the future? How can I share work that isn’t my best work, even if this better work is entirely hypothetical? If I put any of this temporally inferior work out there now I’d only be embarrassing myself.

So, if I want to stream my imperfect creation, I have to not only be okay with sucking, but be okay with sucking publicly. I may suck less frequently now than I used to but every piece of music has a point where it sounds like crap and every portrait has a period of time where it looks like some grotesque misshapen caricature. In the past the main thing that has made me feel okay about these moments is that I was the only one who ever saw them: That’s a tough security blanket to burn.

Along with these doubts other doubts like to surface. I wonder if I’m actually as creative as I think I am, when it feels so much of the time like my work feels so constrained and fuzzy and meandering, when other peoples’ feels so extravagant and full of color and detail and purpose. I doubt whether the things I make are intrinsically interesting to people who are not myself, if there’s a gap between my idea of art and what audiences want to see, whether as I improve my ability to hew closer to my own creative ideals the actual output created by that work will become less interesting and my skill will only alienate me further. I doubt that there will be any place in the world that can accommodate the entirety of what I am or want to be, and I know that other people split themselves up into pieces and find places for parts of themselves bit by bit and I wonder why I find that so difficult.

Being full of doubts and questions is something that I have to resign myself to, the same way I had to resign myself to being bad at art to become better at art. The only way to find my way is to accept that I am lost, because otherwise I will march confidently off in the wrong direction forever, just like almost everyone else seems to end up doing.

I’ve been playing Cuphead. If you’ve somehow managed not to hear about this game, Cuphead is a 2D platformer styled after the cartoons of the 1930’s – although I frankly think it manages to realize that aesthetic far better than most of the source material it pulls from. It’s also punishingly difficult. Cuphead is impressive both how good it is and how much worse it would be if it was any less beautiful than it is – I have never seen a game rely on aesthetic quality to this extent, and it is fascinating to me that it does, and that it does so so effectively.

These aspects, beauty and difficulty, lean on each other like a pair of cards, prop each other up to create an incredible experience. This super-hard game would actually just not work if it wasn’t so incredibly beautiful in every respect, visually and aurally – the losses and restarts, the trial and error, cheap shots and bullet hells, would quickly become tedious. Some people would still enjoy it on those merits, but it certainly wouldn’t have found the huge audience it has now. At the same time, if the beauty was all there was, if there wasn’t this sort of punishing difficulty, the game would feel like fluff, would show up and disappear in an instant and would leave no lasting impression – though, of course, this version of the game, too, would find its own following. However, because the game is so brutal, you’re forced to really look at it, really closely look at everything that’s happening on-screen, lest you be caught off-guard – and, because you’re forced to look at something so damn lovely, it’s hard to actually be mad at what happens next – which is usually that you get your ass kicked by a medusa or a bird or something.

I find that idea, that sheer aesthetic beauty can be a core component of a game’s design, very interesting, because that’s not how we tend to think about the audio-visual component of games. There’s a lot of discussion over exactly how and how much the narrative and the design of games are discrete from each other, but it’s largely taken for granted that the aesthetic quality of the experience can be evaluated more-or-less on its own merits.

When we discuss the cross-section of aesthetic and game design, it’s usually about how the art style of the game realizes the core goals of the game’s design – not about how the game’s design enables the core goals of the game’s aesthetic, or in how the sheer quality of that aesthetic presentation can make the design goals click. Despite being a tremendously conservative game in many ways, Cuphead has thus exposed a huge gap in how we talk about the intersection of visual and mechanical design in games – or, at least, a huge gap in the way I’ve seen people talk about them – as, rather than a gaming experience enabled by an aesthetic layer, being an aesthetic experience enabled by a gaming layer. It’s an inversion of the way we usually think about what a game is.

I am curious to see what sort of impact this game has, a few years down the line – on video games in general, but also on the way I think about games. It’s strange to me how a game so straightforward could contain such revelatory implications.