Debugging (via path-fixing) in squiffy
![](https://i.imgur.com/6mfIIbhb.gif)
Bluevoss
28 Sept 2020, 19:49This is not squiffy-specific advice but more for newbies trying to learn how to organize things. I've got a game, "StoreyMinus" which I was pretty proud of. Last weekend I was playing through and there was a minor chance of something random happening at certain stages. Oddly, it happened each time I went through that point. Curiously I looked through the code.
Turns out I'd been path-testing code at one point during development. Something like this...
set("path2",squiffy.getRndInteger(1,11));
set("path2",1);
if (get("path2")==1){squiffy.story.go("Tunnel special event");}
Clearly this event should happen 1 time in 11 (don't know why my probability was so specific). Still, clearly I wanted to test it and did. Then the wife must have wanted something or a cat came in to play. All I know is I left this force-test (the alteration of path2) to 1. And so you always got it. Fixed the bug and reloaded the game.
Now here's the lesson. In every case (other than this) I place a TTD (Things To Do) notification next to ANY temporary code (so this sort of thing doesn't happen). It should have looked like this...
set("path2",1); //TTD
Then, before release, I check to make sure I didn't leave any TTDs behind. This makes sure that all my debug statements and testing is cleared correctly before a release. But in this case, I didn't. Very embarrassing.
Ignoring the case where I didn't, always make sure you flag temp code so you know where it is when it comes time to release. Okay, lecture over. Dismissed!
mrangel
28 Sept 2020, 20:12I'm used to flagging code with TODO
(where there's code that doesn't exist yet, or a placeholder), FIXME
(a bug that I've found but didn't have time to fix properly), or DEBUG
(as in this case). Using capitals makes it easier to spot them; and I assume the same words are used by a significant number of programmers, as my usual text editor's default syntax-highlighting rules make them show up bright red if they occur in comments.
![](https://i.imgur.com/6mfIIbhb.gif)
Bluevoss
29 Sept 2020, 10:32Yop. A lot of coders have tricks to keep things straight. It just galls me that I missed this one. I'm pretty solid about always marking temporary logic changes and this time I let it slide/got distracted.