[GD] Bugs and Unbugs


The Beginning

The day started with my decision to fix one bug currently in Hatecaster: The Learn option isn't quite behaving the way I want it to.

When the player chooses to Learn, they are supposed to get a number of choices: an upgrade to one or more of their current elements, or access to a new element for that run. Currently, this does not happen. Rather, they are offered an upgrade to their current element and that is it. In fact, there is never an opportunity to get another element - the code simply isn't there.

Autopsy

I had logged such a thing as a Bug, but that label doesn't quite fit. At first, I didn't know the code for that feature didn't exist. It would be better described as an Unbug; a feature thought to have been added, yet never was, and is perceived to be misbehaving. That situation comes from poor planning, poor project management. It would lead me down the debug rabbit-hole - which did lead to the fix of another bug - but ultimately I determined such functionality was never in the game to begin with. In brief: I spent roughly 3 hours chasing ghosts.

3 hours isn't much for me, by any means. I'm a novice, still learning and improving - I can afford that learning exercise. But it taught me that project management skills are an absolute must-have, even in something as small as an indie game. I couldn't even remember whether I wrote something in a solo project! It's not enough to maintain a design document, nor is it enough to just open issues in Github. There has to be some kind of extra planning involved to solidly represent the current state of the game relative to the vision of the game. If a design document represents What Will Be, version control shows What Was, and an issue tracker suggests What Should Be, then there really ought to be something that can represent What Is. Above and beyond "remembering" or looking at the current codebase, of course.

A Solution

After thinking about it for a few hours more, I decided the design document minus features which have not been added will represent What Is. Looking back, I really don't know why I wouldn't have done this from the start. The more experienced of those who may see this post have probably been shouting that from the beginning. I'll be reading up on project management relative to game dev in my spare time to avoid situations like this in the future.

Incidentally, I have to rewrite most of the functions for the Learn option as they currently preclude the selection of anything which isn't an upgrade.

Get Hatecaster

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.