I’m pleased to release a new alpha version of Heropath, the second version using Godot and is alpha build version 0.3.0.18. It represents the first actual vertical slice of the game (inspired by Atari’s Adventure) I am building towards since I started development a year ago.
This version is thanks to Heartbeast’s Demo 2D Action RPG game tutorial titled Godot Action RPG series found on YouTube. Heartbeast’s Demo provided the following critical mechanics: 1) Draws a tilemap for the player to move in, 2) Move the player’s character around, 3) Monsters are placed across the map and chase the player if detected, 4) The player must avoid being killed with collision detection being implemented, 5) The player must find the sword and use it to kill the monsters, 6) A basic HUD with intro and statkeeping. Below you see a screen shot of Heartbeast’s Demo 2D Action RPG game which is the code base for this version.
After building HeartBeast’s Action RPG game, I changed the characters and music and sound and began changing how the game functioned. This was new territory for me and really challenged me but I got to know the Godot engine much better and make it more of my own project. The character and item graphics come from an outstanding homage/update to Atari 2600 Adventure. The world graphics and effects come from Heartbeast’s Godot Action RPG. Sounds and music comes from freesound.org and soundimage.org.
The above screenshot is for Heropath alpha version .3.0.18 titled ‘Destroy the Duck-Dragons’! This alpha demo is an exceedingly simple action-adventure game with a fantasy theme. You can play Heropath version 0.3.0.18 with a web browser, keyboard, and mouse here:
Instructions: You control Sir Bloc with the keyboard WASD/arrow keys. You must find the sword and use it to destroy the Duck-Dragons. You need to bump into sword to it pick up and then drop it using the space bar.
Well, what exactly is a Duck-Dragon? When Warren Robinette drew his original dragons for Adventure they did look like ducks. In a way it fits since birds are related to reptiles/dragons.
Version 0.3.0.18 currently has the following features:
– Load small world and environmental objects
– Load character
– Load monsters
– Load items (currently only a sword)
– Logic for character movement
– Logic for monster movement and chase behavior
– Logic for monster-player collision
– Logic for monster-sword collision (new code)
– Logic for item pick-up and drop (new code)
– Logic for intro, win, and lose states (new code)
– Updated graphics
– Updated music / sound
– Updated basic HUD
– Drawing expanded map (320 x 180 pixels to 600 x 600 pixels or 5x bigger) with cliffs, brush, dirt, and grass (existing assets in new map)
– Drawing and placement of Duck-Dragons (new assets)
– Drawing and placement of Sword and Player (new assets)
– Drawing and placement of Intro, Win, and Lose screens (new assets)
With this version I’ve moved along from a very simple puzzle game to a very simple arcade game to a very simple arcade-adventure game. This is fitting since Atari’s Adventure combined both arcade action along with item/map puzzle play, being the first ever action-adventure game.
Some ongoing Godot observations:
- Adopting Godot was the right thing to do since I’ve steadily learned the tool and it has become easier to use.
- Godot Forums is a big help!
- I’m using Git for code rollback redundancy which has been critical when I break the code.
- I have a bizarre bug with sound sometimes not playing which means I could not get the sword slice sound running when the Duck-Dragons are hit. I think it will be fixed by the next version.
Next steps for future versions in order of priority:
- Add Duck-Dragon sprites for attack and dying.
- Add castle walls and gates to the maps that are not passable.
- Add keys to map and allow them to be carried.
- Add key function to open up doors.
- Add chalice to map and allow it to be carried.
- Add shrine to the map and when the chalice is placed on it, it triggers the win condition.
- Add randomizing elements to move the player, monsters, and items round. Currently the demo becomes quickly repetitive.
- Add enhanced Duck-Dragon intelligence which flees, guards, and chases as Warren Robinette wrote in his book.
- Remove Player HP so the game plays the same as Atari Adventure. I left them in place from Heartbeast’s demo as they are useful for testing.
- Add a UI-HUD with a character traits panel.
- Add more items like Atari Adventure’s Magnet and Bridge.
- Add the Atari Adventure Bat.
- Add encumbrance so when the character picks up an item the character’s movement slows down.
- Add a ‘instill’ mechanic that will centre the plot and story.
- Add The Dremiurge, The Devai, and The Heropath characters to the game to frame and narrate the plot and story.
I anticipate to do this in small incremental builds by adding more items and objects and would estimate to have the next release by end of March 2023. Updates for Heropath can be found at the version history.
Definitely part of the reason why development has been so slow is because I’m also doing lots of conceptual work behind the scenes related both to game development and Heropath’s world and plot.
Finally, I’ve updated my personal blog that outlines more about my personal experiences with game development. It has been over a year since I’ve undertaken this project and I’m astounded at the amount of time/effort to develop 2-3 minutes of gameplay! I suspect that a year of part-time work I’d have been able to write a few songs, paint some pictures, write a story, etc. While they might not be particularly accomplished pieces they’d be much longer than 2-3 minutes of basic game play! Game development is simply one of the hardest creative undertakings, and while rewarding, it is evident I need to temper my expectations.
“One of the most difficult tasks people can perform, however much others may despise it, is the invention of good games.” – C.G. Jung