Reflextions

Ludum Dare 37

Why I did Ludum Dare 37; A Sam Post-Mortem

Sam

The Jam

Last weekend, I spent almost every waking minute working on a small game I ended up calling Sam.

At 9PM Friday, I shut down everything else, pulled up my workstation and proceeded to work on this game until 5AM, at which point I went to bed. Somewhere in between there was a 40 minute break. Anyways, after plunging into this arduous journey I came out on top some 72 hours (16 of which I slept) later at 10pm Monday, when the submission hour had ended. It was done.

This was the Ludum Dare, a game jam that challenges developers to make a video game in two (the compo) or three (the jam) days. I chose the jam, because I knew I wanted music in whatever I created, and am not currently confident enough in my music or sound effect production skills. The compo requires absolutely everything come from scratch, whereas the jam allows participants to use open source assets.

The Theme

I was ready and the theme was set: One Room.

I allocated the first hour to coming up with a rough outline for the game. I generally listen to music while working, but had to switch to a more neutral genre to avoid outside influences. I wrote down whatever game ideas came to mind in regards to theme:

  • Escape the jail cell.
  • Murder mystery – the story unfolds through clues in a single room.
  • Interrogation room – similar to the murder mystery, this allows the story to jump places through a narrative told during a police interrogation.
  • VR or computer situated in a singular room as a gateway (also works as a meta reflection on the player and video games themselves).
  • Bunker survival or management.
  • Surveillance room / some sort of over-watch.
  • A dark room – a story unfolds as photos develop.
  • Externally see the room, manage it in some sense (this one is pretty broad).
  • Abandoned in space, there is one source of oxygen. The player must control airlocks to manage oxygen flow (they must maintain their own single room to keep breathing).

If you played the Sam, you’ll see I ended using a couple of theses in conjunction. If you haven’t; spoilers ahead. Looking back on these themes, it was pretty clear that I wanted some sort of narrative driven game. I got particularly attached to the space idea, as well as the simulation arch and went ahead developing that. Reflecting on the oxygen management and narrative, I decided I want player decisions to have game-play impacts as well. The first scenario that led me to incorporating choices was a hypothetical where the player has to decide to kill someone else on board the ship to make the oxygen supply last a bit longer. This was the main starting point for what I developed the game into.

The Development

Starting development was a bit of a struggle initially. After the first hour of outlining the game, I spent about another hour going through the story-line. I split it up into 6 scenes, where each scene would have a moral decision the player must make. In the end these ended up being a lot more blended together, but what this did do was give me clear milestones to work toward. If I had 3 days and 6 scenes, I would need to complete 2 scenes a day.

This was a good idea in theory, but in the end the first 2 scenes ended up being 50% of the work. The first scene was  a one off with single use assets, and the first scene in general so here I had to set up the weather systems, lighting, movement, characters, and dialogue. For dialogue I ended up using a template because I wanted an elegant solution and didn’t want to spend hour trouble shooting my own, or sacrificing functionality to save time. All other code was done during the jam. The second scene was the longest because I had to create so much original art as well as set up the sound effects and game-play systems.

I think this was the first game I’ve made where every single art asset used was created by me. This has always been a weakness for me, but I’ve been focusing on improving my pixel art this season and I’m pretty happy how it came out in the end. It may look amateurish to some, but I think it is functional enough to get the job done without being so bad it’s distracting. The end goal here isn’t perfection, but visible improvement.

Something that helped me a lot was to sketch out how I wanted each scene to look. Even if my sketches are terrible, they gave me a direction to go. Another thing that helped me out, and is a cornerstone of game development in general is creating re-usable assets. This is especially important during a game jam because you have such limited time. Design your assets so you can create content with it multiple times over. Here are some comparisons of the sketches and final results:

379 events built, 1,266 objects  placed, 50ish art assets, 14 grid notebook pages, 27 hour long youtube music mixes, about 5 episodes of Community during breaks, one all nighter, and two caffeine pills later, I was finished. In total I estimate I spent 47-50 hours working.

The Result

My mindset changed a lot during the development of Sam. I kept going back and forth between feeling like the game was going to be one of the best entries and that it was absolute garbage. In the end, I’m fairly confident and pleased with how it turned out. It’s not without a few flaws, but I’m proud of the finished product.

So what went wrong? Plenty. I over-scaled. I always over-scale. I had to cut quite a bit of content out to finish in time. Originally, I planned to have an actual escape sequence, with falling and exploding ship parts everywhere. I wanted the robot to be destroyed in an accident rather than powering down. I wanted a slide after the credits showing how your choices stacked up against other players. The entire oxygen level broke somewhere in the last hour of development. Luckily, I was able to go back and fix that one.

A cut statistics screen. It would adjust real time with player choices.

Scope is one of the most pressing issues in the industry. Bioshock Infinite, Halo 2, Fallout New Vegas, and countless other examples of games at every level of budget have cut content. A part of the reason I wanted to participate in the jam was to get better at scoping projects, yet I still over-scaled. Maybe the more important lesson here is that over-scaling is almost always inevitable, and the real value is in being able to cut content without crippling the game.

The Takeaway

To me, there seems to be 3 primary mindsets to approach a game jam with. While these obviously aren’t exclusive, and we should try to take on the best aspects of each, it can be helpful to categorize yourself in a way to clarify what you want to get out of a game jam.

  1. The Hobbyist – Those who jam for primarily for fun. This is not to say they don’t work hard, or make excellent projects, but they engage for the sake of the jam itself. They are a sort of purists, participating in the jam without an ulterior motive.
  2. The Competitor – They want to win. Generally seasoned in some form of game development, they want to be among the best, scoring in the top. They are willing to lose sleep, among other things, if that’s what it takes to finish.
  3. The Introspective – The introspective competes to learn. While high scores and having fun would be ideal, the first and foremost goal is to come out with a new trick or two up their sleeve. They are competing, yes, but above all else they are competing against themselves.

I started out somewhat of a competitor, and while I’m still hoping I can score high relatively, it was a worthwhile endeavor for the experience of it alone. In other words, I came out as the introspective. The Jam offers something unique: an objective self-evaluation of your skills in a given scope. If you asked me beforehand what I can get done in 72 hours, I would likely over or underestimate. Participating gave me a frame of reference of my game development efficiency that I can translate into a larger picture. I’m proud I was able to accomplish what I did in the time span. Never have I done locational audio, or relied on lighting this heavily in any 2D game I’ve done. On the other hand, I can see how far my goals are as well. What I did here is almost nothing what I want to be able to do eventually. My entry next year should put this one to shame, and that trend should essentially never end. Semper Improvidus.

I’ll be honest. I came into this jam already exhausted. Not physically, but mentally. I haven’t released a game in 11 months. I’ve been working on quite a few projects lately, but I haven’t had the opportunity to go full sail at a passion project in some time. I haven’t written a blog post in a while either. It’s hard to write, especially when you feel you don’t have anything worth writing about. A huge part of my motivation here was to do a full system reboot. I needed something to kick me into gear writing again, and it’s rough not getting feedback for almost a year. I’ll be releasing a lot my projects soon, but getting past that final stretch can be an uphill battle. This jam presented the opportunity to be creative again, to ignore everything else and start with a blank slate. That’s something with real value.

Next time I participate, I’d like to either do the compo to truly test my mettle, or do the Jam with a team for greater production capacity. I was impressed with a lot of the other entries I saw. As a whole, seeing all the competition is a bit intimidating, but the indie game industry is alive and well, and jams like these breathe even more life into it. Here were some of my favorites from LD37: Cozy Christmas, Smallest Dungeon, Toy Box Metropolis, and Voyage.

If you enjoyed this post, feel free to follow me on twitter.

LD 38

Ludum Dare 38 Wrap-up; A Mino’s Pond Post-Mortem

Mino.png

Originally published (with better formatting) here.

The Jam

On the weekend of April 22nd, I participated in my second game jam. I wrote about my first one here. Me and my friend had 72 hours to make a game. Spoiler alert, here's the final product: Mino's Pond.

This one was a bit different because I was collaborating with my friend in a different time zone, so we had to make some accommodations. We made sure our sharing tools and comms were up and running before the start time.

Doc1.jpg

The Theme:

Engine start, the theme was: A Small Room

To be honest, I was a little disappointed with the theme. I think it was the second place theme of the last jam, and has been used before in another ludum dare. I also felt it was a bit generic / over done. Either way, that wore off pretty quickly and we got into it.

A stipulation my partner and I agreed upon before was that we wanted to avoid making a platformer. Everyone, including myself, tends to make platformers. We wanted to do something else. As I did last jam, I dedicated the very first hour to brainstorming. To keep our ideas independent and innovative, we shut down comms for the first 30 minutes and then discussed our ideas with the rest of the hour.

I think the best way to go about this process is to just literally write down everything that comes into your head. This time around, I tried to keep it a little more organized by separating thoughts into concepts and mechanics, but those categories were quickly muddled.

So we took at look at some of our ideas/influences:

A perfectly round world, controlled from a third person / godlike perspective. Dwarf fortress management sort of thing. God Sim. A micro world inside of something else (like a car battery). Stick-RPG-esque floating city. The Disney-land ride. A giant person on a tiny planet. Pikmin type management. Tower management. Start from nothing and build pieces of the world outwards. Orbital gameplay. Simulated world (i.e. The Truman Show). You play as a bird who lives and dies in a cage. Those were the main topics we came up with. We kept coming back to management games so we went along with that. Being overly ambitious, we also liked the idea of the Stick-RPG city to train your character in. This is where a producer would step in and say "Hey you, stop that!" Somewhere along the way, we decided to use Earthbound as the main artistic reference.

So our basic concept was there: a mysterious meteorite lands in some kid's bedroom and he has to essentially keep this world alive. We wanted to play more with the concept of bringing everyday objects into this world (i.e. a water bottle would fill a giant lake in the tiny world), but that mechanic fell a little flat due to time constraints.

Doc2.jpg

The Development:

I'm the most experienced in the editor we were using (Construct 2), so I was the main coder. My partner did 99.5% of the art as well as the sound effects and music. The key mechanic that drove the management gameplay was our Regions. We had 6 regions that contained their own type of Mino (the race that occupied the meteorite).

The type of Mino and corresponding regions were:

City - Science Minos ScienceM1.png Mountian - Rock Minos RockM1.png Forest - Wood Minos WoodM1.png Desert - Electric Minos ElectricM1.png Plains - Food Minos FoodM1.png Ocean - Water Minos WaterM1.png

Dramatically simplified, this is how the coding went:

In the editor, I built block outs of each region, then created a functioning UI system. After that, I implemented the Minos with a placeholder AI. Next was resource collection, the building system, the food and water systems, filling in the Mino AI, and building/resource upgrades. During the bug fixing and polishing stages we hooked up the overworld system which my partner built in a different editor. Contruct 2 isn't the best tool for collaborating so this was a bit of a pain.

60% of that was done in the final 24 hours, in which neither of us slept. You could call this poor planning, or just making the most we could out of 72 hours. A process I enjoyed to take my mind off some of the AI bugs was building the Mino word. Here's a cool gif of that process:

World Gif.gif

While I was trying to give these little creatures life, my friend toiled away at the art for their base upgrades. Here are some of my favorites:

Energy.gif Food.gif Energy.gif Rock.gif Science.gif Water.gif

The Result:

Some things went pretty well: overall I think the Minos are really charming and the world they create is child-like and imaginative. Their appearance and sounds (created in bfxr) give them a lot of personality. Their AI ended up working pretty well it's incredibly satisfying to see hundreds of them autonomously living out their lives.

A few things didn't quite turn out as we wanted. The overworld was pretty half-baked due to time constraints. We did intentionally push it to be the final thing we added and were prepared to scrap it if we needed to. We ended going through with it, though maybe our time should have been spent polishing the Mino world. The school component is barely a mechanic, and the store was essentially used as a way to give the players free resources because we didn't have enough time to balance the building/upgrade requirements. In a fuller version of this, I would love to make more interactions between the two worlds.

The Takeaway:

This was definitely another insightful and worthwhile endeavor. For the next Ludum dare, I think I'd like to try the constraints of the compo (48 hours with no team) and try to go in with a very, very simple idea. Next time I want to focus on a very simple mechanic, and using 90% of the time for polish.

I haven't been able to play a lot of entries yet due to the site issues, but of the ones I played so far, these two were some of my favorites, check them out: Carefulzilla, Flurpies. Also, I'll be happy to play your game if you mention me on twitter!