I accidentally found a scenario where you can make the game just freeze and stop responding (at least on Windows x64).
McDuffin's beam can go from anywhere, but specifically the layout of mirror, wooden wall and ice wall is crucial for that. You can see screenshots of such layout below.
First, aim the beam at the ice wall to start melting it (it's better to put it 22.5° diagonally, not vertically). During the melting animation, right click the mirror (for the up right layout, but left click for the down right layout) to instead put the beam end between ice and wooden walls. From what you will maybe see, the game just freezes and is considered by the task manager as Not Responding (pretty much crashing, but in a slower way).
From my experience, that was not a problem of older versions, since I was playing a level with such scenario before and was doing the same thing, but didn't have that problem at all. I assume it's the problem of prioritising the properties of ice block's melting state over wooden wall when you point at the gap between of em, I'm not sure.
[4.3.5.0/3.1.0] Very specific way to freeze your game in MM
Moderators: Flumminator, Zomis
[4.3.5.0/3.1.0] Very specific way to freeze your game in MM
Last edited by Eizzoux on Sat Feb 18, 2023 4:29 pm, edited 2 times in total.
𒈟
[4.3.5.0/3.1.0] Very specific way to freeze your game in MM+
After rechecking something I found out that similar problem happens with amoeba walls, but the amoeba wall has to be placed in different spots for the new growing one to appear correctly. The layouts can be seen below.
𒈟
Re: [4.3.5.0/3.1.0] Very specific way to freeze your game in MM
Yes, I can confirm this problem. Apparently it did not exist in version 4.3.4.0.
I will further investigate which change introduced this bug.
I will further investigate which change introduced this bug.
Re: [4.3.5.0/3.1.0] Very specific way to freeze your game in MM
That one was hard and required lengthy, in-depth debugging, but it is fixed now.
In fact, that bug apparently was always there, but was circumvented by another bug that I fixed in version 4.3.5.0.
Now both bugs should be fixed, and freezing the game engine (by running into an endless loop, at least by this specific issue) should not be possible anymore.
(As a side note, sending the program a termination signal (SIGTERM) while caught in that endless loop (by using "kill" under Linux, for example) caused the game to shut down cleanly via the exit handler, marking the current level set as the culprit and using the default level set when starting the program the next time. )
In fact, that bug apparently was always there, but was circumvented by another bug that I fixed in version 4.3.5.0.
Now both bugs should be fixed, and freezing the game engine (by running into an endless loop, at least by this specific issue) should not be possible anymore.
(As a side note, sending the program a termination signal (SIGTERM) while caught in that endless loop (by using "kill" under Linux, for example) caused the game to shut down cleanly via the exit handler, marking the current level set as the culprit and using the default level set when starting the program the next time. )