Last month I started a personal coding challenge, dedicating thirty minutes a day for the next thirty days.

I decided to build a platformer video game, inspired by Crystal Caves by Apogee Software (3D Realms).

As a kid (1991 - age seven), I played countless hours of Crystal Caves on PC (MS-DOS), an experience I hope to reproduce for my son.

This article marks the halfway point, specifically fifteen (non-consecutive) days, accounting for approximately six hours of development.

I have successfully implemented the following features.

  • Created two rooms (levels).
  • Created wall, player, enemy, water pistol and water objects.
  • Created collision map for wall, player, enemy, water pistol and water objects.
  • Implemented player movement, specifically run and jump.
  • Implemented enemy object health.
  • Implemented enemy instance variability.
  • Created tile set, including nineteen tiles.
  • Created player sprite, including idle, running, jumping and falling animations.
  • Created enemy sprite, including idle, running, jumping and falling animations.
  • Created water pistol sprite, including water animation.
  • Created a room camera, which follows the player object.
  • Created three background layers with a parallax effect.
  • Created room transition object.
  • Created room transition animation.
  • Implemented game restart.
  • Implemented controller (PlayStation and Xbox) input.
  • Created menu, including save and load functionality.

The short video below highlights a quick “playtest” session with my son (five years old).

He tried the core features of the game, as well as provided me with an early insight into potential player issues. For example, due to the size of his hands, he struggled to control the direction of the water pistol (right analogue stick) and fire (right trigger) simultaneously.

I have also been producing short (less than 30 seconds) video demos of my daily progress.

Finally, you can also view my backlog and code on GitHub.

My next update will be in approximately fifteen days, where I hope to have the core mechanics of the game complete. At which point I will focus on the visuals, story and level design.