My first year (and a bit more) of game developmentPosted: 2012-12-25
This is a long, rambly sort of post on my past year + few months of game development – reader beware. From messing around with Flixel to working on Anodyne.
In August 2011, I had just finished up a Mathematics REU – a “research experience for undergrads” (i think ) – and was beginning to try out computer science research… In other words, I was doing the normal soul-searching of sorts, trying to weed out what I was and wasn’t a fan of taking part in. Fast forward to now, I’m not doing either…but those are different stories and not particularly relevant, except for the context I just gave, but anyways…
Since I was more or less living alone in a Hyde Park apartment that summer, and though had friends in the area, was often too lazy to bother managing to walk over to one of their apartments, I had a lot of free time on my hands. Prior to that point in time, with respect to game development, I had messed around with some scripting (Cave Story editors), done some random stuff on paper by myself and with my sister, and made one or two really awful games in Visual Basic and Java, though I had never actually gotten around to making something playable. So, I had free time, so why not change that? Now or never…maybe.
Now, I had some confidence with programming thanks to a university class I took, and I thought I was proficient enough with music to make acceptable songs, so I figured I could just hack it very poorly with art, and hash some game out. I believe, some night in August, I recalled a game engine called Flixel, a framework that was easy for beginners to use. I looked at it before my first year of college, but I never really touched it. So, I joined the forums, and started with the platformer tutorial. My workflow was pretty slow, as I compiled everything in the shell in my Ubuntu environment (as opposed to using an IDE in Windows, such as FlashDevelop). I would do this for the next few months, but it worked fine, nothing I was doing really big enough to merit having an IDE.
Anyways, school came. I was just working on this pretty dumb platformer, you played as this dinosaur/plant thing that shot this ball and could swing on hooks. There was one level, but not really a goal – it took me from August till December to do this, though I barely did any work (maybe poked around for an hour or so on weekend nights). In any case, it was something (you can play it here: http://seancom.nfshost.com/gamedump/ShamuInCrispyLand.swf) . And along the way, I had worked on a few songs for it, as well as moved from PxTone to REAPER – finally starting to learn more on using a lightweight DAW (which I’m still using at the moment, and fits my needs nicely). So I guess game design and composing were progressing at an equally slow rate (but at least it was progress).
A Game in 48 Hours: Ludum Dare
By some stroke of luck, after the autumn quarter of school, I heard about…or remembered, the mystical Ludum Dare game jam! Make a game in 48 hours, get feedback, give feedback, etc.! I was growing sick of my previous game – it really wasn’t going anywhere – and so thought “oh, why not”, and gave up a weekend to try out Ludum Dare. This was in mid-December.
This was a good decision.
I ended up making the game “Enslaving Davement”, a remarkably mediocre 8 (or 10?) stage platformer where you must collect musical notes and reach the goal before a bar fills up – you can collect medical pills in order to reduce the bar’s journey toward your Game Over. (http://www.newgrounds.com/portal/view/586082) . It was bad. The music was okay. And just okay…probably leaning more towards bad. But at least I had made a game…it provided no magical insights or attempts at insights into anything particularly profound, but it was a game. And I finished it. Yes! wonderful. http://www.youtube.com/watch?v=rAZlTgyMqYQ is a link to a timelapse of creating it.
Now here’s an important thing I haven’t mentioned so far – friends. Friends were very important in getting to that point. There’s a lot of types of people when it comes to creativity, and for me, positive encouragement from friends really helps. I am lucky enough to have a few friends and family that do not shoot things down at the right times – to encourage to keep going even if what I’m doing is more or less crap. Thank you, friends! A few friends were encouraging, even through my awful initial Flixel game, and the disaster that was my Ludum Dare entry.
It’s important, for me, to have those friends. It’s also important, I think, to consider whether such encouragement plays in your creative process.
As another slight tangent, there is also the necessity of receiving criticism, and being able to receive it well. I was slightly learning this throughout the Ludum Dare game – and tying that to friendship, it’s also important to have friends who are able to offer criticism when needed, but balance that well with encouragement.
So if you find a friend like that, hold on to them! It’s a Good Thing. (Not to mention family! If your family is supportive, thank them!)
Anyways, back on track…
My First Platformer
So, now it is January 2012. School is starting back up. Around Christmas time, I had messed around with the idea of making a top-down adventure game, based on the computer lab I worked in, as a Christmas gift for my coworkers/friends at school. That didn’t happen, so I set my sights on expanding Enslaving Davement into a bigger game, and getting a nice Flash Sponsorship!
How to start this? Well, for one, I had to plan out the game – more levels, and all! (of course…) The final game, which would eventually be finished in March and released in early May (more on that…), would be called Inspiration Dave. Over the next two months, I sort of did everything in parallel – making sounds, writing the few tracks for the game, designing levels…etc. I set the end of the Winter quarter as my goal for finishing the game and starting the bidding process for Inspiration Dave – this served as my motivation for finishing the game.
Motivation is very important. You *have* to be a self-motivator to finish games (or really anything), as you’ll often have no desire to go on at certain points – seems to be a inevitable part of the creative process for a lot of people. Deadlines can be very useful to that extent…
Er, so, I did meet the deadline, and started bidding. We’ll come back to that process in a bit..
I made a few dumb games over the quarter. In January, my friend mentioned she saw some movie where a plastic bag hung in a tree, lamenting over its lack of ability to reunite with the woman whose groceries it once held. I thought this was amusing, and spent a day making a game on it. It is not a fun game, but it’s pretty silly. And is also a game – I think it’s a good idea to do game jams when starting out, or “mock game-jams”, just to get used to the process of bringing an idea to fruition and finishing and releasing.
I made a few other really bad games over Inspiration Dave development – one pirate kart game, and one for the SOPA jam. Both were less than 3 hour affairs, and as a result are very, very awful (but finished🙂 )
But, back to flash sponsorship bidding. So, a goal with Flash games is often to put them onto this website called Flash Game License, and wait for bids. Different sponsors (sponsors are people who run some flash game portal) will bid some amount of money, and at the end of a month you choose which bid you want, get that much money, and do whatever they say. Sometimes this involves handing over the rights, sometimes it’s as simple as just putting in a small logo for that goes to their website. I put Inspiration Dave up for bidding in mid-march, and it received no bids, though occasionally there were sponsors who would play the game for a long time (this was very nervewracking, as you could see who was playing, and for how long)…
So, come early April or so, and bidding was a complete failure, and about to end. So, a few minutes before bidding ended, at around 11 PM or so…
I decided to upload my game to Newgrounds and be done with it. Somehow after that, in the last minutes of bidding, I got a bid! I was happy with the terms and decided to accept it, running onto Skype to contact the sponsor, and then when the sponsor said everything was okay, I found that deleting a game from Newgrounds was at the moment, impossible. So I proceeded to watch Inspiration Dave get frontpaged in the next day, while at the same time I tried to take it down. Eventually it did get taken down (thanks Wade!) – in any case, it was an exciting experience, releasing a game and watching people comment and play it, though I wouldn’t say the game was particularly good.
Now for this sponsorship, I just had to put in a little bit of branding in a few spots in the game. This wasn’t bad, but the animations took a month to be made by the sponsor’s designer. While the sponsor was nice, this whole process made me a little frustrated with sponsorships – having to wait a month for bidding, then another month while someone drags their feet making an art asset, isn’t a pleasant experience. Still, I was being paid, so I guess I shouldn’t complain. Perhaps the worst part is that I couldn’t even get the animation to embed into the game correctly and get it to play once – no matter what I did, the animation would restart every eight seconds, making the game lock up for a few milliseconds every loop. This killed the game, so I just used a still screen of the animation for the final game.
You can play Inspiration Dave here: http://www.newgrounds.com/portal/view/595009
So, in short, getting a sponsorship was an interesting process. I decided that I may try for another one with my next game, although with all of these caveats and issues in mind!
So, Inspiration Dave came out in Early May, though it was done in mid-march. Throughout that time period, I made a game for Ludum Dare, Naos – a really awful mini-adventure of sorts with a bad story, and then “In the Aeroplane over the Mystery”, a game for the Molydeux game jam – another bad game where you ran back and forth, giving things to kids on an airplane before it began to crash. Those were short little things, but still good experience in starting and finishing projects.
A larger game called Anodyne
Now, with Inspiration Dave and a few small games under my belt, I felt confident enough to try for something bigger. I thought I may like to make an exploration game of sorts, similar to Yume Nikki, and also make an adventure game with more “structure”, similar to The Legend of Zelda.
So in early/mid March, before the end of the winter school term, I did a quick prototype of moving between screens in a Zelda-like fashion. It worked well, and even felt a little bit fun, so I decided to go forward with it!
I initially wanted to make the game a bit spooky, with no words, similar to Yume Nikki, but with Zelda-like gameplay…so over the next three months, I would draw terrible tilesets, write a few songs, and make dungeons, slowly programming the game mechanics – managing the state of monsters in rooms, fighting mechanics, enemy mechanics, dungeon design, etc. Initially, the game was called “Seen”, for a super secret reason that I don’t think I’ll bother going into (it has to do with what I thought the premise of the game would be…). In a month or two, I ended up changing it to “Intra”, as I decided to set the game in a dream world of some unnamed character.
For amusement, here’s a build from 4-20-12, which is two weeks before those two screenshots
Sometime in early summer or the end of Spring term, I started playing with the idea of Anodyne (then “Intra”) being bigger than just a Flash Sponsorship, though I had not written the sponsorship off. I started by making a TIGSource devlog (which I still update) – perhaps interesting is to follow its history: http://forums.tigsource.com/index.php?topic=26260.0 . This let me always have something to look at in terms of how I progressed, other than my commit logs. I also set a deadline – in June, I would release a public demo!
So a lot of work later, I was beginning a tech internship and also managed to finish the demo, which I released. You can play it here, it is from mid-June:
Luckily, people seemed to enjoy it, as crude as the art was. So this actually gave me the motivation to possibly try selling it later, and to keep working on it – however, doing the art soon grew tiresome and was way out of my skill set, so I started asking friends if anyone knew artists – I asked one of my good friends for help with the art, but she ended up being too busy, luckily, she knew a few people, and asked them. Around the end of June, Jon got back to me! And sent some of his work! (Which was good!) And he had done game stuff! This was a boon, indeed, and so we got to work.
So, work with Jon started then and went well, and is still going great. One of the things I learned right away was the importance of being able to communicate, when describing an area. The first dungeon was the first thing we worked on together, and Jon had to ask for clarification or more specific descriptions of the area, which at least for me meant I wasn’t doing a very good job in describing the intended scene. What I found useful in doing for the future was thinking of how I might describe to myself what I wanted the place to sound like, musically – interesting to me is that the process of doing the same thing for art is sort of similar, although the vocabulary obviously differs. This led to the insight that I could pick a certain aesthetic, or “feel”, for the certain areas, and then use that as the launching point for how to design and describe the area for Jon, and further for me to create the music (which is something else I find interesting but don’t want to talk about in too much detail). Doing this is often a tricky process as each area’s aesthetic has to fit the entire game, and make sense in juxtaposition to surrounding areas.
I could go on more on that, but it would be too specific to Anodyne. Needless to say, communication is key! One other thing I’ve learned a lot over the development of Anodyne is also the importance of being open to design changes. An early on challenge we had was deciding what to do with health. Initially, I wanted to remove health from Anodyne, and instead reward the player if they get through a certain series of rooms without taking some number of hits. So health, but a little different. We threw around different ideas – Jon suggested health regeneration similar to Call of Duty, which is the idea I remember the most. In any case, we decided in the end that it would be simplest to just do the normal health bar – undertaking the development of our first large game, and putting in a very “different” game mechanic might be too much to pull off well.
And that point – “pull off well” – has a lot to do with motivation, and the scope of the project. To reiterate, this was Jon and I’s first bigger game. Soon after working together, I decided the game was just too big to do through a Flash Sponsorship. This was for a few reasons, first, the game’s soundtrack would make the filesize way too big for most portals, second, I wanted the reach to extend further than just a browser-based game – and by further I mean demographic rather than pure number of people, third – something I BELIEVE Calvin French mentioned in the devlog in June – the game felt sort of weird playing with ads and all the visual noise around it , fourth, I felt Jon’s art, design suggestions and dialogue really was making the game into something much better, and fifth, well, I wanted to try making the jump to a commercial game. I feel (and still do, though maybe I’m delusional) that it’s now or never to try something like this, trying to get people to pay you money for something you create. And so, those reasons combined are (off of the top of my head) why I decided to make Anodyne a commercial release.
And so, pulling this off – a commercial release that would do at least a little well with selling – we would have to be reasonable with scale, not only in game length but design scope. Pulling something off that is new and innovative seemed a bit out of reach for my skill level, and I really want the dev cycle of Anodyne to be under a year (which it is on track to being.). I was finding mechanic and level design to already be a challenge, even with resting on confirmed and working mechanics from Link’s Awakening and the like. So, that’s a lot of why the game is how it is – we need to finish! I believe that finishing is an incredibly, INCREDIBLY important part of any creative process. So yes!
(Here’s another good thing for motivation: Deadlines! We used a number of deadlines – Jon starting school, the IGF deadlines, PAX East Mobile deadline, etc, as deadlines for ourselves. And they work! Usually…)
And also, the mechanics inherent in Anodyne were enough to reasonably try conveying what I wanted through mechanics and aesthetics – yes! Speaking of which, that’s one more important design compromise that was made – initially, I wanted no dialogue in Anodyne. Jon realized this was sort of crazy, and suggested dialogue. I thought this was a good idea (many things Jon has suggested have always turned out to be good ideas), so he designed a few characters to fit my themes and well, the rest is history with respect to that!
Now a bit on the timeline of Anodyne work…well, I put in time March-June to get that initial demo out. That was between school and my tech internship – late June, met Jon, we start doing basic spritework and figuring out the scale of the game. Come late July and mid August, I finish the dungeons and we do a lot of sprites – a lot of odds and ends here and there, August/september I’m working out of my apartment in Chicago, early/mid September we polish the beginning of the game, the menu UI, etc., and make a press push and get some positive press and release a publically playable demo – Jon starts school, then I do, and we do what we can while dealing with school – at some point in November, I went to ChiTAGFair and showed the game to some kids and adults, who liked it! And then come December, we’re somehow done with all the tilesets, music, level design, with a little bit to go!
Right…so what else. Before I move onto “why games in the first place”, just a word on marketing. This is something I learned a lot over this process…for independent developers striving to be able to financially support themselves with their work, recently I’ve seen there are two main paths that are taken. The first is to create something that is incredible, so incredible that people will flock to it without much effort. We are not in that boat. I think Anodyne is a pretty okay game. The many people who have played it seem to enjoy it. I think we’ve done a decent job with combining aesthetics and gameplay, and made it fun, to boot. I don’ t think it’s remarkable, but it is, I feel, hopefully reviving more traditional Zelda-like mechanics, at least in terms of the room design (which ends up affecting the entire game, really).
But I digress – since we’re not in that first boat, we are in what I see as the second one, which is to still try to make the game as good as you can, but know that you will have to work your ass of with “marketing” to be recognized…so, enter Twitter, TIGSource, Reddit, IndieDB, Facebook, contacting the press, doing interviews, doing podcasts, getting people to make Let’s plays, etc. All these things are needed to get your game known, and you hope that when it’s all said and done, the game will reach a wide audience and people will enjoy it, and spread it via word of mouth.
Marketing is important. For the majority of developers. Or anyone trying to get people to do something, really…
WAIT SO WHY EVEN MAKE GAMES
Some time over the past year – before Anodyne development with Jon – I had grown interested in the implications of games for the players. Can we express emotion through game mechanics and aesthetics? Our experiences and relationships with other human beings? Could these be conveyed to a player to get them to reflect upon such ideas, and possibly create insights into their own lives, possibly letting them become a more thoughtful human being?
Well, maybe. A lot of other developers are asking that question, too, in some form – we’re all exploring this uncharted territory of games in different ways, but at least some of our goals are in line. For myself, I like the idea of having all games share the same “universe” – that is, the game characters have their relationships to each other but the games around those characters are some projection of their minds (hence dream worlds). Maybe I can project dynamics with my friends into a game form to find further insight, who knows. If I take the things I think about a lot, and try to convey them in a game form, then perhaps I will learn more about those things. And perhaps others will too. At least, that’s the idea. Everyone has something to contribute through the medium of games, but that something will always be different.
And of course, it’s also just plain fun to construct entire worlds from mere lines of code – games are nice with art and music, because you’re never quite sure what sort of art/music will be needed to go along with the game concept. I’ll give examples with music, since I know that better – maybe your “music” is nothing more than just many footsteps and ambient sounds – see Limbo, or The Witness – or perhaps it’s driven by pumping, melodic chiptunes! What’s cool with games, is that when a game needs a certain “feel” and mechanic, that leads to the need for a certain type of music. And different combinations of feels and mechanics result in different music, so in a way, by creating games, we’re also able to explore new areas of musical composition!
If you’re interested, you can see all the mentioned games at http://seancom.nfshost.com/games.html .