Game is definitely ready for both players to go the worm (obviously at the same time) and if you dont go through the door at the same time once then the glitch is fixed
I think what causes the glitch is that the level generator gets confused between what level to generate for both players, as they are separate characters exiting the exact same level at the exact same time. This causes two kinds of levels to mesh together at the same time, forming the so-called "Hybrid Levels"
It looks like it stops the game from clearing stage flags. I.e, mines 2, 3, or 4 might be flagged as 'Udjat eye'. And then with this glitch, that flag stays on for all subsequent levels, and the Udjat eye continues to spawn. And if you hit restless dead or wet fur, that gets persisted across levels too. The reason the snake pit doesn't carry over, is because that is dependent on the a certain configuration of tiles being picked in level generation, ( tinysubversions.com/spelunkyGen/ ) not from a flag being set. So If shopkeeper grudges were modelled in the same way, then yeah, it could carry over. But shopkeeper grudges carry over anyway, so...
I can't say for sure but maybe 2 people entering at once is some sort of frame perfect way to skip past the level end screen before it loads, so it keeps all level flags across levels
This also makes me curious if you can toggle level flags anywhere with a mod or something, and what that would do. Say wet fur in the mines or something City of gold somewhere that isn't city of gold, assuming city of gold is a level feeling
I imagine someone else has said this in the last 6 years already, but if I were to guess, I would say there's probably a race condition and a piece of code that is something similar to: if(levelModifierX){ // Do complex stuff levelModifierX != levelModifierX; } If each character runs on a separate thread and they both reach the 'if' condition at the same time, the "levelModifierX" would be true for BOTH of them. At that point, they do some complex stuff which causes the two threads to desync. That last line means that the first player's thread to reach it will switch the modifier (such as "Wet Fur") off... and then the second player's thread to reach it, will switch it back on again. I'm not saying that's EXACTLY what happened in the old build, but I wouldn't be surprised if there was at least a thread race condition appearing, and it causing something to be switched off and then back on again.
I watched some normal multiplayer footage In this game any of the players may exit, that player goes into door-entering animation, then after a small amount of time all players go to level-transition screen without waiting for anyone. Here all players enter on same frame. Game still does the door-entering animation and outro animation but skips level transition, goes straight to next level intro. . It is unlikely to be a threading race condition since all game mechanics probably run in a single thread - there is no reason to run each hotseat player in a thread for such a "simple" game - it would only add a lot of complexity for no good reason. Furthermore, threading race conditions on PCs or modern consoles are very hard to replicate exactly - which is why they are so hard to debug - it would not be consistent even for a TAS, let alone human, let alone every single time, multiple times in a row. . Probably what happens is: main mechanics loop checks level-exiting condition for each player in a loop, and does not actually stop the loop when it was reached, just sets a flag, but then it does that again for a second player. That is why it was fixed so quickly and never reappeared. . The question is - what exactly could have gone wrong and why? . It could be anything but my idea is something like this: First player's level-exit routine sets global game state (title screen/gameplay/...) to "intermission". This probably also increments level number. Now second player attempts to end level. I believe this does check for current game state, otherwise either level counter would be incremented again or it would not increment at all - we would skip a level or restart it. Instead I guess game reuses same function to end any game state so it thinks that the second player commanded to end intermission and start level. . *Perhaps some information is set in the intermission - possibly because the intermission needs to show level results before clearing them - but new level id is set in the level-exit routine because it needs to remember if a secret exit was taken or not* It would make sense to have a single function that resets all counters for new level and generates random parameters - just to keep everything in one place. Such function(s) should both generate level feeling and reset collected loot counters. Level seed probably just carries over, and is not modified, instead level generation rule differences make same seed behave differently - it would make sense for daily challanges to only need a single seed, not one per level. Actual level generation probably happens upon starting the level itself - it would make sense since not all levels start with level transition, and it needs to set actor states that don't necessarily exist or initialized outside of actual game loop state. . The "wet fur" feeling generates wrong-themed tiles because it is supposed to add more platforms to an already-generated level, and game never expects such level to be anything but ice caves one. So it places ice tiles on top of any terrain. This may mess up bosses if developers didn't check for that specifically. Restless dead and snake pit should be better integrated into the level since there it apparently does more checks. . If I'm correct, the following should be true: Level features that may or may not appear on a level such as locked chest, black market door, possibly worm and mothership entrance, will generate the same way they generated on a first level where the glitch was performed consecutively, even if it makes no sense. Existence (or possibility) of some rooms such as shops, altars, golden idols may also be replicated from the last non-glitched level (or they may never appear at all). The rooms may be skipped if there is no space for them at the time they are being generated. Some special level features such as bosses and alternative exits may not generate correctly or at all. if level is exited normally after glitched level transition, loot collected in every level before the normal transition should be displayed. If the damsel was saved in ANY of the glitched levels, damsel should appear on level transition and would likely increment health. Next level should generate as normal. Entering secret levels should work correctly, however there may be problems with cutscenes. Winning the game screen will probably be skipped, along with high-scores if they are recorded in multiplayer. Unlocked characters may or may not persist. Players will probably be dumped in the menu as normal. . I'm very curious what could have happened if there were exactly THREE players - If I'm correct it would most likely either crash or play intermission skipping one level and possibly duplicating last level results (as in - saving damsel or not, collected loot displayed onscreen...). . Wow, this was quite an essay that no-one will ever read!
Could anyone do a frozen hell run just to see how much the worldgen is ruined? i would like to see it but i suck at this game and can barely get to the jungle
I believe the glitch is caused because when both players enter at the same time it only counts one but still believes that the other player is in the previous level, this causes the game to replay any special circumstances onto the next level, it also at the temple believed a character was still in the ice caves leaving it to generate ice in the temple the same way it handles an ice cave.
I think what is hapening is the "special levels" are getting confused, because the lebel technically doesnt end, Hence the no clock reset, causing these levels, like udjet eye and (perhaps black market?) not to reoccur, but to simply never end!
I Think the Glitch is caused because when 2 player enter the door at same launch 2 threads/procedure of Level Generation. But a error exception system is present in the game so the 2 threads are paused/ignored in part.
Still works on xbox 360 for sure though. I tried it. But timing is difficult, so I line up the 2 players with a rope and then test to see when the controllers are synced perfectly by jumping. Once thet jump together at the exact same height, I press the enter door button. Then it works. Either way the glitch is a tad bit useless. The frozen temple looks cool though
Youre very pro, you passed all the levels (almost) not being hurt without any Items, and I have so much difficulty to reach Olmec, and I do not completed the hell yet ;-;
I wonder if it's something to do with how it keeps track of what level/sub-level you're currently in? So, when you go through the door, it counts up one because you're entering 1-2, say - but if both characters go through the door at the same time, perhaps it gets confused and counts up twice instead? So technically, you'd be moving from 1-1 to 1-3 while still actually being on 1-2...and then moving onto 2-1 while you were still actually only on 1-3. Thus, the game gets confused because you're in one zone while also being in another and starts putting the wrong things together xD EDIT: Also, perma-zombie, ice-zombies, smooth jazz and frozen temple modes are awesome too xD
I've sank a fair amount of hours (not necessarily a lot) into this game. And I barely ever make it to Jungle. You just walk there in a minute like you're just nipping out to the shop.
i came here for some info, because i had three consecutive dark levels in the jungle, i don't even play in multiplayer but the third one had a combo of dark and dead are restless
Theres a glitch in the deathmatch ice caves frosted The chances are super rare Most of two bots will glitch from left to right i killed the third bot And when u try to kill it,its inevitable
@@medro04 there's 2 ways to do this from what i've tested. 1. lag the game out with a bomb spam and while the bombs explode enter the door and open your select menu while the animation ends resulting in a forced overload. 2. get a second controller/player and as the both of you enter the door open the select menu as you both enter while the animation ends resulting in some frames being skipped ending with hybrid levels. prove me wrong, it's really hard to do but it's possible!
Oh and if you do this with 3 players everything's normal, but the ghost appears at 4 minutes instead of 2:30. And 4 players... Don't do this with 4 players. They never found that poor gamer who tried it.
i wonder if it would work with the black market? black market in the black market black market in the black market black market in the black market black market in the black market i presume
Dead are restless / Sweet Jazz sped up are the greatest thing
Eluded woman
true
No not really but thats just me
its a spooky mounth!
Super Jazz
Ice Temple is genuinely cool. Makes it look less intimidating, especially with the jazz. xD
I'd love to see if this has any effect on going to the worm...
Lunk no man
Game is definitely ready for both players to go the worm (obviously at the same time) and if you dont go through the door at the same time once then the glitch is fixed
Ok, but how would the black market/ castle/ mothership/ city of gold/hell work with this?
I mean, could you get a wet fur ulmechs lair?
This comment is 6 years old and the oldest reply is 10 months, I wonder if he ever even saw these. Or if he’s still alive
With the ice caves one I though it said “it smells like the Fourth of July”
The smell of hamburgers and gunpowder?
The sweet jazz on wet fur levels is half the reason I play this game
Does that mean dark Ice Caves can be a thing?
Oh god no.
dark ice caves would be harder than hell
This glitch doomed us all
dark hell. oh sweet jesus no.
Well thats gotta be very hard
I forgot the Wet Fur jazz was a thing until now. Thank you
Everyone
The glitch unfortunately doesn’t work anymore:(
This is the liminal spaces of Spelunky
Udjat:spawns
Etalify: nah mate I'm good
Game: but wait, there's more!
Awesome glitch!
...also wet fut sped up is amazing.
ik you spelled wet fur wrong but wet foot
@@waffles4670 feet 🥵
Gotta love how this video is 4 years old and I see comments that are recent
I'm here
I'm here
Now 6 years old, Spelunky HD will never die!
Oh, seven actually.
@@kirbobirbo0446 the spelunky magic keeps us all coming back
I think what causes the glitch is that the level generator gets confused between what level to generate for both players, as they are separate characters exiting the exact same level at the exact same time. This causes two kinds of levels to mesh together at the same time, forming the so-called "Hybrid Levels"
I wonder how this affects shopkeeper grudges.
It looks like it stops the game from clearing stage flags. I.e, mines 2, 3, or 4 might be flagged as 'Udjat eye'. And then with this glitch, that flag stays on for all subsequent levels, and the Udjat eye continues to spawn. And if you hit restless dead or wet fur, that gets persisted across levels too.
The reason the snake pit doesn't carry over, is because that is dependent on the a certain configuration of tiles being picked in level generation, ( tinysubversions.com/spelunkyGen/ ) not from a flag being set.
So If shopkeeper grudges were modelled in the same way, then yeah, it could carry over. But shopkeeper grudges carry over anyway, so...
Holy crap! Thats awesome.. is frozen Hell a possibility?
CoolHandFlash yes
when hell freezes over
It is now possible in single player spelunky
Thinking the same thing
showiiiiit
My friend told me that I'd beat this game when Hell was frozen over.
Hey, that gives me an idea!
Thanks, youtube guy!
Well, with bookskip.... now.... heh
Imagine hell with some jazz music
I can't say for sure but maybe 2 people entering at once is some sort of frame perfect way to skip past the level end screen before it loads, so it keeps all level flags across levels
This also makes me curious if you can toggle level flags anywhere with a mod or something, and what that would do. Say wet fur in the mines or something City of gold somewhere that isn't city of gold, assuming city of gold is a level feeling
I imagine someone else has said this in the last 6 years already, but if I were to guess, I would say there's probably a race condition and a piece of code that is something similar to:
if(levelModifierX){
// Do complex stuff
levelModifierX != levelModifierX;
}
If each character runs on a separate thread and they both reach the 'if' condition at the same time, the "levelModifierX" would be true for BOTH of them. At that point, they do some complex stuff which causes the two threads to desync. That last line means that the first player's thread to reach it will switch the modifier (such as "Wet Fur") off... and then the second player's thread to reach it, will switch it back on again.
I'm not saying that's EXACTLY what happened in the old build, but I wouldn't be surprised if there was at least a thread race condition appearing, and it causing something to be switched off and then back on again.
I watched some normal multiplayer footage
In this game any of the players may exit, that player goes into door-entering animation, then after a small amount of time all players go to level-transition screen without waiting for anyone.
Here all players enter on same frame. Game still does the door-entering animation and outro animation but skips level transition, goes straight to next level intro.
.
It is unlikely to be a threading race condition since all game mechanics probably run in a single thread - there is no reason to run each hotseat player in a thread for such a "simple" game - it would only add a lot of complexity for no good reason. Furthermore, threading race conditions on PCs or modern consoles are very hard to replicate exactly - which is why they are so hard to debug - it would not be consistent even for a TAS, let alone human, let alone every single time, multiple times in a row.
.
Probably what happens is: main mechanics loop checks level-exiting condition for each player in a loop, and does not actually stop the loop when it was reached, just sets a flag, but then it does that again for a second player. That is why it was fixed so quickly and never reappeared.
.
The question is - what exactly could have gone wrong and why?
.
It could be anything but my idea is something like this:
First player's level-exit routine sets global game state (title screen/gameplay/...) to "intermission". This probably also increments level number.
Now second player attempts to end level. I believe this does check for current game state, otherwise either level counter would be incremented again or it would not increment at all - we would skip a level or restart it. Instead I guess game reuses same function to end any game state so it thinks that the second player commanded to end intermission and start level.
.
*Perhaps some information is set in the intermission - possibly because the intermission needs to show level results before clearing them - but new level id is set in the level-exit routine because it needs to remember if a secret exit was taken or not*
It would make sense to have a single function that resets all counters for new level and generates random parameters - just to keep everything in one place. Such function(s) should both generate level feeling and reset collected loot counters. Level seed probably just carries over, and is not modified, instead level generation rule differences make same seed behave differently - it would make sense for daily challanges to only need a single seed, not one per level.
Actual level generation probably happens upon starting the level itself - it would make sense since not all levels start with level transition, and it needs to set actor states that don't necessarily exist or initialized outside of actual game loop state.
.
The "wet fur" feeling generates wrong-themed tiles because it is supposed to add more platforms to an already-generated level, and game never expects such level to be anything but ice caves one. So it places ice tiles on top of any terrain. This may mess up bosses if developers didn't check for that specifically. Restless dead and snake pit should be better integrated into the level since there it apparently does more checks.
.
If I'm correct, the following should be true:
Level features that may or may not appear on a level such as locked chest, black market door, possibly worm and mothership entrance, will generate the same way they generated on a first level where the glitch was performed consecutively, even if it makes no sense.
Existence (or possibility) of some rooms such as shops, altars, golden idols may also be replicated from the last non-glitched level (or they may never appear at all). The rooms may be skipped if there is no space for them at the time they are being generated.
Some special level features such as bosses and alternative exits may not generate correctly or at all.
if level is exited normally after glitched level transition, loot collected in every level before the normal transition should be displayed. If the damsel was saved in ANY of the glitched levels, damsel should appear on level transition and would likely increment health. Next level should generate as normal.
Entering secret levels should work correctly, however there may be problems with cutscenes.
Winning the game screen will probably be skipped, along with high-scores if they are recorded in multiplayer. Unlocked characters may or may not persist. Players will probably be dumped in the menu as normal.
.
I'm very curious what could have happened if there were exactly THREE players - If I'm correct it would most likely either crash or play intermission skipping one level and possibly duplicating last level results (as in - saving damsel or not, collected loot displayed onscreen...).
.
Wow, this was quite an essay that no-one will ever read!
@@jwhite5008 I read it and as a gamedev I find this extremely interesting. Thanks!
Jack White why did you waste your time making that comment lol
Could anyone do a frozen hell run just to see how much the worldgen is ruined?
i would like to see it but i suck at this game and can barely get to the jungle
This is still me but I can barely make to the ice caves
You forgot you commented on this vid didn't u?
@@livingwater25 lol It's possible
ah frick im late
@@livingwater25 yep
I will never see the verb "the first udjat eye".
Ok though. What if you have 2 exit doors. One leads too another level type. The other to a different one. What if they enter the same time?
Probably gives priority to whoever holds the flag
Well, would you look at that.
I'm glad you did it with wet fur, because the sax is so good
imagine this being a speedrun category
I believe the glitch is caused because when both players enter at the same time it only counts one but still believes that the other player is in the previous level, this causes the game to replay any special circumstances onto the next level, it also at the temple believed a character was still in the ice caves leaving it to generate ice in the temple the same way it handles an ice cave.
I would love to see the effect of "A wolf howls in the distance"
Wet fur Yama level would be cool
The two player one remote glitch happened to me for human fall flat and on spelunky
I think what is hapening is the "special levels" are getting confused, because the lebel technically doesnt end, Hence the no clock reset, causing these levels, like udjet eye and (perhaps black market?) not to reoccur, but to simply never end!
I got a dark, dead are restless level with the piranha ocean thing in 1 level at the jungle before
i love the wet fut fastforward
*When Udjat's Eye Appeared in the Jungle
Me: excuse me, but WTF?
Everyone gangsta till the spelunker runs into the "the dead are restless" ice caves with 3 udjat eyes
I Think the Glitch is caused because when 2 player enter the door at same launch 2 threads/procedure of Level Generation. But a error exception system is present in the game so the 2 threads are paused/ignored in part.
1:47 2nd jungle eye
i hit the sub button when i saw the dead yeti talk, wp my friend
This is incredibly awesome! Nice work on finding that glitch.
I wonder if it can be implemented with more players...
Inb4 frozlunky
It's like Jacob and Esau(?) From TBoI Antibirth
Helps with the key run though
He's real good at spelunky...
I need to know what happens when you beat the game like this
the dead are REALLY restless.
Still works on xbox 360 for sure though. I tried it. But timing is difficult, so I line up the 2 players with a rope and then test to see when the controllers are synced perfectly by jumping. Once thet jump together at the exact same height, I press the enter door button. Then it works. Either way the glitch is a tad bit useless. The frozen temple looks cool though
The ice temple looks cool though
Youre very pro, you passed all the levels (almost) not being hurt without any Items, and I have so much difficulty to reach Olmec, and I do not completed the hell yet ;-;
Dude give the dead some rest :(
Those dead really are restless
A long time ago I tried this glitch and then I got a blackmarket in hell
Still works on XBOX 360. I love the glitch
It will be really easy to get the temple shortcut then, even though the progress doesn’t save it multiplayer
Had something similar in spelunky 2 where one controller got two players when I whipped it just knocked me out
Oh hey, I though noone else had thought of this
Do
it
with
WORM!
5:46
The mummy over ther got butt-stabbed
Cursed images: Spelunky edition.
Sadly, this is now fixed in the latest version of Spelunky.
I wonder if it's something to do with how it keeps track of what level/sub-level you're currently in? So, when you go through the door, it counts up one because you're entering 1-2, say - but if both characters go through the door at the same time, perhaps it gets confused and counts up twice instead? So technically, you'd be moving from 1-1 to 1-3 while still actually being on 1-2...and then moving onto 2-1 while you were still actually only on 1-3. Thus, the game gets confused because you're in one zone while also being in another and starts putting the wrong things together xD
EDIT: Also, perma-zombie, ice-zombies, smooth jazz and frozen temple modes are awesome too xD
Strange to see binding of Isaac on spelunky
It turned into spelunky 2 generation
I love you spelunky
There have been a few times where I’ve seen a giant water pit with piranhas on 3-1, it’s weird.
I've sank a fair amount of hours (not necessarily a lot) into this game. And I barely ever make it to Jungle. You just walk there in a minute like you're just nipping out to the shop.
Such a good video!
i came here for some info, because i had three consecutive dark levels in the jungle, i don't even play in multiplayer but the third one had a combo of dark and dead are restless
Theres a glitch in the deathmatch ice caves frosted
The chances are super rare
Most of two bots will glitch from left to right i killed the third bot
And when u try to kill it,its inevitable
You hear Yeti prayers.
I have rediscovered the glitch in single player and might get a video on it soon
wait what? how did you do it
@@medro04 there's 2 ways to do this from what i've tested.
1. lag the game out with a bomb spam and while the bombs explode enter the door and open your select menu while the animation ends resulting in a forced overload.
2. get a second controller/player and as the both of you enter the door open the select menu as you both enter while the animation ends resulting in some frames being skipped ending with hybrid levels.
prove me wrong, it's really hard to do but it's possible!
Wish my runs were stupidly easy like that
Oh and if you do this with 3 players everything's normal, but the ghost appears at 4 minutes instead of 2:30.
And 4 players... Don't do this with 4 players. They never found that poor gamer who tried it.
Spelunkey but you control 4 characters at the same time
It doesnt work anymore
JACOB AND [[Hitbox]]
Nice vid bro!
Don't tell me there could be Dark, Dead Are Restless, and Wet Fur while fighting YAMA?!
Wait can you be in the city of gold twice😳
4:07 wet fur music mariokart ver.
It sounds like wet fur in here!
Wait a sec, why does Yang appear when he jumps on enemies?:0
Nice find!
Randomizer with this glitch
dead are restless wet fur dark hell
oh god
i think the pirated versions are older so you can still do this
Would there be any other effects if you had 3 or 4 characters exiting the level at the same time? also, great vid!
This is cool!
i wonder if it would work with the black market?
black market in the black market black market in the black market black market in the black market black market in the black market i presume
What happens when you reach Olmec with the wet fur?
2:28
Dead are retless hell
Can we have like infinite black market or golden city?
Derek better add a "Hybrid Levels" option in the next update or I will... Most likely still play. BUT I'LL BE SLIGHTLY DISAPPOINTED.
Half a decade
still not out
Do you know what version of Spelunky HD this is? I would love to try this.
Can hybrid levels be an official thing in Spelunky 2? :0
Should have picked he eye
Spoilers for Spleunky 2!
OLMEC UDJAT EYE
1:46 4th udjat
1:47 another udjat
I wonder if this is possible on the xbox 360 version
Yes, it's possible
It duplicates the money as well