Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Bug/feedback thread Sticky

A topic by 89o created May 29, 2020 Views: 795 Replies: 53
Viewing posts 1 to 19
Developer

Known bugs:

  • Lessons 11, 110 and 1001 are cut off at the bottom
  • Some levels show the wrong metrics
  • The scrollbar is offset by 1 pixel in fullscreen

I wasn't able to fix these bugs yet as they simply do not occur on my computer.

Great game.

However I have a problem.

Completed level 19 then the game crashed. It kept crashing when trying to open a task. Reinstalling the game didn't help. Deleting all the task files in the %localappdata% then enabled the game to run. I started from the beginning again completing the tasks. This time I finished level 17 and it crashed again and will not work. I'm using Windows 10.

Hope you can help.

Developer

Sorry about that. Can you tell me what the error message said?

The first time it crashed a box came up that said:

FATAL ERROR in action number 1 of Create Event for object oMenu:

This time I can open all previous tasks with with no problem, but as soon as I open task 18 it crashes out with no error message.

Developer

Did it not say anything else, such as what line it was in?

Also, when exactly did it crash? Upon opening a task or a solution?

Developer

Does this still happen? Can you provide me with the full error message? Did it happen when you clicked on the task, or when you opened your solution?

You mention some levels show the wrong metrics. Could you please specify what levels? There's several places where I think I have it optimized, but aren't sure if the metrics are wrong or if I need to keep thinking. TASK 100 - NOT N is the first one coming to mind.

Developer

I meant that they only show the wrong metrics in the MAIN menu, in-game they all work correctly, as far as I know. 

Getting the words par on task 100 requires using an empty { } box. As for the steps par, I can't help you - one of my testers optimized that one.

Hello.

I am enjoying the game so far, but have noticed an issue which leads to a crash.

When I create and edit a file (under My Files), there is a little 'up arrow' button on the bottom right of the screen, slightly obscured by the scrollbars. But, when I click it the game crashes with this error;

###########

FATAL ERROR in

action number 1

of Mouse Event for Left Pressed

for object oKeyboard:


instance_create_layer :: specified layer "Window" does not exist

###########

called from - gml_Object_oKeyboard_Mouse_4 (line 5)

///////

Sorry for the error text formatting, I manually typed it.

Thanks.

Developer

Thank you for mentioning this, I know exactly what the problem is. I'll fix it soon.

The demo version of the game in itch.io is actually the demo for 1-DC and not the demo for 1000-BIT

Developer

Woah, how did that happen? I'll fix that now

I played the game for a while and an error occurred.

Since then, the game won't start.

Here is the error message:

___________________________________________

############################################################################################

ERROR in

action number 1

of Create Event

for object oMenu:

unable to add a number to string############################################################################################

gml_Object_oMenu_Create_0 (line 49)

Developer

Oh, yes. I just remember I had the problem too a while ago but I wanted to change the music system, then I thought the old system was better, and it was a mess, I'll get around to fixing this error very soon I promise!

Thanks! FYI the error occurred right after I finished Task 19 (Mode), if it helps.

Developer

Alright, it's fixed I think. I'll upload the new version as soon as Visual Studio finishes updating...

Developer

Done! It should work now. Thank you for reminding me!

Works fine! Great game by the way.

(1 edit)

Hello, again.

This is not exactly a bug but I think it should be fixed. I'm currently doing the bonus task 1 (QUADR). In this task, there are two outputs for each set of inputs. The problem is, the order of expected outputs is somewhat arbitrary. I wrote an algorithm that returns the outputs in descending (or ascending) order and it didn't work. I guess there is an intended answer but the problem itself doesn't state anything about the order. I think it should be fixed in a way that clarifies the order.

Developer

Wow... I cannot believe you got that far into the game, even I didn't lol. And now I realize a slight problem with that is that the way I coded it, the numbers' order is pretty much just random. I'll update it very soon, tomorrow or today.

I really glad you're enjoying my game so much, by the way!

Developer

There we go, they should always be in ascending order now.

Another issue! In bonus task 4 (LOG11), the expected output is 'N*N' when the input is 0. I suppose that's for 'undefined' or something. But I cannot figure out how to make that value.

Developer

Oh my god... it says "NaN" but the "a" in my font is a star. NaN = not a number = the engine's version of "undefined". I'm really sorry for having overlooked such a simple mistake... I'll fix it asap!

Developer

There we go, fixed. And this time, I did what a responsible developer would do and checked the later levels as well, so hopefully you won't encounter any more bugs. You'll also be the first person apart from me to see the ending that I spent quite a bit of effort on, so stay hyped for that!

(1 edit)

The expected outputs in bonus task 6 (LCM) seem incorrect! When the inputs are 11 and 1, for example, it's 110, where it should be 11.

Also the task says "lowest common denominator" instead of "lowest common multiple".

Developer

Yeah... I don't know why what I was doing was flawed, but I rewrote it and now it works.

Thank you for bringing all these problems to attention!

I solved the last puzzle and... there was no ending! The accomplishment for completing all bonus tasks wasn't achieved either.

Developer

Right, the Red Room only unlocks once you optimize all Elite Tasks... which ones have you not optimized yet? I'd assume the "Round 11" task at least. As for the second thing, I'll look into it.

You mean bonus tasks? Anyway, I have several non-optimized tasks among both normal and bonus tasks. Some of them seem impossible though... especially the bonus ones. All of them are par 1111'1111.

Developer

Sorry for only coming back so late, but if you're still interested, I did a little hack... I made the levels beat on par even if you didn't actually get it under par, if you want to see the finale. Just re-verify all the levels and you'll unlock the Red Room.

For the MODE[1000] task (TASK 10011), I have a solution (optimizing for minimum number of words) that uses both UP and DOWN (to rescan input region), but it seems I run out of test cycles before I run out of input. Is that expected, or a bug?

Developer

I think it's a bug disguised as a feature. I implemented a timer to check if you get stuck in an infinite loop, and if so, quit. I suppose a better way to do it would be to first check if you're still on the same input, or increase the maximum number of cycles. I'll fix it soon.

Just to make sure, you're not going beyond the final input before writing the final output? There's an error that clearly says "Too many cycles" or smth like that? (I don't remember anymore how exactly this game works...)

Anyhow thank you for still showing interest in this game! :)

Thanks for looking into this!


if you ever consider updating this game for release on Steam, let me know.


I’m very interested in helping design/beta test scenarios for the yet-unimplemented peripherals (BCD, string, display) described in the manual. I can help test both the Linux and Windows releases.

Developer

Thanks! Although I don't think I'll be going into Steam yet, there's legal mumbo jumbo and tax stuff. We'll see when that happens.

(1 edit)

There seems to be a bug in extended ELIF statements, at least in Task 1101.

Realizing that the inputs for Task 1101 were only 4 bits (which seems an oversight; there are 34 inputs which could potentially be doubled without overflowing the eight-bit register), I hardcoded a lookup table and soared way under the par time for steps, though obviously was way above the par word count:

However, I ran into serious problems and inconsistencies trying to optimize this solution further.  If I end these IF statements with ELIF, the program runs fine.  However, ending with ELSE (which, since I cover all possible branches, should lead to the same thing) leads to the ELSE getting triggered a significant portion of the time.  In this case, the program only succeeds on the last three branches, which doesn't seem intended:

Additionally, and I don't know if this is intended or not, the @ statement overrides long IF / ELIF chains, forcing the program into sections of code under IF statements whose conditions are not met.


My defragmentation files seem to be out of sync.  I got a notification for "Holiday.txt", but it wasn't there when I checked it.  Later, when I got a notification for "Commandments.txt", that wasn't there, but "Holiday.txt" had appeared in the interim.

(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.

Developer(+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.

Developer

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.

The game occasionally crashes without warning upon saving a file.  The file is wiped in the process.

___________________________________________
############################################################################################
ERROR in 
action number 1
of Other Event: Room End
for object oCodeWrite: 
unable to convert string ";" to number############################################################################################
gml_Object_oCodeWrite_Other_5 (line 31)

Developer(+1)

Read and understood. I will look into these ASAP.

Thank you!

Developer(+1)

Just to make sure, this only happens when saving the "program code" of a custom task, or when saving the solution for a normal level?

Saving the solution for a normal level.

Developer

Sorry for the delay, I was on vacation and only now did I get GMS2 working on Linux. I'll now actually fix these issues.

While I'm at it, do any of you have game design suggestions? I'm really unsure about the quality of the levels I designed...

I like the existing levels; it would be awesome to have additional levels or sandbox mode where one could use the “peripherals” described in the manual.

Developer

Oh yeah, I meant to add those at some point actually... maybe now's a good time xD

I have encountered a reproducible crash.
On task 10 ACC(N) I am trying the following code:

VAL 0;
WHILE 1 {
  T IN;
  IF T {
    VAL T;
  }
  OUT VAL;
  DOWN 1;
}

When I step through the code I can see VAL being set to the appropriate last-non-zero input, but `OUT VAL` always outputs zero. This isn't a "troubleshoot my solution" post, although I'd welcome that. I am including this program to help describe the crash.

If I run this program at normal or fast forward speed, it simply outputs all zeros and then fails with "OUTPUTS ARE NOT CORRECT". However, if I hit some pattern of F1 F2 F3 ESC (sorry it's tedious for me to test and reproduce exact patterns, but I think F1 F2 F2 F2 F2 F2 F2 F3 ESC will do it) then the interface shows me a weird state. I'm not running the program and the in/out cursor isn't moving, but the variables column keeps updating for a while until before it stops. At that point if I hit F1 F2 F2 to try to step through my program from the beginning I get this crash message:

___________________________________________
############################################################################################
ERROR in
action number 1
of  Step Event0
for object oCodeRead:
Variable Index [64] out of range [64] - 4.100082(100082,64)############################################################################################
gml_Script_find_value (line 13)
gml_Object_oCodeRead_Step_0 (line 418)

PS: much smaller bug report: that second ### in the error output should probably have a newline before it.

Developer

Noted. I shall certainly look into this.

As for the ###'s, GameMaker generates those error messages automatically, so it's their problem. ¯\_(ツ)_/¯

(1 edit)

hello, I’m not sure if this is a bug. Keywords such as NOT, AND, OR, !, = … are recognized as variables.

So I modified the path of LLVM-WINDOWS in options.ini. Because I don’t have the 2022 version. (→ C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat)

Nevertheless, there are still bugs where the keyword is not recognized. Is there something I’m missing?

( And where is 1000bit.AppImage used? ) ( I used a translator. I hope the meaning is conveyed. )

image.png image.png

Developer

This is supposed to be the case in the levels before the ones where you program these keywords yourself.

The idea is that you make the "not" keyword without using this keyword (by reading and changing the bits one by one) and then you can start using it. Seems like I should make that clearer in the tutorials and manual 😅 or maybe I'll make them red and cause an error instead to show that these levels aren't supposed to be trivial.

But I do notice on the screenshot that the way the rectangles/UI is drawn is weird, thanks for showing me. I have a fix planned for that.

The AppImage file is to run the game on Linux, you don't need it.

Thank you for your response! I understand what you mean.

Thank you for making a good game :D