Bowing out – Robocalypse

So, I’m dropping out this time around. It totally sucks, but I’m really only about 1/3 of the way into the game, with still some fundamental programming issues to tackle. Since you all won’t get the chance to actually play the game, I’ll go over what I came up with:

Robocalypse

Story:

Millions of years after the last humans left Earth to colonize more fruitful planets – leaving Earth as a wasteland on trash and filth, new life evolves. While many traditional beasts emerged, they were all quickly eradicated by a new dominant power: those beings with cunning and resourcefulness. Rather than rely on physical traits, these new creatures created armored, robotic shells from the scrap that riddles the planet.

Now, with the planet’s nutritional load quickly evaporating, conflict has gotten more fierce among these beings. You are one of the last surviving dominant beings, and you must adapt to your enemies, or die!

Game:

The game was going to be a sort of robot battle royale. You build your robot with choices of armor, movement, and weapons that have advantages and disadvantages against other builds. For example, if you chose steel armor, you had extremely high physical defense, but it slowed you down from the weigh, and also increased your damage taken from electrical attacks. Or maybe you chose wheels as your method of movement. You’d probably want to chose a ram as your weapon, since wheel provide the highest linear velocity.

After each round, you have to opportunity to preview your next opponent, at which point you can scrap a particular piece of your robot in order to better combat the enemy. However, in doing so, you lose all upgrades to the scrapped piece, so if you want to switch back in the next round, you had to start back at level one upgrades.

Programming:

I had initially wanted to do either CoffeeScript or JavaScript with HTML5, but since I was interning the whole summer, I didn’t really have the time I wanted to play around with either of those languages. So I went back to Lua and the LOVE engine, the first engine I messed around with significantly.

Also, given how modular my robots were going to be, I wanted to implement an Entity-Component system in my game. This is where the big problem hit; I have never used Entity-Component in any work I’ve done, so beyond just a general idea, I didn’t really know how to implement it fully.

Pitfalls:

Besides the lack of knowledge on Entity-Component, my failure mainly has to deal with trying to cram too much into my game.

  • Each method of movement has a different control scheme (tank-like, omni-directional, car-like, walking)
  • Each weapon has a different way of dealing damage (linear velocity, angular velocity, and distance)
  • I wanted a non-trivial robot editor with drag-and-drop capabilities
  • Non-trivial AI

Not to mention the usual graphics and audio responsibilities. My brain just got completely fired, to the point where I could only work in 30 minute stretches before I had to take a break.

I think a lot of it had to do with the choice of theme. Evolution almost requires high variation, which leads to overall complexity. I’m sure if you stretch the theme to the edges, you can find ways to not do so (such as “Unnatural Selection”, a platform shooter where you plays as Charles Darwin), but if you really want it do deal with evolution, it has to have complexity.

Source:

Here is the GitHub repository if anyone cares to look at it; it requires LOVE 0.8.0:

https://github.com/mkosler/Robocalypse

Good luck to the rest of you all! Hopefully, I’ll have better luck next time.

Comments

Viridi04
26. Aug 2012 · 13:39 UTC
Aww… I look forward to your entry next year.
MadGnomeGamer
26. Aug 2012 · 14:04 UTC
wtf is CoffeeScript?