Geoff Alday

Game Finished

I have finished developing the throwaway game Alien Dash. Woo-hoo! This is my first tangible effort toward learning game design and development. It’s only 4 levels but all the basics seem to be there to expand on for this type of game.

Video of finished game.

I’m pretty happy with all I’ve learned since I started this process a little over a month ago. Next steps are getting professional feedback on the code and coding patterns I used. Also figuring out what sort of game to make next.

You can play the finished game in a desktop web browser here: Alien Dash.

Game Progress

Last week was surprisingly productive on the learning game development front. A list of what was accomplished:

  • Added the source code to git and Github
  • Game name shows up when installed on phone
  • Added music and sound effects
  • Implemented a generic singleton class other classes can inherit from (vs writing that code over and over again)
  • Implemented Unity’s audio mixer for better control of music and sound effect levels
  • Tweaked the player’s ground check settings for better late jumps
  • Save game state to player prefs
  • Destroy death particles when they’re done
  • Implement a parallax background
  • Removed unused scripts and sprites
  • Tweaked levels and added a new level
  • Fix a number of bugs

Video of game with music, sound, and me dying a lot.

Even though the list of things to do will likely grow, the end is in sight. I’m 83% of the way there. That’s pretty exciting.

Game Progress

A good milestone was hit late last week in my learning game development journey. I finished a full basic game loop. This means you can: start a new game, restart a level when you die, quit a level when you die, progress between levels when you reach a level’s goal, and quit the game when you’re tired of dying. I also came up with the name Alien Dash for the game. With all this accomplished, it’s a lot easier to play the game.

Full basic game loop

I realized this weekend I have finished half of what I want to complete. I’d like to have everything checked off within the next 2 weeks. After that, I plan to seek out people who actually do game development to have them review my code and overall process (i.e. I’m seeking professional critiques).

Game progress card Features and tasks done so far

Whenever I’ve had the chance, I let people try out the game. This has included my kids, their friends, and people I work with. It’s fun watching them play and I learn so much from what they say and do. I’ve tweaked quite a few things based on this already. In that spirit, today I made a Mac build of Alien Dash anyone can download.

Game Progress

Slow progress the past few days due to trying, and failing, to implement 2D ray casting to prevent the player from being able to jump while in the air.

Example of the pesky multiple jump thing I was wrestling with.

After switching to using a ground trigger object. Also added a second level.

Learning Game Development

One of my goals this year is to design, build, and release a mobile phone and tablet game (iOS and probably Android). Right now my current focus is on creating a throwaway running platformer game as a way to understand the game development cycle. I’m learning about game structure, game loops, touch interactions, how to integrate art, and so much more. I’m using the Unity game engine along with free game art from Kenney. Below are a few videos of my progress so far.

Basic jump and physics working on my computer. Also quicksand.

Learned how to get something deployed to my iPhone. Also added a basic start screen.

Integrated game art, player animations, a slightly better jump, and made the camera stop when the player dies.

Tweaked the level by adding hazards and a goal. Learned a lot about what to do, and what not to do, re: spritesheets. Note how the tiles have some ugly visual artifacts.

Cleaned up visual artifacts, implemented better jumps (i.e. tap once for a short jump and hold for a longer jump), added a static background, added a vignette camera effect, and added more hazards to make the level harder.