Post by swietymiki on Sept 23, 2019 10:43:55 GMT -8
Ever wondered what would happen if you replaced the typical image of a hazard with the image of an EyeCandy or another object?
Read on to learn about the strange behavior of the game's systems that I decided to document.
Static Hazards:
The image chosen in the editor has no effect on this logic. It always picks the proper animation dependent on its graphic set.
Rolling Balls:
Now this is where the fun begins. Normally when you create a Rolling Ball, you specify the direction it starts rolling to with the image name. What happens when you choose a different image and therefore the game doesn't know which direction to roll? Surprise, surprise, the game doesn't crash. Answer: It looks at the value of the "Direction" field. The default is 0, and the object rolls downwards. You can change this to make the object roll into any direction you want: 1 = north, 2 = east, 3 = south, 4 = west, anything else = south. Regardless of the image replacement, this logic acts exactly the same: squashes Gruntz in a 1x1 area, presses switches, etc. It's also animated if chosen image permits it. Unfortunately when such a Rolling Ball meets an arrow and turns into another direction, it loses its decoy and shows a normal image again. So much fuss for an only temporary effect.
Area 3 & Area 4 - ObjectDropper:
This is another one of those logics which require a specified direction to move in. So you'd expect it to ask similarly to the Rolling Ball, right? Well, no such luck there. Generally speaking, setting a different image for this logic makes its behavior very uncontrollable. It goes in a totally random direction on every level restart, including diagonal directions! And sometimes it decides not to move at all! Specifying anything in the "Direction" field doesn't seem to have an impact on this logic. Also it appears to be somewhat biased towards the south and south-east directions. Might have something to do with south being the default for Rolling Balls, I guess.
The image replacement in this logic is permanent and even changes the size of the object's hitbox. For example, when using a small 1x1 tile decorational object like LEVEL_GUMDROPS (Area 4) as an ObjectDropper, it's only going to "drop its objects" within this 1x1 area. Bigger images have bigger detection fields. Also somewhat unexpected is the fact that this logic has the capability to animate "droppers", even though the default Birds and Airplanes are not animated.
Area 5 (& Area 8) - SpotLight
In comparison to the previous ones, this logic is pretty simple. It's completely fine with taking on a different appearance. Unfortunately it doesn't support animation, despite going around in circles - the image will remain static all the way through. Regardless of the size of the image replacement, only the 1x1 space in the center is hazardous.
Area 6 - KitchenSlime
Now this one's a boring logic. Even though you are supposed to set its direction in the image, if you pick any unusual one it defaults to LEVEL_KITCHENSLIME and picks a direction automatically. The choice seems to always be the same for the same object and it depends on the location of the opposite corner of the slime's path.
Area 7 - RainCloud
Changing this logic's appearance works alright, but it won't be animated.
The hazard's hitbox corresponds to the size of the new image - Gruntz are only electrocuted when they come in contact with the object. So a flying Helpbox (as used in The Glitch Level) will only damage Gruntz in a very small area, while a large EyeCandy object (such as LEVEL_LAVAHOLE) will eliminate everything within its boundaries (in this case, a 4x4 box). No matter how big the image gets, the hitbox seems to be capped at 5x5 around the object's center. But it still seems feasible to make some kind of a "chase" Custom Level, where the player would be running away from a slowly approaching RainCloud object. Kind of a fancy way to replace a timer.
Area 8 - UFO
This logic is normally made up of three parts - the center and two SpotLights. SpotLights remain the same regardless of the image choice, only the center part becomes different. It's worth noting that it's the only hazard that might crash your game if you pick an incorrect but existing image - the UFO center requires an animated object! A Rolling Ball works particularly well as image replacement here, it even changes its direction after the UFO passes each waypoint. It won't damage the player though - the middle part of an UFO is always safe.
Read on to learn about the strange behavior of the game's systems that I decided to document.
Static Hazards:
The image chosen in the editor has no effect on this logic. It always picks the proper animation dependent on its graphic set.
Rolling Balls:
Now this is where the fun begins. Normally when you create a Rolling Ball, you specify the direction it starts rolling to with the image name. What happens when you choose a different image and therefore the game doesn't know which direction to roll? Surprise, surprise, the game doesn't crash. Answer: It looks at the value of the "Direction" field. The default is 0, and the object rolls downwards. You can change this to make the object roll into any direction you want: 1 = north, 2 = east, 3 = south, 4 = west, anything else = south. Regardless of the image replacement, this logic acts exactly the same: squashes Gruntz in a 1x1 area, presses switches, etc. It's also animated if chosen image permits it. Unfortunately when such a Rolling Ball meets an arrow and turns into another direction, it loses its decoy and shows a normal image again. So much fuss for an only temporary effect.
Area 3 & Area 4 - ObjectDropper:
This is another one of those logics which require a specified direction to move in. So you'd expect it to ask similarly to the Rolling Ball, right? Well, no such luck there. Generally speaking, setting a different image for this logic makes its behavior very uncontrollable. It goes in a totally random direction on every level restart, including diagonal directions! And sometimes it decides not to move at all! Specifying anything in the "Direction" field doesn't seem to have an impact on this logic. Also it appears to be somewhat biased towards the south and south-east directions. Might have something to do with south being the default for Rolling Balls, I guess.
The image replacement in this logic is permanent and even changes the size of the object's hitbox. For example, when using a small 1x1 tile decorational object like LEVEL_GUMDROPS (Area 4) as an ObjectDropper, it's only going to "drop its objects" within this 1x1 area. Bigger images have bigger detection fields. Also somewhat unexpected is the fact that this logic has the capability to animate "droppers", even though the default Birds and Airplanes are not animated.
Area 5 (& Area 8) - SpotLight
In comparison to the previous ones, this logic is pretty simple. It's completely fine with taking on a different appearance. Unfortunately it doesn't support animation, despite going around in circles - the image will remain static all the way through. Regardless of the size of the image replacement, only the 1x1 space in the center is hazardous.
Area 6 - KitchenSlime
Now this one's a boring logic. Even though you are supposed to set its direction in the image, if you pick any unusual one it defaults to LEVEL_KITCHENSLIME and picks a direction automatically. The choice seems to always be the same for the same object and it depends on the location of the opposite corner of the slime's path.
Area 7 - RainCloud
Changing this logic's appearance works alright, but it won't be animated.
The hazard's hitbox corresponds to the size of the new image - Gruntz are only electrocuted when they come in contact with the object. So a flying Helpbox (as used in The Glitch Level) will only damage Gruntz in a very small area, while a large EyeCandy object (such as LEVEL_LAVAHOLE) will eliminate everything within its boundaries (in this case, a 4x4 box). No matter how big the image gets, the hitbox seems to be capped at 5x5 around the object's center. But it still seems feasible to make some kind of a "chase" Custom Level, where the player would be running away from a slowly approaching RainCloud object. Kind of a fancy way to replace a timer.
Area 8 - UFO
This logic is normally made up of three parts - the center and two SpotLights. SpotLights remain the same regardless of the image choice, only the center part becomes different. It's worth noting that it's the only hazard that might crash your game if you pick an incorrect but existing image - the UFO center requires an animated object! A Rolling Ball works particularly well as image replacement here, it even changes its direction after the UFO passes each waypoint. It won't damage the player though - the middle part of an UFO is always safe.