I've should've tested more.
The latest update includes a bug fix. A misbehaving flag was preventing the game from being completed.
In case you are curious, the game runs with two packages: Adventure Creator and Dialogue System. They work together very well. My scripting, however, is a bit messy. The game logic uses state machines to track the story’s progress, but the integration between my state machines and Adventure Creator and Dialogue System isn’t as good as it could be (because I’m not a very good programmer).
There was one rogue flag that triggered when the player solved one step of a puzzle. I was updating it in Dialogue System but not in Adventure Creator. So, when you solved the puzzle, one system would know you did, but the other wouldn’t. The latter would override the former, thinking this discrepancy was a mistake. So, you would be stuck in a state where you had to solve the puzzle, but the game thought you didn’t.
The other problem is that the puzzle was hidden inside a conversation. To make it feel natural and organic, the conversation tree became incredibly complex. I made it this big because the puzzle itself was not very refined. I implemented the first idea instead of refining the puzzle, so edge cases started to appear, making the graph grow continuously. When I returned to the code, it took me ages to figure out what each part was doing. And even more to figure out what was wrong.
The bug appeared in a later version when I added code to handle a new edge case that I hadn’t anticipated. I didn’t test the game much afterward, as I had already tested it thoroughly before that small change. Who would have known…?
The lesson here is to make simpler puzzles. Period.
… And also, to test more.
R2's Quest - A Star Wars Story
Become the droid who holds the fate of the rebellion!
Status | Prototype |
Author | José Rafael Pérez Balen |
Genre | Adventure |
Tags | Point & Click, Robots, Sci-fi |
Languages | English |
Leave a comment
Log in with itch.io to leave a comment.