I hope you enjoyed this little story! Next video will be a bit longer and cover quite the wide-range of glitches.... Be sure to subscribe so you don't miss it!
That's crazy. Its such a situation of "oh, we messed up but it technically works so we're not fixing that" and it totally screams "this game ships in April so whatever"
@Newbyte there's several moments like this in Complete Saga. Most are pretty minor, but it stands out like a sore thumb in a few places Think the game was thrown together somewhat haphazardly
Let's just be glad it was something small like this and not a game breaking bug. *Looks to Skywalker Saga that released with dozens of game breaking bugs* 😑
Also have a CS degree and I am completely baffled that this code was ever submitted like this, it betrays so many design patterns I've learned. Still, it's a great game and not too big of a bug so not much harm done.
@justrecentlyi5444 the thing is.. cs degree quite often has nothing to do with actual real work people do. Result, thats what is important. Especially in gamedev where the amount of work you need to do to ship a game is insane, and deadlines are almost always tight
@@nerdError0XF oh I am sure it's the product of rushing development but it still surprises me that this approach was what the developers chose to do, even in those circumstances. My experience isn't in game dev though, I've worked in products under continuous development/deployment so code independence is much more important than it would be for a game.
I don't know how it never clicked in my head that Maul was supposed to jump to 3 platforms, not 2. Great example of the importance of having global vs local variables.
I did notice this when playing the game as a child and always wondered why one of the platforms remained unused. I think it's pretty funny how abusing one bug fixes another.
I played the original version when I was a kid and this version several years later. I was having a Mandela effect situation: didn't Maul usually go to 3 platforms? Now, so much time later, I finally know the truth!
Since the final room expects the "Platforms" variable to be at 2 instead of 1 or 0, then that likely means the devs working on this level knew a variable was being reused & simply increased the number for the checks. My guess then is that at some point the variable got used again and they forgot to edit the checks for the final room. Does this happen in the original game as well or is it a new bug for The Complete Saga? I know there are a lot of changes & fixes but also a few new bugs added for this version.
The boss fight was completely re-done in TCS, so it's pretty hard to do a comparison. That theory with the variables is a likely theory as well, since the ActivatePads script literally does nothing at all but change the values
Doesn't work like this in LSW1. More info in my reply to @TenositSergeich's comment, but tl:dr Maul fight happens as intended 100% of the time in LSW1.
Not necessarily. You're right that killing the Droidekas is as much of a glitch as despawning them would be, however, what if you don't kill them? What if you could spawn them normally but activate both buttons without killing them? That way, no glitches would be triggered. The only question is: is it possible to activate at least one of the buttons without killing the Droideka protecting it?
@@armygamelovercode isn’t magic. everything you can possibly do is coded to work that way, intentionally or not. (unless it’s a cosmic ray flipping bits or something lmao).
@@rualker1090 well, yeah, but it happens during a normal playthrough with consistent results following the route the developers intended you to take while doing the intended actions. I wouldn't call that a glitch. It was just an error on the devs' part that was overlooked. It's a feature now and I would argue that beating Maul in 3 cycles should be considered an exploit, since you're exploiting the game to make the variable not increment when it should
I remember when I found this when I first started speedrunning. I sent the footage to the LSWTCS speedrunning discord thinking I struck gold. Got humbled very quickly, lol
The game being broken by default and being fixed when you break another thing is peak Lego Star Wars The Complete Saga moment. Peak mid-'00s Lego game moment even. Does this issue exist in original Lego Star Wars 1?
The issue is not present in LSW1, Maul jumps to all 3 platforms in a casual playthrough as intended. I did some testing myself because the platforms/obstacle system interested me and I wondered if a similar system is used in LSW1. LSW1 doesn't have the same droideka despawn glitch as shown here in TCS, but the Gamecube version does have a spawning error that allows you to press one of the buttons without killing the droideka. If the game logic were all the same as TCS, skipping that droideka should introduce a similar change to the final fight. NumBaddies == 2 would prevent ActivatePads() from running and potentially add an extra platform cycle to the fight. In practice, nothing changes and the fight goes as intended 100% of the time. Even if you do what we do in LSW1 speedruns, and skip room 3 entirely with a wrong warp, the final fight plays out exactly the same. TCS in shambles Kappa
I did some looking at the actual game code of LSW1 PC to confirm. In LSW1's script for room 3 the ActivatePads state does not exist, and there is no Ambush == 3 case to trigger it. It also doesn't have a Platforms variable, especially not a reused variable between multiple rooms. Maul's script for the final fight in LSW1 instead has three individual variables to control progression through Phase 2 of the fight: platform1, platform2, and platform3. These variables are closed doors which get unlocked as each fight milestone occurs. I'm certainly not diving in DEEP with this analysis so I won't say it's "impossible," but I don't see a way you could alter the flow of the fight in LSW1 without modding the game, it's pretty airtight. It doesn't actually work exactly like this, but if TCS were using the same doors system as LSW1, then setting the Platforms variable to 3, 5, or 4 basically has the power to unlock the platform1, platform2, or platform3 doors. This extra exposure allows the doors to be unlocked theoretically at any time, if the correct value is written, and ActivatePads happens to do just that in Room 3. LSW1 doesn't have this kind of exposure to the doors, the only thing that can unlock them is their intended trigger points in the fight script. It's a bit of a strange change to make, switching to the global Platforms variable. Especially considering almost all the TCS code shown in this video is a 1:1 copy + paste of LSW1. I looked at TCS's room 3 script to confirm and it doesn't even seem to USE Platforms FOR anything in room 3, it's still using the Ambush variable from LSW1 to trigger the ambush, dropping the starting platform, spawning the droidekas. Even ActivatePads is triggered by checking Ambush == 3, not Platforms == 2. Nothing happens with Platforms in room 3 at all until it gets set to 2 after spawning the droidekas, which would have worked perfectly... if only they didn't add ActivatePads and make it set Platforms to 3, the wrong value 😂 So in short they massacred my boi for nothing lol I suspect there must have been plans for changes to room 3 that got scrapped in development, because otherwise there's no reason for ActivatePads to have been added, or for the Platforms variable to be used in that room.
@@B_Skizzle I have a bit of an unhealthy relationship with LSW1 lol, so this had me super interested Btw, I tested a modification for TCS's room 3 script which removes the call to ActivatePads, and it does in fact result in the fight being fixed 100% of the time without adverse effects. Literally just deleting two lines of code lol
Cool video! I did some experimenting in Lego Star Wars II for PSP (1-6, 2-6, and 3-6 are included as bonus levels instead of the bounty hunter missions). Everything functions as intended. I can't get the Droideka despawn to work (half or full). Maul always jumps to all three platforms. I even tried keeping one of the Droideka's alive by forcing it onto the other platform. Nothing would stop Maul from going to the third platform or keep the Droideka's from spawning in. I think it could be because the PSP prequel levels were ported from Lego Star Wars 1. It's weird because it still feels similar to The Complete Saga version of the level. There's also no minikits because it's a bonus level.
Using the out of bounds I cover in this video th-cam.com/video/bAzVFwM3Jao/w-d-xo.html, you can actually just push him back in-bounds and then off the edge
I wonder what went wrong in TCS since in the original 2005 game maul always went to 3 platforms in the final room during a normal play through. I always thought it was odd that it changed
@@MasterBen88 An eight-minute video allows you to insert more advertising. Water in my region (Ukraine) means unnecessary chatter, maybe in your country there is no such slang. I found it funny that my friend who edits videos for some western TH-camr said that he has an order to make videos at least 8 minutes long, even if the video will be better if it is 6 minutes long.
Since this is the only way to make the maul fight play out as intended, Those two droidika are the ones who rescued maul from the bottom of the level and gave him the robot legs. This is now canon.
Wait is this how it's actually programmed? I mean, I never programmed a game, but using variables inside strings like that looks incredibly annoying and confusing No wonder they did that mistake or took whatever shortcut to just get the job done 😅
It's likely some in-house scripting language that exposes functionality to the level designers. This is pretty common in games so that level designers (who usually aren't as familiar with programming) are still able to create scripted events and such. I'm sure the engine itself is written in something like C or C++ like you'd expect.
I hope you enjoyed this little story! Next video will be a bit longer and cover quite the wide-range of glitches....
Be sure to subscribe so you don't miss it!
8 minutes just isn't enough for me when hearing about glitches. Hope it's 30+ minutes!
Hi, how are you? Here at OwnASaber we love your videos. Are you interested in a Collab soon?
So playing the intended way results in a bug, but using a skip causes the game to work as intended. Programming moment
Use the bug to fight the bug
@@hektik2074 ok
Indian moment*
@@a-nus ?????
I always wondered why that he didn't jump on all the platforms in complete saga. 90% sure this level works properly in the original
That's crazy. Its such a situation of "oh, we messed up but it technically works so we're not fixing that" and it totally screams "this game ships in April so whatever"
It would be such an easy thing to fix though. I feel it's more likely they just didn't notice.
@Newbyte there's several moments like this in Complete Saga. Most are pretty minor, but it stands out like a sore thumb in a few places
Think the game was thrown together somewhat haphazardly
Let's just be glad it was something small like this and not a game breaking bug. *Looks to Skywalker Saga that released with dozens of game breaking bugs* 😑
All they had to do was change one variable name by one letter and the issue is resolved. Oh, well. It's an amusing bug.
@@CurrentlyDuck1The hard part in coding is almost always identifying the exact issue. Not actually fixing it once you know exactly what it is
I fucking KNEW that Maul was supposed to jump onto the final platform. I picked up on that as a kid, and it always baffled me that he didn't.
I was always confused why one Minikit is already there, but the other two spawn during the fight.
4:55 As someone with a CS degree, I legitimately said "noooo" out loud here. My C++ professor would be furious.
The pain!!!
Im currently taking a C course and as soon as he said distinct variables I cackled
Also have a CS degree and I am completely baffled that this code was ever submitted like this, it betrays so many design patterns I've learned. Still, it's a great game and not too big of a bug so not much harm done.
@justrecentlyi5444 the thing is.. cs degree quite often has nothing to do with actual real work people do. Result, thats what is important. Especially in gamedev where the amount of work you need to do to ship a game is insane, and deadlines are almost always tight
@@nerdError0XF oh I am sure it's the product of rushing development but it still surprises me that this approach was what the developers chose to do, even in those circumstances. My experience isn't in game dev though, I've worked in products under continuous development/deployment so code independence is much more important than it would be for a game.
I don't know how it never clicked in my head that Maul was supposed to jump to 3 platforms, not 2.
Great example of the importance of having global vs local variables.
I did notice this when playing the game as a child and always wondered why one of the platforms remained unused. I think it's pretty funny how abusing one bug fixes another.
I played the original version when I was a kid and this version several years later. I was having a Mandela effect situation: didn't Maul usually go to 3 platforms? Now, so much time later, I finally know the truth!
The two hardest problems in compsci:
cache invalidation, naming things, and off by one errors
Hehe, I see what you did there
Since the final room expects the "Platforms" variable to be at 2 instead of 1 or 0, then that likely means the devs working on this level knew a variable was being reused & simply increased the number for the checks. My guess then is that at some point the variable got used again and they forgot to edit the checks for the final room.
Does this happen in the original game as well or is it a new bug for The Complete Saga? I know there are a lot of changes & fixes but also a few new bugs added for this version.
The boss fight was completely re-done in TCS, so it's pretty hard to do a comparison. That theory with the variables is a likely theory as well, since the ActivatePads script literally does nothing at all but change the values
Doesn't work like this in LSW1. More info in my reply to @TenositSergeich's comment, but tl:dr Maul fight happens as intended 100% of the time in LSW1.
so what you're saying is a glitchless run of TCS is technically impossible
Edit: holy fuck it’s a joke stop taking everything so seriously
Not necessarily. You're right that killing the Droidekas is as much of a glitch as despawning them would be, however, what if you don't kill them? What if you could spawn them normally but activate both buttons without killing them? That way, no glitches would be triggered. The only question is: is it possible to activate at least one of the buttons without killing the Droideka protecting it?
Well, no. The game is coded to work this way, so it's not a glitch
@@armygamelovercode isn’t magic. everything you can possibly do is coded to work that way, intentionally or not. (unless it’s a cosmic ray flipping bits or something lmao).
@@rualker1090 well, yeah, but it happens during a normal playthrough with consistent results following the route the developers intended you to take while doing the intended actions. I wouldn't call that a glitch. It was just an error on the devs' part that was overlooked. It's a feature now and I would argue that beating Maul in 3 cycles should be considered an exploit, since you're exploiting the game to make the variable not increment when it should
@@armygamelover So if a hypothetical game always crashes at a certain stage due to a bug, that is just how the game was coded to work?
I remember when I found this when I first started speedrunning. I sent the footage to the LSWTCS speedrunning discord thinking I struck gold. Got humbled very quickly, lol
Same lmao
“When one is broken, another is made whole” - some philosopher probably
My Baddie Counter is always at 0
I cant believe youve done this
You have no enemies.
The game being broken by default and being fixed when you break another thing is peak Lego Star Wars The Complete Saga moment. Peak mid-'00s Lego game moment even.
Does this issue exist in original Lego Star Wars 1?
The issue is not present in LSW1, Maul jumps to all 3 platforms in a casual playthrough as intended.
I did some testing myself because the platforms/obstacle system interested me and I wondered if a similar system is used in LSW1. LSW1 doesn't have the same droideka despawn glitch as shown here in TCS, but the Gamecube version does have a spawning error that allows you to press one of the buttons without killing the droideka. If the game logic were all the same as TCS, skipping that droideka should introduce a similar change to the final fight. NumBaddies == 2 would prevent ActivatePads() from running and potentially add an extra platform cycle to the fight.
In practice, nothing changes and the fight goes as intended 100% of the time. Even if you do what we do in LSW1 speedruns, and skip room 3 entirely with a wrong warp, the final fight plays out exactly the same. TCS in shambles Kappa
I did some looking at the actual game code of LSW1 PC to confirm. In LSW1's script for room 3 the ActivatePads state does not exist, and there is no Ambush == 3 case to trigger it. It also doesn't have a Platforms variable, especially not a reused variable between multiple rooms.
Maul's script for the final fight in LSW1 instead has three individual variables to control progression through Phase 2 of the fight: platform1, platform2, and platform3. These variables are closed doors which get unlocked as each fight milestone occurs. I'm certainly not diving in DEEP with this analysis so I won't say it's "impossible," but I don't see a way you could alter the flow of the fight in LSW1 without modding the game, it's pretty airtight.
It doesn't actually work exactly like this, but if TCS were using the same doors system as LSW1, then setting the Platforms variable to 3, 5, or 4 basically has the power to unlock the platform1, platform2, or platform3 doors. This extra exposure allows the doors to be unlocked theoretically at any time, if the correct value is written, and ActivatePads happens to do just that in Room 3. LSW1 doesn't have this kind of exposure to the doors, the only thing that can unlock them is their intended trigger points in the fight script.
It's a bit of a strange change to make, switching to the global Platforms variable. Especially considering almost all the TCS code shown in this video is a 1:1 copy + paste of LSW1. I looked at TCS's room 3 script to confirm and it doesn't even seem to USE Platforms FOR anything in room 3, it's still using the Ambush variable from LSW1 to trigger the ambush, dropping the starting platform, spawning the droidekas. Even ActivatePads is triggered by checking Ambush == 3, not Platforms == 2. Nothing happens with Platforms in room 3 at all until it gets set to 2 after spawning the droidekas, which would have worked perfectly... if only they didn't add ActivatePads and make it set Platforms to 3, the wrong value 😂 So in short they massacred my boi for nothing lol
I suspect there must have been plans for changes to room 3 that got scrapped in development, because otherwise there's no reason for ActivatePads to have been added, or for the Platforms variable to be used in that room.
@@coolesttoDamn, dude. Props for doing your research.
@@B_Skizzle I have a bit of an unhealthy relationship with LSW1 lol, so this had me super interested
Btw, I tested a modification for TCS's room 3 script which removes the call to ActivatePads, and it does in fact result in the fight being fixed 100% of the time without adverse effects. Literally just deleting two lines of code lol
Who knew, when we played this game at like 6-10 years old, that it would become a goated speedrunning category.
fabulous bit of editing at 5:10. a real chefs kiss detail that puts this video over the top
So basically the skip is only worse because of a bug in the code that the skip... fixes. lmao
1:50 lol I had to go back because I stopped listening to Wii super because of the chrono trigger music
How to combine Droideka despawn and Maul jumping to 2 platforms:
1. Spawn only 1 Droideka and kill it.
2. Kill Darth Maul.
3. Fight Darth Maul.
Yes, this was covered in the video.
@@baertorv Yes, and the joke was that you kill Darth Maul then fight Darth Maul.
I always had a gut feeling this game was held together by duct tape.
Lesson of today: NEVER MAKE VARIABLES BE WORLDWIDE
new wiisuper banger in my feed
I was advertised an 8 minute video on twitter. This video is 8:01. Is this supposed to be the video I was advertised on Twitter?
maybe it's 8:00.03 and TH-cam rounds up
Today we learn that Lego Star Wars: The complete Saga is programmed on duct tape.
Cool video! I did some experimenting in Lego Star Wars II for PSP (1-6, 2-6, and 3-6 are included as bonus levels instead of the bounty hunter missions). Everything functions as intended. I can't get the Droideka despawn to work (half or full). Maul always jumps to all three platforms. I even tried keeping one of the Droideka's alive by forcing it onto the other platform. Nothing would stop Maul from going to the third platform or keep the Droideka's from spawning in. I think it could be because the PSP prequel levels were ported from Lego Star Wars 1. It's weird because it still feels similar to The Complete Saga version of the level. There's also no minikits because it's a bonus level.
Watching videos for a game I haven't played in nearly two decades
for anyone wondering i think the music playing at 4:52 (before that but im too lazy to see when it starts) is a remix of a MHA intro
4:47 has that bloons type music
its mha op1
@@triplepersysin a Bloons-style remix. I love it
Chronotrigger music detected, like awarded
7:31 how would you kill him? Doesn’t he run into the warp trigger and become inaccessible?
Using the out of bounds I cover in this video th-cam.com/video/bAzVFwM3Jao/w-d-xo.html, you can actually just push him back in-bounds and then off the edge
So the reason the Droideka skip loses time is because it keeps you from getting the Fast Maul skip nobody knew they were doing the entire time.
wow this is a great video about the trick that i discovered (after about 9 other people discovered it)
"well, let's just go ahead and kill Darth Maul" xD
It's not a viral Lego Star Wars video until Charlie does a video about it.
I'll have to start using the phrase "baddie-counter" in real life
I got a six second ad that took more than six seconds for my ad blocker to skip
I knew something with that last minikit felt weird!
I wonder what went wrong in TCS since in the original 2005 game maul always went to 3 platforms in the final room during a normal play through. I always thought it was odd that it changed
Was that bardcore "The Day" at 3:32?
Indeed it was
Wii Trooper, where he's a storm trooper
so essentially droidica despawn is the intended route
the thumbnail made me think this was an oboeshoes vid
Let's goooooo more videos finally 😆👍
Do you think it would be possible to go into the boss room with a platform value of 1 instead of 2?
honestly that was the first problem i thought of.
we so back
4:07 I liked the mha s1 intro
Nice vid algo
Can you do a video of why the trigger for the DM3 fight doesn’t work when you shoot maul off the cliff in free play
Possibly because there are 0 Baddies in the room
DAE got it after Tenma stream?
Does this also apply to the original Lego Star Wars The Videogame? Or just TCS?
... Wait, droidekas are supposed to spawn on those platforms? In all the times I've played, I've never seen those guys on the buttons. 😵💫
Wow, the video is exactly 8 minutes long. Now I understand why there is so much water here.
explain your comment
@@MasterBen88 An eight-minute video allows you to insert more advertising. Water in my region (Ukraine) means unnecessary chatter, maybe in your country there is no such slang. I found it funny that my friend who edits videos for some western TH-camr said that he has an order to make videos at least 8 minutes long, even if the video will be better if it is 6 minutes long.
@@impoverlord3049 lol now its funny that i understand
My final result was 7 minutes and 58 seconds so I added a 2 second fadeout at the end, my bad
Since this is the only way to make the maul fight play out as intended, Those two droidika are the ones who rescued maul from the bottom of the level and gave him the robot legs.
This is now canon.
4:55 rookie mistake.......
yo Super did u take CS classes ?
In your video before this you played lego starwars 2. I assume that you emulated the game, so I have the question: where did you get the rom?
but how is it slower to only get 1 droideka spawn for us speedruners
How did you accessed the game's code?
That is very simple on the PC. You just go where the game is saved and then you can enter the code.
how did you get the debug camera enabled
great video
Tasty spaghetti
BANGER content
So does the 6 second skip lose time or save time very tricky question indeed! 🤣😎🤩😱😬
I will watch anything about this game lmao
my brain was shattered when he brought up the half-droideka despawn
This are cool videos
Speedrunners always find the weirdest crap in the code lol. It's always fascinating to see.
Extra Nice ⏱️
The cinematography at the start with the level overview was really cool. Guessing you need to use some specific program to move the camera angle?
Using a hacky/manually coded debug camera with cheat engine
@@WiiSuper Thanks for the response. Those shots certainly look a bit more interesting than just gameplay!
Please work your magic for Lego Batman speed runs 🙏
your should make more videos like the blue stud one, if your videos are simple people will click on them more
thats cool lol
im only know some stuff about programming but this entire way of coding seems so bad to me???😭
Wait is this how it's actually programmed?
I mean, I never programmed a game, but using variables inside strings like that looks incredibly annoying and confusing
No wonder they did that mistake or took whatever shortcut to just get the job done 😅
It's likely some in-house scripting language that exposes functionality to the level designers. This is pretty common in games so that level designers (who usually aren't as familiar with programming) are still able to create scripted events and such. I'm sure the engine itself is written in something like C or C++ like you'd expect.
hi justin
Holy early
I never know this game can speedrun🫠👍
Well any game can be speedran if you’re good enough
Any game can be speedran even if you're bad at it (you'll just get a DNF, a bad time, or a bad score.)