Posted 08/28/2013 02:09:15 in Portfolio
Updated 08/20/2017 14:43:30
What better way to start this blog than with the event that inspired it? This is a quick reflection on my experience entering the 48-hour BaconGameJam this past June, organized by a community of game developers on Reddit.
I used to develop frequently. For about 6 years I programmed nearly every day, starting with a point-and-click program called Gamemaker 5 and moving on to C++ and C# and various libraries (Allegro, SDL, Microsoft XNA). Now, after a 3-4 year hiatus, I'm getting back into it. I discovered Unity3d and its great potential for quickly putting together games, and the BaconGameJam served to get me up to speed with it.
The jam was a hectic blur sharpened by nothing but coffee and food breaks. And the occasional nap. In the beginning stages, I worked the concept out on paper, and I brainstormed jump scare ideas as I worked on programming some of the more mindless aspects of the game. A small but significant portion of my time ended up going towards learning about the Unity IDE and its various features. I dinked around with getting the atmosphere and lighting right for far too long, then the wheels hit the ground! I started implementing the ideas as best as I could-- Unfortunately, by that time the race was already almost over, and I ended up running out of time after only two of my awesome ideas were put in. I crammed the menus and game win condition into the last hour or so of the competition, which really shows. Even so, it was a great experience, and I'd recommend it to any game developer of any skill level.
Here are a few of the things I learned, along with how I'd apply them if I could do the jam over:
Choose a small idea and do it well.
My idea was "Survive a scary environment where your only defense is to close your eyes." Small, check. Well, not quite.. I'll elaborate in the next point.
Consider designing levels to be wave/number based when development is time-constricted.
I had all sorts of ideas for jump scares and effects, but most took way too long to implement. It's hard to apply this point to a survival-horror game, but perhaps it would've been better if I set the game in one long, possibly infinite, hallway instead of a house.
Start with gameplay, getting the core mechanics done as fast as possible, then do level design, then graphics.
This point is why I have a playable (albeit short) game and not a jumble of broken code that was never entered. I finished the core mechanics first, which consisted of movement, closing eyes, the physics when bumping into furniture, panic, etc. Then I drew out my level, then went on to find assets and sounds. What I neglected to do was the game starting/ending menus and logic. I put that all together in the last 20 minutes of the jam, and it shows.
Track the time you spent on different aspects of your projects.
This! I tracked the time I spent on Game Logic, Graphics, Asset Hunting, and Learning. Even with that basic amount of knowledge, you can come up with much, much more accurate estimates of how much time it will take you to accomplish a task or project.
Brainstorm ideas before the jam starts, then see if the theme can add a twist to one.
I was lucky when the Lights Out theme was announced; I already had the idea to do a survival-horror where you close your eyes to avoid monsters. If I had a different concept in mind though, it would've been fun to twist it to incorporate the theme.