I’m pleased to release a new version of Heropath, the second version using Godot. This demo build version is 0.3.0.18 and represents the first actual vertical slice of the game I am building towards since I started development a year ago.
Version 0.0.0.2 was a simple puzzle game using keys and doors with game length less than a minute.
Version 0.0.0.8 was a simple arcade game avoiding the enemies with game length less than a couple of minutes.
Now in Version 0.3.0.18 we have a simple adventure arcade game moving around a larger map where you can kill the enemies with an item you pick up. Game length is about two to three minutes.
Each version builds on the other as everything is a cumulative effect. I am able to do this thanks to the tutorials I’ve found on YouTube. Below you see a screen shot of Heartbeast’s Demo 2D Action RPG game which is the code base for this version of Heropath. Heartbeast has developed an excellent YouTube tutorial titled Godot Action RPG series.
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.
So welcome to Heropath version 0.3.0.18 titled ‘Destroy the Duck Dragons’!
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.
You can play Heropath version 0.3.0.18 with a web browser, keyboard, and mouse here:
Instructions: You control Sir Bloc. Find the sword and use it to destroy the Duck-Dragons. Move with the WASD or arrow keys, bump into sword to it pick up, drop it using the space bar.
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 the Atari Adventure game 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 in the next Godot version.
Next steps for future versions in order of priority:
- Add Duck-Dragon sprites for attack and dying.
- Add castle walls and doors to the maps that are not passable.
- Add keys to map and allow them to be carried.
- Add key function to open up doors.
- Expand the setting further with new maps.
- 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