Alpha Devlog 9: About Bugs and QoL


There's absolutely no new content to show this week. So I wanted to dive a little deeper in what I did do during this time, and that's bugfixing (and some quality of life improvements). It gets rather technical, so if you're not into that, just read the Changelog at the end. But first let's get some housekeeping out of the way.

Housekeeping

As mentioned last week, every progress report means that there's also a new version of the game on Patreon. This is either the version with the changes as described here for the top two tiers, or the version of a week prior for the lowest tier. Since the caverns part of the game is finished, the Parasite update (and these bugfixes) will also be available soon for everyone (next week or the week after that).

Additionally, there's also a new poll on the Patreon to prioritize which part of the roadmap will be covered next:


The last poll also (almost) concluded, and it seems that either the Alchemist or the Noble is going to be the next non-cursed class.


Finally, I also want to stress that the way Patreon works has changed (at least from some years ago). You don't get charged at the start of the month for an entire month, but instead your subscription lasts a month. Patreon itself explains it better, but the idea is that you aren't screwed if you subscribe at the 30th of September instead of waiting for October 1st.


Bugs

It's well known that game code is messy. Especially code of indie games tends to be horrible. Below is the code Hollow Knight uses to assign the notch cost of a charm. If you're not a programmer, just know that there's better ways to do this.


But that's not really a problem. As you may know, Hollow Knight runs fine. Even the much laughed at if-else code of Alex Mahan (known from Yandere Simulator), doesn't have bad performance (the game has bad performance but not because of the if-else statements). What this is problematic for, is the maintainability of the code. As an example, look at this erodungeons code that decides whether saves are compatible.


It starts off simple. I want to get a release out the next day, and need to indicate that saves are no longer compatible. And then, a week later, that saves from that specific one are compatible. And so on, and so forth. And from this code bugs will naturally arise, perhaps a typo in the above, or a forgetfulness. Those are quick and easy fixes, but they don't last.  Because the longer a game is under development, and the more features it has, the more these things build up, until it fully collapses in on itself. That's also why many Patreon games (and even "professional" games with a lot of DLC) start slowing down before ending completely.

Another example is the quirk "masturbation lover". It has an effect that replaces Masturbate by Masturbate+. This caused a minor issue, the Masturbation goals didn't trigger when using Masturbate+. No problem, I wrote a quick fix (because I wanted to get a release out that day).


This worked. Once. Because when the quirk "chronic masturbator" replaces Wait with Masturbate, it didn't replace it with Masturbate+. So in the end, I had to rework the system anyway. But now, it was more ingrained in the code, so harder to uproot. And this is the crux of the matter. The longer you wait with clearing bugs, the more systems are affected by them, and the harder it is to fix them. And having these bugs lingering about also means the features will slow down, since those are now built upon a brittle foundation. 

That also means that there is no bug that's too small.  I had an issue where a forced token didn't highlight when attacking. This is a very minor bug that didn't affect anything. However, fixing it showed that forced tokens weren't handled correctly, sometimes. Code is supposed to work perfectly, and if it doesn't, that means something is wrong, and you better fix it before it gets worse.

This is even more so with UI issues. There were quite some places were scrollbars were missing, or text could push an entire panel out of bounds. These are easy to fix if you catch them quickly. However, in a longer lasting project, where the UI was built around these scrollbars not existing, it could've spelled disaster.


In short, there's a reason those bugs had to be tackled. Killing them quickly, before they spread was certainly worth a week.

QoL

Quality of Life issues are similar to bugs in many ways. The longer you wait the harder they become to add. Here I primarily added sorting functions to both the guild inventory and the adventurer list. As well as some extra features in the Mental Ward.




Changelog

Minor:

  • Added quirks for parasite growth (fertile (+100) - infertile (-100))
  • New prisoner weapon: Armbinder of Adequate Violence. 
  •  You can now remove positive quirks and lock in negative ones. 
  •  Console commands that require a target are now more lenient, and will also try to get a player or enemy from a currently open panel.
  • Noble subscribers can now skip between autosaves using ctrl+u and ctrl+y. 
  •  Added voicelines for dismissal and new classes.
  • You can now sort the guild inventory (alphabetical by default, also type, rarity, set).
  • Yoke and Featherduster are no longer cursed.
  • Added an infinite symbol to tooltip if item is infinite.
  • Doubleclicking employed girls will now unemploy them.
  • Sound sting when equiping cursed item
  • The ratkin paladin can now only use her heal five times per battle.
  • Two items (earrings of protection and earrings of spontaneous orgasms) weren't included in the loot table.
  • Added sorting options to the girls in the guild (custom, alphabetical, class, level, lust).
  • Completed goals, levels, and uncursings are now shown during combat or in the dungeon conclusion.
  • Updated the equipment tutorial.

Bugfixes:

  • Forced dots didn't work, unless there was also a normal dot of the same type.
  • Very long player names would break all sorts of containers.
  • Updated some building upgrade descriptions to be more clear.
  • A fully upgraded guild would break the Guild Hall panel.
  • The retreat button is now hidden during the tutorial, and those buttons are now aligned properly.
  • The Patreon and Discord link didn't work in the Settings
  • The dungeon morale wasn't always an integer.
  • You could still access the equipment panel on a recruit by first selecting it on an already recruited girl.
  • You can no longer access the class panel on recruits.
  • Cutins would show even if the attack (e.g. Incubate) would miss.
  • If a parasite missed Attach, its puppet would disappear.
  • Grapple tokens and faltering tokens would show 100000 turns remaining.
  • Job tooltips now also show the name of the girl.
  • Misanthrope had the effects of Beast Lover and Anthrophile the effects of Beast Fetish.
  • Estrus could kill if the girl was faltering.
  • The guild upgrade panels would get squashed if there were too many veteran recruits.
  • Items can now have multiple types. So you can no longer use gags or visors while wearing a gas mask.
  • Spiderrider is now correctly centered, making it more clear that she takes up two positions.
  • Reworked the versioning system so it's no longer hardcoded, which fixes stuff like saves from public 2.5.1 not seeming compatible with 2.6.
  • The end dungeons with a parasite goal wasn't working.
  • The guild camera will no longer move on building panels or when you rename the guild to "WASD guild".
  • The minimum lust of items would stack, so a Nympho with a Collar of Lust would get a minimum of 100 lust.
  • Dungeon related effects showed up in the guild based on the last visited dungeon.
  • Gas mask didn't prevent DoTs from non-move sources.
  • If no valid reward was available, the dungeon info at the provisioning screen showed an empty panel.
  • Perfect maid added stealth twice.
  • Mental Ward/Training Field/Nursery would close if you right-clicked a girl for more info.
  • Added role icons for the Patreon tiers.
  • You could reroll the rewards for rescue missions by going in and out of the world map.
  • You couldn't move girls from the party directly to a job.
  • If you double clicked the lower half of a girl in the guild, the adventurer beneath her would be sent to the party.
  • Completing a dungeon without reward could crash the game.
  • Very long guild names would break the game.
  • Latex hood didn't block other headgear.
  • Moves that bypass tokens now have their damage displayed correctly.
  • You could reroll gained quirks by hard quitting out of the dungeon conclusion screen.
  • A masturbation lover chronic masturbator didn't get Masturbate+.
  • Strength tokens didn't negate weakness tokens.
  • Chastity belts didn't block masturbation lover's Masturbate+.
  • Forced moves now have priorities, so the red armbinder will no longer override orgasm and other stuff.
  • Removing lust with a move will no longer work against the "take lust damage" goal.
  • Healing no longer removes silence, strength, crit or other offensive tokens. It will no longer be affected by crit tokens.
  • Combinations of normal tokens and forced tokens would display weirdly.
  • Broken equipment was intact in the kidnap animation.
  • Forced dots combined with normal dots now show turns left.
  • Forced tokens weren't marked when the attack you used affected them.
  • Fixed some incorrect subtitles.
  • Love added by moves like massage or lick clean didn't count towards love damage goals
  • Cleanup didn't target allies.
  • Makeover didn't add a random positive token.

Get Ero Dungeons

Comments

Log in with itch.io to leave a comment.

(1 edit)

the day refresh button when in town seems to have vanished as of 2.5.1. not sure if this was intentional or not but thought i should point it out all the same.

Yep, that's intentional.

why'd you remove it? o.o

It unbalanced certain mechanics. Why upgrade the stagecoach or mission count when you can just wait a day. Until the guild has an upkeep of some sort the button will stay out.

Item sorting QoL is a nice change! It's less of an issue with the Weapon inventory than with the Accessory inventory, but since all Weapons are simply of type "Weapon", sort by Type does nothing there. This could be fixed by adding Weapon subtypes in the same way that there are Accessory subtypes, tagging each item with something like Weapon (Sword), Weapon (Bow), Weapon (Restraint), etc...

Alternatively, since the only thing the player probably cares about in the Weapon inventory is which Weapons can be equipped by the active character, a Separate filter for "Equipable" would conveniently group all the items you're looking for at the start of the list.

Good idea. I'll make it so the equippable weapons are on top.

Found a typo: in 2.61, I found myself facing enemies titled as "Rakin Lancer"

Huh? How did that get in there. I'm surprised nobody noticed it before.