Click here to play the web version now.

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:

My free, open source, cross-platform app framework, Proton SDK has been steadily getting updates and fixes.

What’s new?  Check this stuff out:

  • Flash support announced!  Still in beta, but it works.  Examples run at full speed with zero extra changes thanks Alchemy 2 and a GL ES to Stage3D adaptor I’ve written
  • iCade controller support via GamepadManager plugin (works on both iOS and Android!)
  • Chartboost support via AdManager plugin
  • Flurry support via AdManager plugin
  • 60beat GamePad support via GamepadManager plugin (iOS)
  • DInput support for controllers via GamepadManager plugin (Windows)
  • Tons of bugfixes, tweaks,  and improvements

Documentation is still, how shall we say, .. somewhat lacking, but some progress has been made and there is a working example application for everything.

Assembly Summer 2012 Proton Talk

Proton Pro and contributor Aki Koskinen will be giving a talk about Proton SDK August 2nd at 21:00 at Assembly, so check it out if you’d like the low down on what differentiates it from the millions of other frameworks out there and if it would be a good fit your project.

Try my game, Funeral Quest, absolutely the most accurate funeral parlor simulation in existence.

A new 45 day game was started today.

Have an iCade laying around?  Well, start up Dink Smallwood HD V1.6.0 on your Android and enjoy beating down ducks and pigs in style.  If your device will pair with an iCade, it will work great with Dink.

Also added support for the Xperia gamepad and fixed an issue where DMOD midi music wasn’t working right on some devices.

(on iOS?  The iCade update is coming soon!)

After years of running flawlessly, something in the latest iOS update caused Dungeon Scroll to start crashing when the bomb enemy appeared.

I’ve fixed it and also added a few options such as being able to disable shake-to-jumble, more audio controls, and better task-switching support.

So update!

I used a service called TestFlight to help test this, worked out pretty smoothly. Would use again, AAA++++

Older Posts »