Posted July 19, 2024 by GHostLPs
It has arrived! About... four months past when I was expecting it and roughly two years past the previous version... but it's here! A huge, huge thanks to Elanarae and MaeL for the testing they provided to catch as many bugs and peculiarities in this release as they did!
It's basically A3, but better in just about every way. And there's more stuff. The game's moved engine from Unity to Godot. This mostly had a lot of positive impact in that, for what kind of game I'm making, Godot just seems better suited for it. Godot's general tooling just feels better, too. It's much easier to do stuff like design UI elements and all of that once I got my head around their node system. Many of the things I fought with UI-wise in Unity are simply automated in Godot and it's *glorious* when my game is (realistically) mostly interacting with the UI.
Of course, I can't have a release that's just a 1:1 copy. I think that would be a wasted release even if it did have a bunch of internal improvements (which this very much does). The biggest downside to this update is that saves from the Unity version aren't compatible. Going forward, though, things should be fine.
This version does bring some new stuff with it. Town's got a few more activities. There's a familiar (if less than reputable) temple you can dump your dead party members off at and pay to have them raised back to life. There's also a second area to explore which will be very familiar to fans of old dungeon crawlers from the '90s. Characters can multiclass and level at the Hall of Guilds and multiclassed casters will be able to cast spells from both guilds as appropriate. Multiclassing is a bit hard at the current point because I don't have stat-boosting items in the game yet, but they're coming!
Update A5 is *mostly* going to be updates to the engine. The Unexplored Mines map loads up very quickly, typically in a few seconds. Darkmoon, comparatively, takes about a minute. This is because Darkmoon is two Z-levels in size (only really noticeable in one place). The current way I'm generating maps has them generate in their entirety when the map is loaded. I think that, realistically, this is unnecessary so it's something that I'll be rewriting for the A5 update. Ideally this will mean that all maps load very quickly, basically in whatever time it takes to read the .level file that stores the maps data.
Additionally, with items being added to the worldspace, I want to step away from having them displayed as flat sprites. My current tentative solution to this is a Godot extension called SpriteMesh. It does what it says on the tin. Turns a sprite into a mesh with depth. Think held items in Minecraft. I think it'll look much better. This will be the second half of the A5 update.
Finally, because two halves aren't enough, I'll be expanding Darkmoon even deeper into the earth. I think I'd eventually like to have most of the entire catacombs under the place mapped and explorable in a fashion. I don't know how much we'll be exploring the upper reaches since they got exploded... but maybe a bit there, too. We'll see how things look!
+ Much more unified UI. Godot allows UI stylesheets. This will make things like user defined UI color palettes a thing down the line. Swapped over to much more readable fonts.
+ Much more performant UI. Basically everything is tied to event systems now, instead of being per-frame checks. While this won't be super noticeable on the player side of things, it's a big deal for performance.
+ Moved UI elements now save positions between play sessions.
+ In-game options have been rejiggered a bit. You can still adjust things like screen resolution but you can now tinker with audio settings, some display settings, as well as optional difficulty settings. With regards to the difficulty settings in particular, this is only the beginning!
+ Improved minimap. It's larger than it used to be, floor textures are now displayed, wall shapes differentiate between walkable doors, secret/illusory walls, and doors which require player actions to open.
+ Improved message box. Now has tab functionality. The background can be toggled to be transparent. Various events are colored differently to ease seeing what's going on at a quick glance.
+ The party roster now shows current/max health for party members.
+ Characters can defend in combat. For now defending ends the characters turn with no other effects, I plan on eventually having it grant a buff to Defense which will allow the front row to shield up and absorb attacks for the rest of the party. The party can also flee from fights, dropping gold as they go, but guaranteeing escape so long as it's done early enough in a combat round.
+ Improved tooltips. Item tooltips now show icons and more detailed information. Display formatting on them is going to be improved.
+ Improved the spellbook. Spells now have glyphs to denote what class of spell they are. These will be used in hotkeys down the line. If you level multiple spell casting classes, you have access to all unlocked spells at all times. Casting levels are shown based on the class a given spell is from. Spells which cannot be cast in a given situation (combat spells while exploring, healing spells during combat, and so on) are gray-ed out when they can't be cast.
+ Improved character creation in town. Now you can select a guild as part of character creation.
+ Improved options menu. There are now various audio settings available to tweak to desired levels. A handful of gameplay settings are available, too, as well as a few tweaks for making difficulty higher or lower. Display settings are a bit bare for now.
+ A new (slightly higher level) instanced area to explore in addition to the Unexplored Caverns tutorial zone. The Ruins of Darkmoon should be familiar to dungeon crawlers of old.
+ Items laying around in the dungeon now look like whatever they happen to be instead of random brown bags. You can now click on them when standing on them to pick them up.
+ Reduced XP costs for the first handful of levels. This should give PCs a chance to get their feet under them without unnecessary early game grinding.
+ Increased XP rewards for enemies across the board. This is handled by formula and is pretty generous. Expect either XP rewards to go down in the future or, more likely, leveling requirements to go up.
+ Added the Church of Cant. Bring dead party members here to get them raised from the dead. Down the line there will be a chance to have complications when raising the dead which can result in all kinds of (mostly bad) things happening. You can also donate money to the church and pray to the gods if you wish.
+ Added 'carried gold' footers to the Hall of Guilds and the Church of Cant. You can pool and share gold from them.
+ Enemies drop gold a bit more often. Most enemies in the Unexplored Mines don't drop too much since it's a dungeon meant for very low level characters. Enemies in Darkmoon offer better drops at the increased risk. I expect I'll be tinkering with gold drops a lot going forward.
+ Guilds now properly grant Attack and Defense bonuses. The highest bonus from all guilds a character is a member of is the one that's used in calculations. So a character with 100 levels in warrior will always fight as well as a 100th level warrior unless they're getting better modifiers from another class.
+ Rewrote how enemies pick targets in combat. Enemies now target based on 'weight.' The first two characters have a weight of 30, the next two have a weight of 15, and the final two have a weight of 5. In a full party, 60% of attacks will hit the front two PCs, 30% will hit the second two, and 10% will hit the final two.
+ Rewrote how attack accuracy is calculated. Instead of just dividing Attack by Defense to get a hit chance it now works as follows:
If Attack <= Defense: % Hit Chance = Floor((attack / defense) * 35)
If Attack > Defense: % Hit Chance = Floor(((attack - defense) / defense) * 20) + 35
So, an Attack equal to the target's Defense nets a 35% chance to hit. To hit 98% hit chance (the cap) you need roughly 4.15 times the target's Defense.
+ Music! There's music on the main menu, there's music in town, there's music in the dark places of the world that are going to try to kill your player characters.
~ Modified combat UI. The enemy roster is now on the left side of the screen (it can be moved as desired) and no longer uses portrait art for enemies, instead using sprites that will eventually be seen in the game world.