What a weekend project this one proved to be, I spent most of my Friday looking through the themes to get basic ideas, something I usually avoid. Prior to theme announcement I was assuming the theme would be unfavorable, since I had great ideas for others and so-so ideas for the rest. Ancient Technology was a so-so idea thatinitially had me going with a small “1D” defending game. Kinda like a tug-o-war.
I immediately created files and started running with the idea before thinking upon it some more. Within about 5 minutes the brilliant idea of punch cards entered my head, but I had no direction to it and 10 or so minutes after I finally put it together, programming ancient robots with the ancient technology of punch cards. It plays very similar to the game Robo Rally, which I have in my personal collection and obviously gave me some inspiration.
Within about an hour I had the robot moving from pre-planned instructions that the punch cards would represent, and with that I went offline to design and think about how to structure the code for another two hours before sleeping. In the morning I started creating the deck, hand and discard piles and got the gameplay of cards being played to the robot done within just a couple hours, pretty quick. I had win and lose conditions and environmental effects about 17 hours after announcement. Then things slid backwards a bit.
The cards on screen really needed to give the player information about what is happening, so I attempted to write that, twice, giving up. It was too hacky. I can write better code than spaghetti. I spent the rest of the night working on first pass graphics for cards, wow what a difference, and a lot of time (3 hours) was spent on the water animation hacks. TurtleBrains definitely needs better support for animated tiles.
In typical fashion I went to bed for the second stint of sleep and have an “aha” moment regarding the sliding cards. Luckily I managed to get to sleep anyway, with a bit of effort. In the morning I went to make that fix and wound up in another fit of spaghetti. Having spent too much time, I turned off the “good code” side of my brain and “just got it done”. Hoping what I write was:
- Going to work as expected
- Not break and cost me more time later
Because it was awful. But it wound up working and allowing me to slide cards around how I had wanted, even able to add a nice shuffling effect. Most of this second day was spent polishing the art, fixing little gameplay bugs, adding sounds and showing the health of the robot on the ui. This time I made a title screen higher priority after my disappointment in LD35, unfortunately this caused me to run out of time for designing levels.
I did manage to write a level progression bit in the final 15 minutes, including, designing two levels. Design is used very lightly. I randomly clicked around and hit save/export. I didn’t even test the game, because LudumDare time was up. I double checked the spelling matched and packaged the game for deployment on both Windows and Mac. This wasn’t without issue though, the last 15 minute addition caused a lot of level resetting issues, that I found the next morning when I went to play through the final game. Whoops! I got those game breaking bugs fixed in just a few minutes and repackaged another, final, build for Windows and Mac.
Of course #GameDevPet Sara cat and Monky bird had helped a lot and spent most of the weekend streaming which has been useful for myself to watch after the fact just so I can see where I can improve my development methods, even improved #TurtleBrains a bit including finally supporting Linux. The first ever experimental Linux build has also been deployed and feedback so far has been great!
What Went Right
- The idea. I was super excited about the idea
- The card sliding effects really brought the game to life, showing what happens and reducing confusion.
- Quickly reached playable state, and win/lose.
What Could be Better
- Code for card movement effects took a long time and still a giant mess, luckily it worked.
- Code for environment / water effect took a lot longer than expected, and added less. Probably better to have dropped feature.
- Water art and animation effects took painfully long.
- Skipped out on music, thought it was unneeded after adding sounds, feedback says otherwise.
- Completely ran out of time to design levels.
It was a great weekend, and a fun idea. I think spending a few hours designing some actual levels might be worth doing, but at the same time I’ve always left my LudumDare games as they are at the end. I had many other ideas for environmental effects, such as maybe an elephant/hippo that would keep walking straight until it hit and obstacle and then would turn left. It would hurt and push the robot around. But time ran out and I knew this was a feature creep thought among others.