A Light Start


  • XNA / Monogame
  • C#
  • Xbox 360 development
  • HLSL shader programming
  • Procedural generation


In A Light Start the player must collect energy and return it to thier queen, but the world away from your queen is dark and full of danger. Seekers also inhabit the world and will hunt, chase and destroy you, that is if they can catch you.

Dev Notes

A Light Start features the following:

  • Builtin level editor.
    • The level editor was developed in game to make levels to ship with the game, but I soon realised it could be included with the game with a few UI tweaks to work with a gamepad. Hopefully adding value to the final product.
  • Procedurally generated 'Quick' play levels
    • Perlin noise is used to generate rock and water of the levels then a random location is then picked for the queen's location.
    • A random value within a range is picked for how much energy should be placed in the level before random locations are picked for energy locations.
    • Random seeker locations are then picked.
    • A final check to ensure the level is valid is performed. If the check fails then the process begins again.
  • Procedural art and music
    • World and actor geometry is generated in code.
    • Music is composed at runtime from smaller samples.
  • The levels wrapping.
  • Level tiles have displaced vertices (in shader)
  • Bloom and Vinette post process effects.
  • Released on Xbox 360, on XBox Live Indie Games platform.
    • In order to release on console, there was a check list of requirements. This included things like being able to play with any controller connecting, not crashing if memory cards were pulled and screen title safe area requirments.

Post mortem

Looking back at the game now there are a few things I wish I had done differently. Firstly I dislike the music, I don't feel like it fits the game. Secondly the player avatar geometry is to simple, as the avatar that is in front of the player the most, it had the least time spent on it.