Skip to content
Ludum Dare 29
Lua C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Ludum Dare 29 Beneath the Surface

Game play

  • Arrow keys move the targeting cursor.
  • Numbers 1-3 fire missiles.
  • Space bar pauses the game.
  • F1 shows debugging information.
  • ESC at menu to quit. ESC in game to go back to menu (ends the current game).
  • Bonus for hitting incoming missiles dead-on.
  • Upgrades unlocked when levels are cleared: faster missiles, faster missile battery health regeneration, increased warhead yield (bigger explosions), added missile capacity, etc.


Humans left Earth to explore the galaxy and discovered that we weren't alone. The universe is far more hostile than we could have imagined. Earth was destroyed after centuries of conflict and invasion. Humanity was scattered and relentlessly pursued. By chance, we found an ancient outpost beneath the surface of a rogue planet. We accidentally activated the outpost's power plant and alerted our enemies. Now it's a race against time to exploit the ancient technology or suffer total destruction. You must defend the outpost and defeat the aliens aided only by your team of scientists working in the labs below. The key to humanity's salvation lies... beneath the surface.


The compo version is basically Missile Command. I originally planned to let the player choose research and upgrades from the underground base after each wave (even a base defense wave)... but didn't have time. There was also going to be enemy UFOs, MIRVs, and missiles that can withstand multiple hits. There also wasn't time to add the "cities" between the missile batteries, which would've represented the different research labs that you must defend. Other upgrades would've included: shields, homing missiles, super bombs, slowing down time, etc. This was my first project using Love2D and Lua. I found both to be wonderful tools.

You can’t perform that action at this time.