Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'collapsArch' does not have a method 'enqueue_scripts' in /home/gamenigm/heropath.com/blog/wp-includes/class-wp-hook.php on line 308

Destroy the Duck-Dragons

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.

Heartbeast’s Action RPG

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.

Working with Godot remains enjoyable and I’m appreciating its many benefits with built-in collision detection, physics, animation, editor, tile-mapper, and more. I definitely see the immense value of using a game engine to develop Heropath. There is no way I would have released this demo as quickly as I did by using JavaScript.

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.

The dreaded Atari Adventure (duck) Dragon

You can play Heropath version 0.3.0.18 with a web browser, keyboard, and mouse here:

https://heropath.com/demo/alpha-v0.3.0.18/heropath.html

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

Dodge the Duck-Dragons

I’m pleased to release a new version of Heropath, the first version using Godot.

This short demo provides five critical mechanics: 1) Draws an arena for the player to move in, 2) Move the player’s character around, 3) Monsters enter from the side and cross the arena trying to eat the player, 4) The player must avoid being touched with collision detection being implemented, 5) A basic HUD with intro and scorekeeping. Below you can see a screen shot of Godot’s 2D game, Dodge the Creeps.

Godot’s Dodge the Creeps

I found working with Godot to be enjoyable but found Godot’s written tutorial lacking in steps. So I turned to GDQuest’s video tutorial which helped allot. Godot has many benefits with built-in collision detection, physics, animation, editor, and more. I can definitely see the immense value of using a game engine to develop Heropath.

After building the Dodge the Creeps game, I changed the characters and music. This is pretty easy to do but it allowed me to get to know the Godot engine better and make it more of my own project. The graphics come from an outstanding homage/update to Atari 2600 Adventure which is a great inspiration for Heropath. I really love its monochromatic, painted look.

So welcome to Heropath version 0.0.0.8 titled ‘Dodge the Duck-Dragons’!

Heropath Dodge 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.

The dreaded Atari Adventure (duck) Dragon

You can play Heropath version 0.0.0.8 with a web browser, keyboard, and mouse here:

https://heropath.com/demo/alpha-v0.0.0.8/heropath.html

Instructions: You control Sir Bloc. Avoid the Duck-Dragons with the WASD keys to get high score.

Version 0.0.0.8 currently has the following features:

– Load arena
– Load character
– Load monsters
– Logic for character movement
– Logic for monster entrance and movement
– Logic for monster-player collision
– Updated graphics
– Updated music / sound
– Updated basic HUD

With this version I’ve moved along from a very simple puzzle game to a very simple arcade game. This is fitting since the Adventure combined both arcade action along with item/map puzzle play, being the first ever action-adventure game.

Some Godot observations:

  • Interesting that all pixel art should be facing right as default. I uploaded the dragons facing left and then had to flip it in-game.
  • Taking a screenshot of the enlarged image in Paint.net with Greenshot allowed me to have larger characters without blurring.
  • The tutorials on Godot’s main website are lacking in clarity at times, missing critical steps for somebody still learning the interface.

Next steps:

  • Expand the setting with new maps.
  • Add a nice UI with a character traits panel.
  • Add a monster that chases the character. Currently the monster simply passes through the map.
  • Add a weapon to defeat the monsters.
  • Add walls and doors to the maps.
  • Add keys to open up doors.
  • Add pickup of weapon and keys by the character.
  • 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.
  • Add win and end screens.
  • Add a ‘possession’ mechanic that will centre the plot and story.
  • Explore game development fundamentals like camera-usage and time (real-time vs turn-based).

I hope to have this ready by end of October, with an anticipated version 0.1.0.0 since it would represent a vertical slice of the action-adventure I am aiming for. Updates for Heropath can be found at the version history.

While I work on that, I intend to do some posts about what Adventure means to me and to the industry, get into its history, and outline remakes that have been done by fans.