Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

On Task 10111, I get two different results depending on if a variable - which is never read - gets assigned.  I suspect the WHILE loop isn't updating properly.



EDIT: And using this same code on Task 11001 (everything above the screen is the code shown above in Task 10111), after sufficiently many steps the output doesn't work:

BEFORE STEP:

AFTER STEP:


Follow-up to this one, from Bonus Task 1; by far the most persistent bug I've encountered in the game - and by far the most annoying to nail down and report - is the bug where a piece of code causes the program to exit out of the WHILE 1 loop early, reporting "OUTPUTS ARE NOT CORRECT" even though the cursor is only on the second row.  I finally managed to get a minimal example of the bug:

WHILE 1 {
    IF IN[0] {
        RAISE J; 0; 1000 {
        }
    }
    OUT IN[0];
    DOWN 1;
}

As you can see in these screenshots, when the RAISE J clause is present, the program exits out of the WHILE 1 loop early, having only written a single output and read a single input.  However, when RAISE J is not present, the program goes through the loop as normal:

A little testing shows that the content of the IF statement can vary (this still occurs with IF 1 instead of IF IN[0]), the output command can vary (or not be present; I included it for demonstration), and the variable name and limits of RAISE can change, as well as replacing RAISE with LOWER.  It does not occur replacing RAISE with TIMES, however.

What's made this so hard to figure out is that this bug is dependent on the order in which you enter and run code.  For instance, if you first put a RAISE *around* the IF statement, run it, and then remove the RAISE, the program will run correctly.


In this manner, it is possible to have two identical files, for the same task, whose behaviors are entirely different.  Of all the bugs, this one's probably the worst.

I sincerely appreciate you still maintaining this game after all this time, and I would love to play through the bonus tasks and see the game's ending.  I'm playing it on 64-bit WINE for Ubuntu 20.04 (the native Linux build unfortunately segfaults), and would be happy to provide debug logs, system specs, more screenshots, or whatever else would help.

(+1)

Ehh... this is what happens when you get an inexperienced programmer making a program reader: a spaghetti mess that creates extremely unintuitive bugs. Thank you so much for your effort in tracking this down as far as you could. I will be working on ironing out the bugs now (working from a new GameMaker version introduced its own fair share of them... one of them is that I can't type the letter "i", although if I use the debugger to stop at a certain line of code, I can. Ugh.)

If you have any other complaints about game design and such, let me know please. It's nice to have such a dedicated community.

Regarding the EDIT part, I'm pretty sure you got a timeout error (the error name isn't in the screenshot), i.e. "PROGRAM TIMED OUT  -  TOO MANY STEPS". Is that correct?

I'm not sure, unfortunately - I optimized my Task 11001 code and didn't think to save the original, so I no longer get the error.