HomeGamesUpdatesPricingMethodology
Steam News22 November 20257mo ago

Version v.0.2.1 & v.0.2.2: Squashing an annoying bug

Hey y'all, there's a been a pretty big bug that snuck into last version undetected.

In this update3

Full notes

Full Domain of Hallucination update

Read the full published notes in a cleaner layout. The original post stays linked below.

Repeated intro

Hey y'all,

What changed

2 fixes3 additions0 changes0 removals
  • Performance
  • UI and audio
  • Maps
  • Fixes
addedNow, this wouldn't be that bad if you could detect that while working on it, and if it showed you exactly where you've added the dependency. Unfortunately, when working on the game in the editor, it doesn't care & handles these dependencies fine, so nothing breaks until you export it. By that point, you get a crash or a bug at a seemingly random point in the game with a vague error message, and you have the scrounge your entire code base to find it.
addedIn our case, I added a feature that would display the available engravings in an area in the HUD. And, if you had no available engravings left, it should display an exp bomb, since that's what you get instead. I figured I'd load the Icon directly from the pickup, if we ever decide to change that icon. However, somewhere in that chain, a circular dependency was created. Now, that meant that in the export, the scene containing the exp bomb was unable to load, so whenever the game tried to spawn one, it just didn't. When trading with the fruit market, it even crashed. Working backwards from that back to the UI was really annoying, especially with having to export everything over and over. The fix was to load the texture directly into the UI.
addedChangesAdded more obstacles for the crystal biome
fixedBug FixesFixed a bug where trying to spawn an Exp Bomb would either not spawn anything or crash the game
fixedBug FixesFixed another bug where bosses would not use their abilities

Domain of Hallucination changes

addedNow, this wouldn't be that bad if you could detect that while working on it, and if it showed you exactly where you've added the dependency. Unfortunately, when working on the game in the editor, it doesn't care & handles these dependencies fine, so nothing breaks until you export it. By that point, you get a crash or a bug at a seemingly random point in the game with a vague error message, and you have the scrounge your entire code base to find it.
addedIn our case, I added a feature that would display the available engravings in an area in the HUD. And, if you had no available engravings left, it should display an exp bomb, since that's what you get instead. I figured I'd load the Icon directly from the pickup, if we ever decide to change that icon. However, somewhere in that chain, a circular dependency was created. Now, that meant that in the export, the scene containing the exp bomb was unable to load, so whenever the game tried to spawn one, it just didn't. When trading with the fruit market, it even crashed. Working backwards from that back to the UI was really annoying, especially with having to export everything over and over. The fix was to load the texture directly into the UI.
addedAdded more obstacles for the crystal biome
fixedFixed a bug where trying to spawn an Exp Bomb would either not spawn anything or crash the game
fixedFixed another bug where bosses would not use their abilities

there's a been a pretty big bug that snuck into last version undetected. This is a good opportunity to have a bit of a technical talk about one of the issues when working with the Godot Engine: Circular dependency.

Now, I am a big fan of the engine compared to others that are around. For making 2D games, it is definitely my personal favorite because of how straight-forward most components are, and by enforcing type-safety in the editor, you still get that robust foundation. And it's open source, so anyone can work on it if they wish. All around great stuff, DoH is built on top of Godot 4.3 for those reasons.

But, working with it so much, there is one issue that has cropped up a bunch of times in our projects. It happens when you have scripts that need to load other scripts in order to work. Broadly simplified, if you happen to have multiple scripts that need other scripts to be loaded first to function, and those scripts need that script in order to function, you get something that's called a "circular dependency".

Now, you might be thinking: "this seems pretty avoidable, just don't do it like that!" That's easy to say for the example above. But, when you have so many moving parts & multiple people working on it, your code base starts to look a little bit closer to this after a while:

It gets harder to spot, especially when you're knee-deep inside of a different rework & lose focus of the grander architecture.

Now, this wouldn't be that bad if you could detect that while working on it, and if it showed you exactly where you've added the dependency. Unfortunately, when working on the game in the editor, it doesn't care & handles these dependencies fine, so nothing breaks until you export it. By that point, you get a crash or a bug at a seemingly random point in the game with a vague error message, and you have the scrounge your entire code base to find it.

In our case, I added a feature that would display the available engravings in an area in the HUD. And, if you had no available engravings left, it should display an exp bomb, since that's what you get instead. I figured I'd load the Icon directly from the pickup, if we ever decide to change that icon. However, somewhere in that chain, a circular dependency was created. Now, that meant that in the export, the scene containing the exp bomb was unable to load, so whenever the game tried to spawn one, it just didn't. When trading with the fruit market, it even crashed. Working backwards from that back to the UI was really annoying, especially with having to export everything over and over. The fix was to load the texture directly into the UI.

So, in short, we couldn't catch the error while working on it, and it was a pain in the ass to find it afterwards.

Enjoy the update, folks, and have a good one. Jonas Wiesli Team Quintuple-A

Patch Notes

Changes

  • Added more obstacles for the crystal biome

  • "Attacks" -> Split up into "Attack Base" & "Attack Mult" respectively

Bug Fixes

  • Fixed a bug where trying to spawn an Exp Bomb would either not spawn anything or crash the game

  • Fixed another bug where bosses would not use their abilities

Source

Steam News / 22 November 2025

Open original post

Changelog.gg summarizes and formats this update. How we read updates.