First Sights, First Steps

I’m excited to share my first development diary entry for Heropath. Thanks to Chris DeLeon’s course ‘Code Your First Game’ I’ve gotten an introduction to game coding. His course starts off with pong, then breakout, followed by a car racer, and then ends with a graphic adventure game. The graphic adventure game would provide the launching point to create the style of game that I intend for Heropath to be, a top-down strategy-adventure.

DeLeon’s code would provide four critical mechanics: 1) Draws a grid map with different objects on it, 2) Move the player’s character around, 3) The character can pick-up items located on the map, 4) Use those items to pass obstacles on the map. Below you can see a screen shot of DeLeon’s adventure game.

DeLeon’s adventure game

One of the first things I did to make DeLeon’s game my own was update the graphics. I did this for three reasons: 1) It was super easy to do, 2) Gave me a sense of momentum, 3) Gave me enthusiasm seeing aesthetics that resonates with me.

The graphics come from an outstanding homage/update to Atari 2600 Adventure and are an inspiration for Heropath.

Heropath First Sights Screenshot

The above screenshot is the modest first sights and first steps of Heropath. This alpha demo is an exceedingly simple puzzle game with a fantasy theme. You can play Heropath version 0.0.0.2 with a web browser and keyboard here:

https://heropath.com/demo/alpha-v0.0.0.2/heropath.htm.

Instructions: You control Sir Bloc with the keyboard arrow keys. You need to collect the keys to unlock the doors to get the chalice.

Version 0.0.0.2 currently has the following features:

– Load grid map
– Load character
– Load objects (keys, doors, chalice)
– Logic for character movement
– Logic for key pickup and door unlock
– Logic for capturing chalice resets map
– Updated graphics
– Updated demonstration map
– Updated on-screen instructions

Updates for Heropath can be found at the version history and will include improvements and new features such as:

  • Fix collision detection as the walls and doors feel squishy which contradicts their appearance.
  • Add a nice UI with a character traits panel.
  • Have characters carry the key graphically.
  • Have the doors be replaced by an open door graphic instead of vanishing.
  • Add a monster that chases the character.
  • Add a weapon to defeat the monster.
  • Add encumbrance so when the character picks up an item the character’s movement slows down.
  • Have characters be able to drop the carried key and the object remains on the screen. This changes the item from a grid item that vanishes to an object that has some persistence and is interacted with.
  • Expand the setting with new maps.
  • Add win and end screens.
  • Add a ‘possession’ mechanic that will centre the plot and story.
  • Explore variations of game development fundamentals like camera-usage and time (real-time vs turn-based).

As I think about these improvements, I am considering adopting a game development engine like Godot or Unity to implement these things. While I can learn how to do this in JavaScript it will take a longer time, time that could be better spent developing skills with one of those engines.

Replanting Heropath

Development on Heropath started in 2012 when I and a programmer decided to work together. I funded his time and he worked with my role as a producer to create an online ‘Meta-RPG’ game for the next three years. It was launched as a closed alpha in 2016 and did poorly because of its poor design and less than stellar execution. The programmer and I parted ways and I sat on what to do about Heropath for the next few years.

I researched and I wrote down design ideas on how to improve Heropath. Now I’ve arrived at the beginnings of what will be my solution: I am going to re-design and re-code Heropath which is going to be a huge undertaking since I have done neither before.

I plan to slowly learn coding to develop my programming skills. I plan to learn design by expanding on the coding tutorials that I’ll be learning from. This will take many months and I don’t plan to write about every lesson I take or skill I have developed, until I get to the first prototype of what I plan Heropath to be.

In the meantime I will write about game development theory and about the high-level concepts that inspire me. Those will be the focus of my next few posts.