Firstly, many thanks to slicer4ever, the judges, and everyone else who made The Week of Awesome II possible. Secondly, congratulations to everyone who participated, especially everyone who completed their projects!
And now, on to a retrospective of Docent 314, the game I attempted to make in one week. (a week which was, incidentally, awesome.)
Docent 314 is -- in theory -- a game where you play the part of a robot in a learning facility. You are in charge of one room in this facility, and your goal is to put toys in the room such that
What Went Right
Conceptual design. I spent Days 1 and 2, during breaks from my day job, designing a game around the theme. Although the design was larger in scope than what I thought I would be able to accomplish in one week, what I wound up making is very similar to what I originally designed -- the difference is that it's lacking features, which were not implemented only because I hadn't gotten to them yet.
Theme. For the first 6 days, with super-ugly temporary art and very limited interactivity, I had only faith that the theme was going to pull together On Day 7, the first time I ran the game and the previously-stationary toys started moving around... that was awesome! And then when the toys started reproducing... that was cool too! And the reproduced much faster than I had anticipated. Sometimes losing control of your code can be neat. Many of my ideas didn't make it into the game, so in my head the thematic content is successful; the game as it is may be too abstract for anyone else to see this. Still, I'm putting this in the "went right" category.
GameMaker Studio. This development tool just keeps getting easier to use and more powerful. Of note regarding this project is that the documentation helped out a lot, both the in-program help file and tutorials. This was important because some things, like motion planning, I had never done before. Also of note is that with less than 15 minutes to go in the competition, I clicked on "create stand-alone application," and boom; done.
Programming skill. I'm not saying I'm a talented programmer. I'm not. I did, however, code *more competently* on this project than I feel I have in the past. Most of my productive moments were brief, fast coding that worked right the first time I wrote it. I got sloppier as the deadline drew near, but even so, as I was coding I was thinking "I know there's a better way to do this...."
Research. Although you probably can't tell from the "finished" product, in theory the full scope of this game would have explicitly integrated childhood development theory. Because of this, I wound up doing a bit of research on the subject, which I find quite fascinating. If you're wondering what this has to do with toys, according to a definition of "toy" that I found, toys "help children become functional members of society," or something like that.
What Went Wrong
Time management. I knew that, because of my day job, the last two days of the competition would be the majority of the time that I had to work on the game. My thought was that I'd use the first 5 days to design & work on quick-to-implement, necessary-though-lower-priority stuff. I figured that coding the basic stuff that would be needed in any game would also give me even more time to flesh out the theme. That did work, to an extent. Once I had the theme, I should have started prototyping the gameplay immediately; this would have given me more time to fix bugs, and also would have proven that the concept was solid. Instead, I *hoped* that the concept worked, and did not have enough time to get the main gameplay to function. The final two days, which should have been the most productive, I wound up working very little, until the last 6 hours. In the future I'd like to try coding the main gameplay *as soon as possible.* That is to say, as soon as I know what the core mechanics will be.
Distractions. I didn't know about tWoA2 competition until two days before it started, so there wasn't much I could do about some ongoing distractions that were already in place once it started. In future competitions, when I know they're about to start, I should do my best to not start things like, for instance, dating. (Not that I have any regrets -- I don't. In a shorter jam, though, divided attention could be devastating to a project.)
Preparation. Nutritionally, I survived but could have done better; next time I'd like to have even more healthy quick & easy snacks. Once the week started, I wasn't in the mindset to remember what they were. Animation. As in, there is none. The game was absolutely hideous until the last few hours, and I'm rather proud of what I was able to pull together in such a short period of time -- I think the toys are pretty decent-looking, and the interchangeableness worked the way I intended. The lack of animation is unacceptable, though. Especially in a game where everything is supposed to be alive. Animation was planned, but was given a low enough priority that it never happened. It's possible that this should have been the second priority, after core mechanics.
Audio. As in, there is none. Composing music and creating sound effects are two of my favorite things in game development, but they were an even lower priority than art. Not really much more to say about this.
Community involvement. As a long-time-lurker, first-time-poster to gamedev.net, I had hoped to be more active in the forums during breaks in productivity. I think that all I can do next time is try to do better: read more, write more, comment more.
Application of theme.
My original design focused a lot more on the growth of the students' emotional stability and personalities, which is not at all expressed at the moment; in fact, students are just a bunch of lifeless numbers. And I cringed a bit when, an hour left in the competition, I wrote the words "Students Passed" and "Failed" as ways of scoring the player's results. (I changed the wording to be slightly more tolerable, but it's the same idea.) For a game that was supposed to be emergent and perhaps even educational, it turned out to just be min/maxing attributes.
Game-breaking bugs. Well -- to be fair, there may only be one bug. One or many, the game just locks up after a very short period of play. This bug showed up about an hour before the deadline, and I wasn't able to find it. I wasn't even going to submit the "game" but someone suggested that we post "whatever we had." I haven't gone back to track the bug down yet; I expect I'll find it when I do; there are a bunch of nasty loops that I threw in at the last minute and I'm sure it's in one of them. Had I started by programming the core gameplay, I would have had all week to track down these bugs.
All in all this was a very positive experience. Although I'm unsatisfied with my output, it was great practice and I learned a lot about my work habits. And seeing the way in which other people interpreted the theme, and their process, has also been fun.
In the last few minutes of The Week of Awesome II, I submitted a thing... unfortunately it is really, really broken.
In the last few hours I added a bunch of important features that 1) i couldn't remove because they're the meat of the experience and 2) I didn't have time to properly test. I knew, a week ago, that I should have started with the tricky and most important features, but I didn't.
Aside from the game not running (cough cough) the thing I'm most disappointed about is not having time to add music & sound effects, which is generally my favorite part of the process. All in all a great experience though!
Programming languages have their own meaning, and then sometimes I realize I've written something in English as well. This may or may not be the best way to go about drawing buttons in a main menu screen; either way, I bet Freud would have something to say about it.
My goal for the year, while I have a job that comfortably pays the bills and allows for 3+ days off a week, is to participate in as many game jams as I can. TWoA2 came at just the right time!
I'm not part of a team, so I'll be doing all the development myself. I'll be using GameMaker Studio, Paint.NET, the Indie Graphics Builder image library, and Audacity and Reason for audio; and if I have time, I'd love to learn how to integrate Spine animations into GMS.
These first two days I've been at my job and unable to do much coding, so I've been thinking about the theme and designing instead. The theme for this particular game jam is "The Toys Are Alive!" At first this sounded ominous, but after reading Wikipedia's definition of "toy," I decided that the exclamation point was part of an advertisement. I figure that for a toy to be alive, it must still be a toy, and retain some of its toy-ness; a toy that becomes something else is no longer a toy. So, I decided that for the purposes of my game, a toy helps to prepare children to be a part of society.
Sidenote: I may be biting off way more than I can chew. Certainly I don't have enough time in the next 5 days to put everything into this game that I've come up with. Hopefully, I'll be able to finish enough for a fun proof-of-concept.
The game is tentatively called "Docent 314," because you play the part of a giant spider-like toy robot that is essentially a somewhat indirect teacher, and because "The Docent" sounded a bit too Fifty-Shades-of-Grey. The gameplay will be reminiscent of a tower defense game, however, instead of placing gun turrets to halt the enemy's advance, you'll be placing toys that will help the advancing children's development. If that doesn't make any sense, well... hopefully it will by the time I have something to show you. 0:)
Here is a sketch of the player's giant spider-like eye-and-grabbers, which we'll probably never see in-game.
A few thoughts about what the other toys might look like.
So far I have a majority of the basic game framework -- navigating the different main game states, interacting with the player, etc -- and a grasp of the basic concepts needed for the features I'd like to include. I haven't done any pathfinding with GameMaker before, so that should be interesting. Tomorrow I have a full day to work on the game, I hope to have the majority of the code that doesn't involve interaction between game elements done, and enough element interaction to prove that it's worth moving forward.
To those of you who are also part of the game jam, good luck on your projects!