An experimental “game”

As you may know if you follow me on twitter, I am currently working on a side project. It is still very early on, so I won’t really say much about it yet other than it is a sci-fi game coming out of a love for the pacing of Alien and 2001: A Space Odyssey, the characters of Firefly, and the sense of freedom and exploration in Super Metroid.

I have started working on this new project for a few reasons, most of which I wasn’t conscious of when I began. The biggest reason is that I am straight-up burned out when it comes to working on Duet. I have been working on it for somewhere close to three years now, and it is still far from finished. I am not very technically skilled when it comes to game development, primarily from a lack of experience. This makes it difficult to implement even relatively simple features in a appropriately simple way. Although Duet is a small game, with only six worlds and somewhere around an hour and a half of playtime, it is still extremely ambitious because of the level of polish required for a beautiful HD hand-painted world that feels alive.

I have learned a lot of things over the past 3-4 years. One of the best lessons I have learned is how unbelievably hard it is to finish building a game, even what you think is a small one. Duet is not finished. It is not even remotely close to being finished. Looking at the state of the game in comparison to the length of time it has dominated my thoughts makes me feel like a failure. I don’t know how to see the good things in it anymore, all I see is an incomplete game which I am taking way too long to complete. I still believe in the idea of how great the game could and should be, but I find it increasingly hard to see a clear path from here to there. That makes even thinking about opening up the code for Duet a pretty draining thing.

A good piece of advice I have heard for beginning game designers is “think of the simplest possible form of your idea, then make it simpler.” I would add, “and then make it even simpler than that.” This is much easier said than done, of course, since it can feel to a young designer such as myself that simplifying an idea necessitates compromising the vision. However, the past few years have made something clear to me: lack of experience is the number one thing that will kill your game. The reality is that you only get better at things by doing them, and that includes completing games. Since I have spent most of my game development history with a level of ambition far beyond my ability to achieve, I have gotten quite good at being stuck in the middle of development on a game, and have next to no skill at finishing them.

i have been making games for 14 years, so why have I never released anything? Because I haven’t been trying. Oh, I’ve worked pretty hard on a lot of projects, but I am never considering how I’m going to be able to complete them as part of my grand visions. This is a pretty big oversight on my part, because games can balloon very quickly into being much bigger and more complex things. It’s easy to keep dreaming up new features, new locations, and new characters without even contemplating or understanding how much work you are adding in order to reach a state of “completion.”

As an aside, but giving more context to my predicament with finishing projects. I usually exist in one of two modes: I either tie my self-worth to my productivity and feel terrible about myself all the time because I’m mostly unproductive apart from the rare moments when my self-loathing actually inspires me to get a little bit of work done, or I don’t care whether or not I do anything creative or useful or career-building, and so I don’t. It is very difficult to find a middle ground.

So, what was the point of all this?

Duet is on hold until two criteria have been met: First being that I feel like I can actually finish the project without having to compromise the vision. And second that Erik is not working full time on a different project which actually pays for his living expenses.

In the mean time, I want to make more games, and start getting better at finishing things. This new project is already ballooning like crazy in my mind, but I’m cutting it down as much as I can. Realistically, I can only really excel at one thing per project with my current level of skill. That naturally limits the scope or appeal of a project, but I would be much happier with a small but complete game that I can show everyone than I am with a much more ambitious game that is so half-baked that I’m embarrassed to even show screenshots of for fear of letting on how incomplete it is.

As part of this goal to finish more games more frequently, I’d like to make more games under limited development timeframes. Consequently, I actually did make a full game in around 4 hours this past week, so I’d like to post it for you to play and maybe even give some feedback. It’s super experimental, and you probably wouldnt even call it a game. But it is at least, a complete experience:

Experiment Number 89

Click here to download. (.ZIP 8.9MB)

Created with: Game Maker 8.1 Lite (apologies for the watermark, as I haven’t paid for the software)

Uses great spooky music by Kevin MacLeod, licensed under the Creative Commons Attribution License.

Adventures in Shader-ville

g++ triangle.cpp ... -lglew32 -lopengl32
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x7): undefined reference to `__imp____glewDeleteProgram'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x27): undefined reference to `__imp____glewUseProgram'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x69): undefined reference to `__imp____glewEnableVertexAttribArray'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x90): undefined reference to `__imp____glewVertexAttribPointer'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0xc7): undefined reference to `__imp____glewDisableVertexAttribArray'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0xff): undefined reference to `__imp____glewCreateShader'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x11d): undefined reference to `__imp____glewShaderSource'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x131): undefined reference to `__imp____glewCompileShader'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x143): undefined reference to `__imp____glewGetShaderiv'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x18b): undefined reference to `__imp____glewCreateShader'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x1a9): undefined reference to `__imp____glewShaderSource'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x1bd): undefined reference to `__imp____glewCompileShader'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x1cf): undefined reference to `__imp____glewGetShaderiv'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x217): undefined reference to `__imp____glewCreateProgram'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x225): undefined reference to `__imp____glewAttachShader'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x23d): undefined reference to `__imp____glewAttachShader'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x255): undefined reference to `__imp____glewLinkProgram'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x26a): undefined reference to `__imp____glewGetProgramiv'
/tmp/cc2DLE4T.o:triangle.cpp:(.text+0x2ba): undefined reference to `__imp____glewGetAttribLocation'
collect2: ld returned 1 exit status

Does that look like anything to you? Yeah. Me neither. In honor of that fact, this article is intended to be understandable enough to be interesting and readable for even an inexperienced non-programmer type. However, it will also provide some very useful information which may save from grief someone else who is attempting the same thing as I just have. Therefore, I will try to provide as many useful links as possible.

Continue reading “Adventures in Shader-ville”

Duet is submitted to IndieCade

I would like to announce that Duet is officially entered into the 2012 IndieCade festival. IndieCade is a great celebration of independently developed games which has been growing in popularity over the past few years. Since they actively encourage work-in-progress submissions. I decided that Duet would be a good fit.

Wish us luck, and we hope to be back with something new and exciting to show everyone. Things are putting along at a gentle pace. Erik and I are working in our spare time, so it’s a bit of slow going.

Honesty

As an independent developer, I tend to pride myself on my ability to remain open about the development of my projects, but sometimes it is hard to admit the truth. Either because I blame myself and feel lazy, or because I just don’t want to disappoint anyone. The realities of game development can be a lot less clear cut and pretty as some of the final results. There is honestly no medium that is harder to produce a complete work in.

I submitted Duet to the Independent Games Festival late last year. I was unfortunately not named among the excellent finalists. However, it did bring me some surprising attention, including an article on IndieGames.com. All this excitement from the outside has made it painfully apparent how slow my progress is. I haven’t even touched the code for the game in probably 3 months or so. So I feel that I should be honest with everyone about what I have been doing with the project: Nothing, at the moment.

Am I giving up on Duet? Definitely not. I believe that it is the most important game that I have worked on in my life. However, there are some difficulties which have arisen in the development which have made working on the project tiresome. Tiffany, Duet’s artist, was my fiancé at the time of her entry into the team. Now we are separated, and that makes collaboration difficult to impossible, due to the emotions involved. It is probably never advisable to build a work relationship atop a personal one.

I am doing a ground-up reimplementation of the gameplay from the original Game Maker prototype to my custom C++ and OpenGL engine. The port was envisioned as a way to achieve a more complex and modern art direction than what is possible in Game Maker. Therefore, I find it hard to be motivated when I do not have an artist working with me. I have been putting the project on hold until I could work things out with Tiffany. Now it seems clear that that is not going to happen, so I need to find another artist who is right for the job.

As you all know, life is expensive and game development is equally so. Games take a long time to develop, and progress can be slow enough when you work on it full time. Part-time progress may be enough to get Duet done, but even still, I lack the funds to pay an artist a competitive salary. So really the best I can offer anyone is a share of the final profits, after all the bills are paid of course.

Anyway, all of these factors have conspired to put Duet in a very tenuous position in it’s development. Progress is not happening, but I will inform you all as soon as I have anything new to show.

If you think you are what I’m looking for and are interested in helping make Duet look more like it plays, then you can drop me a line here, @mvandevander on twitter or on the Facebook page for the game. Please have examples of your work.

Duet Gameplay Overview

There is now a brief gameplay overview of Duet on YouTube.

Check it out!

Keep in mind, the footage is from an incomplete prototype version, and has pretty much zero artwork. This essentially a less spoilery version of the pitch I submitted to IndieFund earlier this year. It also should be the first footage that you will have seen of the game, period. So that’s pretty cool, right?

psst…There may or may not be some media coverage of Duet soon. Keep your eyes peeled.

Absolutely Nothing


Those who know me, know that I often deride the Call of Duty: Modern Warfare series as a exploitation of veterans. The game seems to offer an unrealisticly positive representation of modern warzones, twisting something terrible into something fun. The game appears as Halo, only skinned to look like real war. Replace the SMG with an AK-47, the Warthog with a Humvee, Space Marine with a real Marine. Also, if you know me, you know that I, until this writing, have never played the Modern Warfare series.
Continue reading “Absolutely Nothing”

Down to the Wire

Screenshot, again

On the last day before the deadline, after a rush to the bank to deposit the 95 dollar entrance fee into a check card ready account and a 40 minute drive back home to get the thumb drive holding the code for the prototype, following a late arrival for work with a sneaky ftp upload when I was supposed to be retouching, Duet is now officially entered into the 2012 Independent Games Festival.

It is competing alongside 568 other games: a record turnout. Submissions come both from first time developers, as well as seasoned veterans. Unfortunately, the production version was not yet complete enough for a viable submission, so that means no fancy graphics or sound. Here’s hoping Duet wows some judges with it’s intellectually stimulating puzzly goodness!