Click here to play the web version now. (updated to work on touch mobile like iOS browsers as well)
Socket City – a game I made last weekend
So Ludum Dare 24 has come to a close, it looks like 1405 games were made over the weekend, a new record. (Barely!)
In LD23 (the one before this one), I had used Flash+Flashpunk to create a little platformer. I never really felt comfortable, and as a result did not dig deep into the real “programmy” end of it, so instead focused on creating the most creepy boss in the history of games.
But this LD the flash target of Proton is now functional (that’s the true reason I did flash last time, to learn enough to write the Flash target!) so I got to use good ol’ C++ and still have a web-playable version. So less creepy, more game design.
The theme was “evolution”. My idea was what if you were presented with three alternate versions of a space town each day, and had to choose which one to use, essentially “evolving it” by choices rather than getting to build it. Each town piece has little “sockets”, new town pieces can only “grow” off of those.
To turn it into a real game, I added asteroid attacks between rounds, the concept of resources, life, and turret gun pieces that add an action element.
After I built it along far enough play, I discovered…
It’s too damn random
Only getting to choose between three plans was too limiting. To combat this, I allowed the player to “rotate” new pieces at will, so he could at least point guns the way he wants, and point sockets at the places he’d like to grow. Other ideas might have been having more plans to work with, or generating 3 new plans at some cost (1 resource?) and such.
Originally I was only going to grow the base on the bottom of the screen and have all rocks falling down, but later decided to put it in the center of the screen and grow “in all directions”. Not sure if that was the right choice or not.
What went right
- Scope and difficulty of this project was about perfect for me, not too hard, not too easy
- Proton and its flash target worked out of the box, no time wasted on fooling with it, and being able to test/debug in MSVC++ was very comfortable for me as compared to last LD with FlashDevelop and AS3. Also nice knowing I can pop it on iOS/droid easy enough.
- Decent audio – used Garageband iOS on the iPad with a cheapo midi keyboard, and sfxr
- Went with simple, abstract graphics. Was tempting to try to do something fancier but.. you know it would have turned out pretty horrible.
- Added a nice goal condition of getting special win song and poem if you pass level 10. I think that’s important to give the player something to shoot for, instead of just dragging on forever
- Successfully designed the interface for both mouse and touch, no keys are used
- I like how I handled life/game over – little hearts represent “life support units” and if they are all destroyed, you die. Adds an extra element of needing to protect them.
- Happy with the final game, it’s fairly polished for a 48 hour. My son won it and proclaimed it “great”. What more can I ask for?
What went wrong
- Game difficulty is still uneven and too random, especially in the beginning
- The graphics lack clarity and style, they definitely bring down the whole feel of quality of the game. I’m not sure how to deal with that…
- The “sockets” are especially not clear graphically, and look almost identical to the gun barrels.
- Has various issues like the asteroids spawning too close to your city, the upgrade menu covering part of your city, stuff like that. Just wasn’t really time to fix the “little stuff”.
- Knowing the Flash target was 640X480 and possibly slow, I sort of designed for that. If I hadn’t, I probably would have done high rez and much larger/complex cities, really pushed everything up a notch…
Conclusion
Good experiment. If I wanted to fix this up and take it to the next level, this is probably what I’d do:
- Remove the plan/growth stuff completely and just let the player buy pieces, pieces with more sockets cost more
- Make turrets automatically fire, turn it more into a tower defense game
- Change everything to be real-time, should be able to add additions at anytime, even during attacks. Especially during attacks.
- Add a sim city element, build see tiny cars moving around, hear tiny people screaming when asteroids or aliens attack. Build entertainment buildings to keep population happy, get more resources, speed up repairs, etc.
- Replace art with high tech 3d renderings of the tile pieces
- Huge overall to the camera/zoom system. Should be able to pinch and move around at will on a touch device
Anyway, as always, LD was a good experience. Special thanks to Akiko for watching the kids all weekend and making this possible! Oh, and for making this: