Archive

Development

Generally speaking, I want to make games. Specifically speaking, making an actual game of the sort I want to make is a nightmare proposition. Games take a tremendous amount time and of energy to create, and for many years I’ve said: That’s okay. I’ll put in the time. I’ll put in the energy. Right now, though, I’m not sure about the supplies of time and energy. Right now, on our current trajectory, time is running short. And the more I think about that, the less energy I have to work on making a game.

There is a plausible apocalypse looming. There’s no point in pretending it’s impossible. Even if we dodge the greater threat of the global ecosystem collapsing due to greenhouse gases, there’s still the global rise of nationalism and fascism, the increasingly unsustainable income inequality, the creeping capture of all political systems by malicious actors – and then there’s the old problems, stuff that has been around for a while, the racism and sexism and sundry bigotry, freehanded abuse of the socially and financially and physically disadvantaged.

It’s a lot. Not sure what to do about all that.

It feels like a blockage. Fixing this feels like a prerequisite without which no other work can commence. But this cannot be completely fixed. There are no complete solutions to these problems, only processes that can be enacted to slowly ameliorate them over time. This is a frustrating realization because honestly this is not how I work. I like to fix things once, and I like them to stay fixed. I freely admit that this is an unrealistic expectation.

So I fret. I wonder what I ought to be doing. Is it ethically acceptable to make art on the eve of Armageddon? Is it ethically acceptable not to? What could I realistically fix, out there, in the world, given my aptitudes and experience? What fundamental change would I have to enact upon myself in order to do so? How dangerous would it be to try? How dangerous would it be not to try?

And so forth, in circles.

I think sometimes maybe it would be better for me to just do small works. Just do little paintings, bits of music, write these posts. Forget games. I could, I suppose, just keep making small games, little monthly projects like I’ve been trying to do (with mixed success) – but, so far, all of my small games feel small. Some people have the knack of creating small projects that feel like little explorations of big ideas, bite-sized chunks of something huge and important. I don’t have that knack, at least not yet. So I keep thinking, then, that perhaps this isn’t a good use of my time and energy. Maybe I shouldn’t be trying to make games.

And yet. The end can only come by consensus. This world ends when we agree it ends. Maybe right now is the perfect time, actually, for a long-term art project. It’s a vote for tomorrow. It’s a leap of belief in an audience existing.

There are three reasons to do creative work, as I see it – besides making money that is, which so far remains a largely hypothetical benefit to me. Often, it’s just for practice: We play our scales, do our figure studies, write journals or bits of poetry and lyrics that never go anywhere, and hone our skills. Sometimes, it’s to express something within us, to take it out of the unspeaking back corridors of our minds and out into the world, for exorcism or for self-understanding. And, of course, sometimes it’s for each other. Sometimes it’s to say something to someone else, to make them understand a viewpoint, feel an emotion, perceive a shift.

If we don’t practice we stagnate, lose the technical capacity to say what we want to say. If we don’t create for ourselves, we lose touch and create something we don’t care about, or cease to care enough to bring a work to completion. If we don’t create for each other, we sink into silence, stop hearing from each other, learning from each other, and eventually dissolve.

I’m going to keep creating. For practice, for me, and for you. I hope you will do likewise.

If you enjoyed this essay, please consider supporting me on Patreon. Support at any level lets you read new posts one week early and adds your name to the list of supporters on the sidebar.

Advertisements

If you’ve been keeping up on the blog for the past few months, you may have noticed that it’s been a while since I’ve posted any updates regarding monthly projects. What updates there have been haven’t really included any finished results. The fact is, these last few months haven’t been very conducive to getting work on these projects done – and, even when circumstances have allowed it, I have not had the motivation to pursue these projects as devotedly as I’d need to to bring them to completion. Even though I’ve been happy with how the weekly posts have been going here, that’s really only half the work I’m supposed to be doing. For March I’d wanted to collaborate with others to bring a reasonably-sized 2d platformer to life. There was less interest in the project than I’d hoped and I had less time and energy to pursue it than I’d hoped, so it eventually went on hiatus – hopefully to resume someday but, well, we’ll see. Afterwards, for May, I wanted to develop a vector graphics drawing tool for Unity. This is still an idea I have some enthusiasm for, but it turned out in the end that I needed to do a great deal of studying in order to understand the fundamentals of computer graphics that would allow me to bring this to life. It turns out that just understanding the math isn’t enough, you have to understand how the math translates into instructions that you can pass into a graphics card. And, though I eventually got a handle on these problems (I think), the next month was so busy that I ended up having to time or energy left over to work on actually programming the tool itself.

And now it’s July. I really don’t want to turn this project that I have barely any concrete work done on into a three-month project. I really don’t feel like finishing that platformer right now. So, for the time being, I’m doing something different. I need a win, here.

Five months have passed since I made Convergence Compulsion for Wizard Jam 8, and since it is a semi-annual event the next one is rolling around again. As with the last jam, it’s intended to last two weeks – but I’m going to spend the entire month on it since no one is really a stickler about these things. I don’t know what my project is going to be, but my commitment at this stage is to A) Actually finish a damn game, and B) Make it shorter and more polished than Convergence Compulsion, since I felt like a lot of players lost patience with it before the end (though I remain proud of that project).

Once the month is out, once this game is done, I’m going back to EverEnding for August. I’m currently considering ways to integrate EverEnding into my Patreon monthly work, and I’ll have more on that in a month or so. For the time being, I have to figure out what I’ll be working on for Wizard Jam 9. Wish me luck!

Sometimes making art is as natural as breathing or sweating or speaking and you just need to figure out a way to bottle it. Sometimes making art is like trying to hold your mind in the shape of a mold while you pour plaster into it. Sometimes making art is like putting together a puzzle, and each piece you place gives you a clue to where every other piece needs to go. Sometimes making art is like producing a pearl, where something just rubs you the wrong way for too long so you try to wrap it up nicely and present it to the world. Sometimes making art is an accident and sometimes making art is a mistake. Sometimes it’s easy, sometimes it’s hard, sometimes it’s a burden and sometimes an escape.

The art of making games is chiefly defined by how incredibly long it takes. It’s a marathon, the kind that leaves your pants pissed and your nipples bleeding. It’s carving a new piece of a miniature ship and fitting it into place in a bottle every day, and each piece is its own work of art that is itself sometimes like this, sometimes like that. It’s such a vast task that each day it presents another aspect of itself, and you have to find another way to love it enough to keep working on it. Or to hate it enough. Or to have no other choice.

Sometimes making art is a job that you just have to go to every day, or a spouse that you wake up next to and that you go to sleep next to. It shapes how you engage with the world. Sometimes making art is a country that you travel to. Sometimes making art is a therapist, an architect, an accountant. Fictional lives bleed out into real lives. Fictional characters bleed out on fictional floors, and real tears are cried for them, and something slowly shifts inside, and we walk away different than we were before.

It’s not like we have a choice. We’d be making art whether we want to or not. Ancient peoples crafted pots to piss in, and they didn’t know that they were making future valuable antiques. People cave painted before they had a word for paint. We made art before we made artists. So why should this be so hard, or be so pressing? What shifted that made this easy and natural thing such a struggle, such an imperative?

Saying something specific is much harder than saying just anything. Maybe we’re searching for the right words to say the things that need to be said, and it’s really not certain whether those words have been invented yet. Maybe it’s just hard because it feels like time is running out, that we’re sinking, and that we need to make a monument so that someday we could be rediscovered. And I know now that art isn’t actually immortality, that even the longest-lasting work on Earth will probably die with our species sooner or later, hopefully later, probably sooner. What else can we do, but try to leave a death rattle that echoes as long as possible?

Sometimes making art is as natural as breathing. You cannot stop, until one day you must.

If you enjoyed this essay, please consider supporting me on Patreon. Support at any level lets you read new posts one week early and adds your name to the list of supporters on the sidebar.

Habits are helpful. Habit is a place to nail down the flapping edges of your behavior, to train consistency in yourself. But as with all points of stability, every habit rests on something else, and those things can be shaken loose. A home, a person, a job, any one of these may seem rock-solid only to roll away, and that’s when habits tend to slip. I’ve been letting habits I’m really quite fond of slip mostly from being distracted, by projects, novelties, and significant life changes both good and bad. I haven’t been writing blog posts – I’m going to be trying to do better on that score, since I think it’s good for my brain to get those thoughts out there and these posts are also the most consistent creative work I’ve produced in my life.

But okay, what about last month’s monthly project? By which I mean the month before last’s monthly project, which then expanded to become a 2-month project? It has, I guess, now further expanded to become a ?-month project.

I should probably talk a bit about what the project is before talking about how it went/is going. I decided going in that it was going to be a 2d platformer, and that for the first time I was going to seek out collaborators instead of trying to go it alone. With input from other people interested in the project it shifted into a 2d stealth platformer with some environmental interaction – think of, perhaps, a cross between the N series of games and Spelunky. Many of these elements are still, ah, a little rough around the edges, but I think the idea still has a lot of merit.

It was and is going well, but I got kind of burned out working on it — part of the idea behind these one-month projects in the first place was that they would be projects I could work full-force on and then complete and put down right around the time my enthusiasm might start to wane. This is the first such project I’ve tried to work with other people on, and I wasn’t prepared either for how that would affect this dynamic or for how busy I would be during that time period. Everyone has their own way of working, and on a freeware-type project like this everyone has a dramatically different scope of time they can bring to bear on the work.

So, right now, I don’t see any reason to rush this project to completion. I’ll be taking the next month or two to work on other monthly projects, while picking away at the most urgent tasks on the platformer as they become necessary, and then revisit the project in a couple of months to try to wrap things up.

In the meanwhile, for this month’s project I’m going to work on creating a vector drawing tool for Unity. This is something I came up against while I was building the lighting system for the 2d platformer project: Unity has very few tools for vector drawing, and those that exist are either no longer supported or aren’t very good yet. I’d like to take this opportunity to try to create a tool for creating vector graphics based off of the Flash graphics class. I’m not sure how far I want to take that approach, how full-featured it will be or what other capabilities it will encompass, but I at least have Flash (and OpenFL, the open source Flash-inspired game dev tool) to refer to for ideas and inspiration. Next month I’ll probably return to EverEnding… sort of! I’m going to try to basically port all the work I’ve done on the project into Unity and see if I can effectively use that to streamline and improve the quality of the work. It’s mostly a feasibility study/experiment. Either way, hopefully having this vector tool available will help in that process as well!

Well, it’s been a busy month. That’s putting it somewhat mildly – the last week or so has been possibly the hardest I’ve ever worked on a project, putting in anywhere from 8-12 hours every day and culminating in one last completely brutal 14 hour day on the first of February to wrap the project up. It’s still not perfect, I could definitely find plenty to do if I wanted to spend a week or so on polish and fixes, but for now I really just need to let this one go, because I’m exhausted and I want to move on to something else.

For January, I participated in Wizard Jam, the Idle Thumbs community game jam. The premise of the jam is to create a game based on the title of an Idle Thumbs network podcast, and since many of those titles tend to be weird and imaginative to start with there’s plenty to work with. I picked The Convergence Compulsion, and then later when I found out that someone else was interested in using the same title, appended the subtitle “The Satisfaction of a Job Well Done”, another podcast title. My very early conception of a game to go with this title was a fast-paced 2d puzzle game in the vein of a match-3 or Tetris where you tried to get different laser beams to line up, but the idea that eventually captured my imagination was a game where you build machines out of elements that emit power, manipulate it, and then turn it into some sort of work. Along the way, it shifted away from the idea of building complex machines and towards figuring out a solution to a puzzle made out of a few components and a number of simple humanoids, kind of like the games The Incredible Machine and Lemmings. At the end it came out pretty close to that, except most of the humanoid behavior had to be cut/simplified.

The concept of Convergence Compulsion is that you work for The Convergence Corporation installing hardware in different locations. The hardware usually consists of at least one power orb, which emits power particles, and at least one converger, which attracts them, and then using these and some other devices which focus, reflect, or split these particles you need to power different machinery. This ended up being kind of a finicky concept – Sometimes machinery ends up getting accidentally powered on just due to random chance, sometimes it takes a while to get the equipment specifically where it needs to be to focus particles, sometimes solutions I didn’t anticipate work and sometimes solutions that should work fail to because I didn’t script the levels to account for them. For the most part, though, I think I’ve managed to achieve the game I had in mind.

Here it is:

Convergence Compulsion: The Satisfaction of a Job Well Done

 

In addition to this, Wizard Jam 8 participants created a number of other great games, many of which I commend to your attention. A few standouts among those I’ve played or seen played thus far:

I’m exhausted but generally pleased with what I accomplished during January, which brings us to February. Now, I had originally planned on making another game this month, a 2d platformer project so I could better understand the capabilities and methodologies of Unity 2d development, but right now I’m really ready to just not work in Unity for a while. Thus, the 2d platformer project is getting pushed back one month to March, and for February I’m going to be focused on writing music, ideally with the end-goal of making another album. I have a few tracks floating around already, so it will really only take maybe 5 or so more to have enough for an album, but we’ll see where I end up. Even if I don’t end up having enough it’s fine, I just want to spend this month making as much music as I can and definitely not programming.

Eh well the December project didn’t really go anywhere. I can at least put some screenshots of how far I got before I decided I’d kind of messed up:

I spent a week or two planning this building layout, figuring out Pro Builder (a tool for constructing 3d objects within Unity), and picking up the basics of other tools, such as Unity’s terrain system. In the end, I was… dissatisfied. I felt like I had just the very edges of what could be an interesting environment, but Pro Builder was becoming increasingly unfriendly the more I worked on it, and small issues with the geometry got harder and harder to fix – leaving me unable to make important changes, such as adding more windows.

I then decided that I needed to be able to work on this in a more full-featured 3d environment. I don’t know whether this was a good or a bad decision, but it was definitely the beginning of the end for this project. Originally, I’d hoped to just export the model from Pro Builder into Blender, a free and very full-featured 3d editing software. Unfortunately, all of the work I’d done in texturing and detailing the environment in Pro Builder came to work against me, with every separately textured subsurface of the object exporting as a separate element. I’d hoped to just drop my old work into Blender and immediately start work again, but this proved to be unfeasible. Over the next few days I studied the basics of Blender, and I began to reconstruct the building – but it is, after all, very difficult to be enthusiastic about doing the same work twice, and my capacity for enthusiasm is inconsistent at the best of times.

At this point we were pretty close to Christmas anyway, and my attention went away from getting game work done and towards all of the preparations that came with that. After Christmas I was mostly focused on cleaning and thinking about what the next year is going to look like. I’m still thinking a lot about those things, but it’s time to start a new project…

Well, close to it anyway! I’m actually not quite done with holiday stuff, and will be traveling for the next several days. Once that’s past I’ll have all month free, and hopefully by the time I get back home I’ll have a solid idea of what I want to work on. I do have a general plan of approach, though, for what I want the next several projects to be, based on the skills I want to pick up and practice:

January: Wizard Jam. The Idle Thumbs community runs a semiannual game jam where people spend a couple of weeks making a game, usually based on the title of one of the podcasts. This community has been a great source of support for me over the last couple of years, and though I’ve participated in the Jam a couple of times I’d like to put some work into something I can really be proud of this time. I’d also like to collaborate with at least one other person.

February: 2d Platformer. I would like to spend a month putting together a simple but complete 2d platformer. The purpose of this is twofold: First, to create a game simple enough that I can focus on creating content for it, and second to gain an understanding of how 2d works in Unity. The latter is important because it’s going to determine if, when I return to work on EverEnding, I continue that project in Flash or reimplement it in Unity. Probably the former, but I want to be open to the latter.

March: Album. I miss writing music, and though these other projects will probably provide opportunity to do so I’d really like to make it the focus of my efforts for a while. There’s a slight chance I might swap this one to February, since I’d prefer to dedicate fewer days to it and more to the 2d game, all else being equal.

April: EverEnding, Chapter 1, Part 1. I think if I really focus for a month, I can create the introductory areas of EverEnding to a degree that is, if not finished quality, at least close enough that I can finish most of the rest of the game before I take another quality pass. If I hit this milestone, I’ll start regularly setting up work months like this. I really don’t want to abandon this project! But I don’t want to be okay with it taking forever either.

All in all, it’s hard to be upset with how this month went. I’m disappointed that the project didn’t turn into anything, but I’m hoping I can keep up the momentum I started in learning these 3d tools, which have generally been a weakness of mine for a long time. I learned a bit more about the danger of trying to do things the ‘right way’ as well – this has been a vulnerability of mine for a long time, of feeling bound to execute whatever I feel to be the ‘proper’ way of doing something. The proper approach, though, is the one that creates a game, and so far that seems to elude me.

Hopefully, in a month, this space will describe my new Wizard Jam game – or games? Until then, hopefully I can also manage to keep up on Problem Machine blog posts a little bit better than I’ve been managing the last couple of weeks.

The first of what will hopefully be many monthly projects is complete! This ended up being a little bit more along the lines of a prototype than a complete game, but I expect that most of them will – and it’s still quite playable for what it is, I think. Click this text or the above picture to download the game.

I learned a lot about how Unity works doing this. Starting from the incredibly basic Roll-A-Ball tutorial provided by the Unity team, I added a jump (which didn’t make it into the release version, but which I am quite pleased with nevertheless – if I end up creating a more complete and sellable version of the game it may find its way back in), then added an advanced camera and gravity beam. Most of the development time went into implementing and tweaking these effects, and I’m very pleased with the overall feel of it now, though certain aspects, such as the simple “X” beam cursor and the occasionally clumsy camera, could use improvement. The game is unfortunately still rather unoptimized – I’m unused to 3d optimization in general, and also more specifically unused to optimization in Unity, and also most of the few things I do know about optimization have to do with ensuring that the game doesn’t render things the player doesn’t need to see – which, in this game, is honestly not very many things, since movement speed can be so fast and can change very quickly the player really needs to be aware of where all the platforms are at all times. That’s one reason I wanted to make the player character reflective, so that you have some idea what’s around you even if you’re not looking in that direction. Unfortunately, because the character is reflective that means even the parts of the level you’re not looking at need to be rendered, so it really does affect the performance.

So, what did I learn from this project? What went right and what went wrong? About halfway through, I was imagining a game with approximately the same gameplay but set inside a giant office or other mundane room. This would have been difficult to do, because I have very little experience creating a realistic 3d space, so eventually I decided to make a more abstract “cyberspace” world. This helped me create a simple level quickly, since I could really just throw together whatever geometry seemed interesting without any concern as to creating textures or ensuring everything was to scale, and also allowed me to create a very open space where the player could do almost anything with the gravity beams. I knew early on that I wanted the player to be a glass sphere which shattered on hard impacts, partially inspired by Marble Madness. It took me quite a while to figure out how to create the shattering effect – I eventually found code to create something along the lines of what I needed, but had to modify it slightly but significantly to suit my purposes. I’m pleased with the final shattering effect, though it sometimes renders in ways I don’t expect.

I tend to think of music creation as coming fairly quickly and easily to me, but it was actually difficult under the time pressure of the last few days of the project. While I like the track I came up with well enough, it’s shorter and simpler and has less production work than I usually like to put into my musical work. I think it’s well suited to the game though, and I haven’t gotten tired of listening to it yet which is a good sign. The sound effects were mostly pulled from freesound.org, though I modified many of them quite significantly, mostly to make the glass sound a bit more musical when it struck or rolled.

All in all, I’m quite satisfied. It might not be the most ambitious project, it might not have a ton of content, but I do feel it offers something unique and that I have executed it to a reasonable level of quality. I may revisit this project sometime next year and try to develop it into a complete game, which would involve adding a bunch of new levels, leaderboards, and ideally some sort of head-to-head racing mode.

For December, I’d like to try to patch up a weakness of mine: The same way as P1aySpace ZER0 was an opportunity to learn Unity, I would like to take this opportunity to learn to create the kind of realistic 3d space I opted out of making for this project. I’m not sure yet what kind of game I would be setting in that environment, though I have a few ideas — first I want to plan out and construct this space, then I can see how much time I have left, during this very busy month, to build a game into it. Hopefully I will be as pleased with that project as I was with this one.

Oh, before I forget, since this game turned out quite a bit more difficult than I had initially expected it to, here are a few tips:

  1. Use the repulsor beam. Though going fast is fun and satisfying, you will almost certainly destroy yourself if you don’t use the repulsor to slow yourself down sometimes.
  2. Don’t worry if you miss a gate. Until you get down to the last couple of gates, missing one usually sets you on a trajectory to hit another. Every missed platform is an opportunity to swing around and fly in a different direction.
  3. Rapidfire the beam to climb. Once you’re holding yourself close to an edge with the beam it’s usually possible to climb or swing up, but getting there in the first place requires you to pull yourself up with the beam.

Happy rolling!