Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
ManxomeBromide
Jan 29, 2009

old school
I neglected to mention this at the time, but I did a replay of Mega Man 2 recently and I actually got to use the glitch that came up earlier in this LP, so thank you, LP Majora's Mask, for improving my Mega Man 2 game.

Spoiler, if we're still doing that: Metal Blade is so overpowered and so cheap using the glitch made no real difference except on one stage.

Adbot
ADBOT LOVES YOU

PlaceholderPigeon
Dec 31, 2012
The heart overload was the best part of the recent vid! I love how it completely screwed up the save menu too - just hearts everywhere.

What happens to the save menu if you keep going beyond where you did?

DoctorKill
Jul 23, 2013

W H A T H A V E
Y O U D O N E
T O M Y
B E A U T I F U L
M O O N
I just get progressively more hearts popping up.

More hearts.


EVEN MORE hearts.


I used cheats to show those screenshots off, because the amount of time it took me to get enough for that 40 second clip was like 20 minutes, I wasn't going to do that again. I will say that at some point you can get enough hearts to stop the game engine from rendering the game. It'll still be running, but it won't update any of the visuals. I'm not sure how many this takes though, something like 200?

Theoretically, you can use that to glitch more items, using that trick where I got an ocarina again. Some chests will give you light arrows, instead of an ocarina, but will also crash the game. However, the game wont crash if it can't render the visuals, so if you get 200 something hearts and trigger that glitch, you can get light arrows from somewhere other than Stone Tower. That would be incredibly tedious and hard to pull off in real time though and has only been proved through cheats.

Simply Simon
Nov 6, 2010

📡scanning🛰️ for good game 🎮design🦔🦔🦔
Haha all the hearts are amazing!

I just remembered when watching the Snowhead episode how boring the English temple names are in comparison to the German ones. So I'm going to drop more translation poo poo on you. The temples in German are named:
  • Dämmerwald (Dusk Woods)
  • Pic Hibernia (Hiberna is Latin for "winter camp", but you probably figured that from "hibernating")
  • Schädelbucht (skull bay :black101:)
  • Felsenturm (rock tower :effort:)

PlaceholderPigeon
Dec 31, 2012
That's amazing, thank you

I like how some are in regular lines and yet some are just randomly splashed by themselves and sometimes overlap. Like you get another line of 20 small ones but then you have the two weird five patterns on the right.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Notice also how some of them are drawn at a different scale from the others. I wonder what the rendering logic for that screen looks like.

curse of flubber
Mar 12, 2007
I CAN'T HELP BUT DERAIL THREADS WITH MY VERY PRESENCE

I ALSO HAVE A CLOUD OF DEDICATED IDIOTS FOLLOWING ME SHITTING UP EVERY THREAD I POST IN

IGNORE ME AND ANY DINOSAUR THAT FIGHTS WITH ME BECAUSE WE JUST CAN'T SHUT UP

TooMuchAbstraction posted:

Notice also how some of them are drawn at a different scale from the others. I wonder what the rendering logic for that screen looks like.

I like to think they coded an AI to experience panic.

Spielmeister
Mar 31, 2014
Does Ocarina have the same problem with displaying more than 20 hearts?

DoctorKill
Jul 23, 2013

W H A T H A V E
Y O U D O N E
T O M Y
B E A U T I F U L
M O O N
Probably. It's harder to dupe as many hearts in OoT but it does start lengthening the second row, I'm just not sure what happens past like 23 hearts.

Important message by the way. I need a commentator for the last episode, BUT I know there are already people who requested to help out for the main LP. None of these people left me ways to contact them though! And they haven't contacted me. So if you are Domus, Cowman, or Toiwat, and you are still interested, either tell me your skype username or add me on skype, my username is in the first post. I only request that you ask yourselves, really, truly, ask yourselves, if you can handle being in the finale. It's got a lot of good stuff in it so I would like someone who can follow along OK.

Also, make sure you specifically mention the LP in your skype message! I got a message from someone I think was on somethingawful, but they didn't mention the LP at all so I denied the request. I just want to avoid possible spam.

And in regards to the Randomizer, I don't think I'm gonna do commentators the same way! A lot of people have already offered their help, but I definitely wont be having a new commentator every 30 minutes, that would be kind of difficult. So sorry about that. I'm leaning towards having one permanent commentator over the whole thing, with an extra guest every hour / every two episodes or so. A full playthrough would take about 4-6 hours depending on how things go, so I'll need less people. I'll make sure to clear all this up before the randomizer LP starts though.

Houle
Oct 21, 2010
I thoroughly enjoyed this LP. Majora's Mask has always been my favourite 3D Zelda and between this and the single cycle Challenge LP I have been pretty spoiled (and as such I posted a spoiler).

ManxomeBromide
Jan 29, 2009

old school
Reverse Bottle Adventure has been boggling me ever since I first saw it in the OoT Super Wrong run. I finally sat down and tried to replicate what kind of logic error produces this kind of crazy effect.

It turns out it's super-elegant. I built a little reverse-bottle simulator in C to fiddle with stuff, and found values that look very reasonable for similar (occasionally literal) bugs.

Let's take a set of items...

code:
enum { NOTHING, KOKIRI_SWORD, MASTER_SWORD, KOKIRI_TUNIC, KOKIRI_BOOTS,
       EMPTY_BOTTLE, RED_POTION, BLUE_POTION, POE_BOTTLE, FISH, BUGS,
       NUM_ITEMS };
Each of these is a byte value; NOTHING is 0, KOKIRI_SWORD is 1, and so on. These are constants in the code, but they might not actually live in a table anywhere explicitly; it might just be that any time you needed to talk about an empty bottle you'd just see the number 5 in the code. (Well, in the real code, an empty bottle is 20, but this is a stripped-down example.)

The inventory itself is an array of bytes too. For our simplified example, the slots might just be bomb count, bombchu count, and number of bottles. The only way I can make sense of the bottle adventures is if the B and C buttons are themselves "inventory slots" that can contain arbitrary items.

Now, when you use something on the C button, you have to update not just that item on the C button, but also the version of it that is actually in the inventory. I am postulating three "shadow" inventory slots right after the C button items which have, not items, but an index into the inventory slot index. So the full inventory looks something like this:

code:
enum { B_BUTTON,
       C_LEFT, C_DOWN, C_RIGHT,
       C_LEFT_BACKER, C_DOWN_BACKER, C_RIGHT_BACKER,
       BOMB_COUNT, BOMBCHU_COUNT,
       BOTTLE_1, BOTTLE_2, BOTTLE_3, BOTTLE_4,
       NUM_INV_SLOTS };
So normally, if you get your first bottle, there's be a command in the code like:
code:
inventory[BOTTLE_1] = EMPTY_BOTTLE;
Also, once you equipped it to, say, C-Down, you'd write EMPTY_BOTTLE to the C_DOWN slot and BOTTLE_1 to the C_DOWN_BACKER slot. Those three values hold indexes into the inventory array itself, not an item descriptor.

Okay, so far so good. But when you mess with bottles, you need to go update stuff back in the inventory. I think they must have done something like this for setting bottle contents:

code:
void set_bottle(int button_pressed, int bottle_contents)
{
    inventory[button_pressed] = bottle_contents;
    inventory[inventory[button_pressed+3]] = bottle_contents;
}
Because we list the button-backers in order, we can do math to find it as long as the button pressed was a C button. But look what happens if the button_pressed argument is B_BUTTON here. There isn't a backer slot for the B button because it was never intended to hold objects whose state needed to generically reflected in the inventory. It ends up one short and reads the item value in C-Right as if it were an inventory index. That's the core visible behavior of bottle adventure and it falls right out of that second line.

Then I decided to have some fun with it and do various Super Wrong things with my simulated inventory. It seems to check out:
pre:
Initial conditions:
B: Kokiri Sword; C Left: Nothing; C Down: Bottle of bugs; C Right: Bottle of fish
0 bombs, 0 bombchus
Bottles: Nothing, Bottle of bugs, Bottle of fish, Nothing

After emptying bottle on C-Down:
B: Kokiri Sword; C Left: Nothing; C Down: Empty bottle; C Right: Bottle of fish
0 bombs, 0 bombchus
Bottles: Nothing, Empty bottle, Bottle of fish, Nothing

Got bugs on B:
B: Bottle of bugs; C Left: Nothing; C Down: Empty bottle; C Right: Bottle of fish
0 bombs, 0 bombchus
Bottles: Nothing, Empty bottle, Bottle of fish, Nothing

After emptying bugs with fish on C-Right:
B: Empty bottle; C Left: Nothing; C Down: Empty bottle; C Right: Bottle of fish
0 bombs, 0 bombchus
Bottles: Empty bottle, Empty bottle, Bottle of fish, Nothing

Catching a poe on C-Right:
B: Empty bottle; C Left: Nothing; C Down: Empty bottle; C Right: Bottled Poe
0 bombs, 0 bombchus
Bottles: Empty bottle, Empty bottle, Bottled Poe, Nothing

Catching bugs with poe on C-Right:
B: Bottle of bugs; C Left: Nothing; C Down: Empty bottle; C Right: Bottled Poe
0 bombs, 10 bombchus
Bottles: Empty bottle, Empty bottle, Bottled Poe, Nothing
Looking good! But this suggests something else.

What happens if you manage to get something with ammunition, like, say, Deku Nuts, on B? When it updates the new ammunition count when you fire one, it seems like it should produce an RBA-like effect. Is this possible? Or are bottles special here?

corn in the bible
Jun 5, 2004

Oh no oh god it's all true!
As far as I know, that would not work. Bottles are special, because they change and set their values as part of a scripted cutscene effect. But I'm not 100% sure!

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Ammo values are not stored as part of your inventory slot. It's stored in a separate value, and the code for each weapon simply hardcodes that pointer address. The code for the bottle drop update is the only place with the offset bug.

ManxomeBromide
Jan 29, 2009

old school

Suspicious Dish posted:

Ammo values are not stored as part of your inventory slot. It's stored in a separate value, and the code for each weapon simply hardcodes that pointer address. The code for the bottle drop update is the only place with the offset bug.

Thinking about it a bit more, that does make sense. Bottles are unique in that (a) there are more than one of them and they are functionally identical and (b) they can take on a variety of values. Meanwhile, if you're firing a Deku Nut, you can just say "hey, I fired a Deku Nut. I think I'll go update inventory[DEKU_NUTS]." There's no equivalent to "Well, one of my four empty bottles got bugs in it, and I have to put them in the correct slot."

Toiwat
Sep 6, 2011

DoctorKill posted:

None of these people left me ways to contact them though! And they haven't contacted me. So if you are Domus, Cowman, or Toiwat

Well bummer, I thought I left my Skype contact in the post.
I added you on Skype but since this was from 5 days ago I might be too late.

DoctorKill
Jul 23, 2013

W H A T H A V E
Y O U D O N E
T O M Y
B E A U T I F U L
M O O N

ManxomeBromide posted:

RBA STUFF

What happens if you manage to get something with ammunition, like, say, Deku Nuts, on B? When it updates the new ammunition count when you fire one, it seems like it should produce an RBA-like effect. Is this possible? Or are bottles special here?

Dish answered it, but if you didn't want to listen to Dish for some reason (which is silly, you should always listen to Dish), I can say that yeah I have tried items with ammo amounts on B, they act normally. I've only done bombs but using bombs from B doesn't cause any issues. The only difference is that the bomb icon on B doesn't have an ammo counter. Bottles have specific updating mechanics that other items do not have.

I will say that your programming tests have probably been done before, and more extensively! People have examined a lot of OoT code to see how this stuff works and have programmed quite a few things to make use of it. I know someone who made a bot that can check what happens if you RBA anything, including things that aren't normally possible. If you're curious about all that, which it sounds like you are, there's a small community of users who do that kind of stuff. They usually hang out on IRC or skype groups though, instead of forums.

By the way, I definitely wanted to have a new episode out by now, but between scheduling issues and a persistent cough I've had for a few weeks, I've been having problems recording. I'll try to get one out by Wednesday or Thursday, but if my cough keeps acting up I might delay a full week or so. The gameplay is all recorded though, so there shouldn't be any other issues getting in the way.

DoctorKill
Jul 23, 2013

W H A T H A V E
Y O U D O N E
T O M Y
B E A U T I F U L
M O O N
I managed to get it done!

Part 8: Gyorg's Bubbly Grasp, it's a Troubled Task, so's the Couple's Mask

In this episode, liquidypoo and I finish up the cycle I started back in episode 3, and finally beat Gyorg. Afterwards is a cycle almost entirely devoted to getting the Couple's Mask. So if you wanted to know all about the specific quest triggers of getting the Couple's Mask, look no further!

The next episode is the last episode, and all we have left to do is beat Twinmold, and Majora. I managed to come up with some cool things to show for these fights, so look forward to it!

Edit: Have a Happy Thanksgiving everyone!

DoctorKill fucked around with this message at 02:20 on Nov 26, 2015

FPzero
Oct 20, 2008

Game Over
Return of Mido

Link: Time Traveller, Child Kidnapper.

Edward_Tohr
Aug 11, 2012

In lieu of meaningful text, I'm just going to mention I've been exploding all day and now it hurts to breathe, so I'm sure you all understand.
Link didn't kidnap her, he's just giving her an all-expenses-paid lunar vacation. :v:

Morroque
Mar 6, 2013
Are you sure you took no joy in doing that...?

corn in the bible
Jun 5, 2004

Oh no oh god it's all true!
and you never did get the beans

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Oh my goodness, you can just walk up at any time and princessnap her. That is amazing. :allears:

I guess they didn't bother to make a separate version of the Princess object that isn't, uh, vulnerable to bottles.

DoctorKill
Jul 23, 2013

W H A T H A V E
Y O U D O N E
T O M Y
B E A U T I F U L
M O O N
You can't actually just walk up to her and catch her again. At least, I think so? I did some stuff beforehand that would let me catch her. See if you guys can figure out why what I did actually made it work! I think you could probably piece it together from the stuff I've explained, it's not super complicated.

George
Nov 27, 2004

No love for your made-up things.

DoctorKill posted:

You can't actually just walk up to her and catch her again. At least, I think so? I did some stuff beforehand that would let me catch her. See if you guys can figure out why what I did actually made it work! I think you could probably piece it together from the stuff I've explained, it's not super complicated.

She's actually trying to escape to Lindblum.

Ometeotl
Feb 13, 2012



It's MISSEL! Or SISSLE!
I confused myself...



DoctorKill posted:

You can't actually just walk up to her and catch her again. At least, I think so? I did some stuff beforehand that would let me catch her. See if you guys can figure out why what I did actually made it work! I think you could probably piece it together from the stuff I've explained, it's not super complicated.

You didn't beat the dungeon to get her so she's still treated as the object you would bottle up at the end of the dungeon, no matter where she is?

Ephraim225
Oct 28, 2010

DoctorKill posted:

You can't actually just walk up to her and catch her again. At least, I think so? I did some stuff beforehand that would let me catch her. See if you guys can figure out why what I did actually made it work! I think you could probably piece it together from the stuff I've explained, it's not super complicated.

Well it's simple, right? Song of Time reset all the flags so the game thinks the princess can be stuffed in a bottle again.

...why on Earth would it be programmed that way...?

Unrelated: If Sakon catches you sneaking into his hideout, then if you don't glitch your way in you'd have to start the cycle over, right? I can't remember for sure.

corn in the bible
Jun 5, 2004

Oh no oh god it's all true!

Ephraim225 posted:

Well it's simple, right? Song of Time reset all the flags so the game thinks the princess can be stuffed in a bottle again.

...why on Earth would it be programmed that way...?

Because it was easier. Every time you go back in time it sets all the flags to the start so you can redo things if you want to. If you didn't get the pig mask and reset time you'd have to save the princess all over again, remember?

DoctorKill
Jul 23, 2013

W H A T H A V E
Y O U D O N E
T O M Y
B E A U T I F U L
M O O N

Ephraim225 posted:

Well it's simple, right? Song of Time reset all the flags so the game thinks the princess can be stuffed in a bottle again.

...why on Earth would it be programmed that way...?

Unrelated: If Sakon catches you sneaking into his hideout, then if you don't glitch your way in you'd have to start the cycle over, right? I can't remember for sure.

Yeah that's it. In this case it was a weird quirk in that all the flags got reset, but the room and actors 'before reset' are still loaded. When you reset triggers with song of time storage it doesn't reload models / actors (until you leave the room), so her actor is in the Deku Palace while her 'can be bottled' flag is reset.

And yeah if Sakon finds you then you have to restart the entire quest! There's a lot of reasons why people find the Couple's Mask frustrating and that's probably one of them.

Mak0rz
Aug 2, 2008

😎🐗🚬

I'll always crack up at the bank teller saying "Ah yes... Obama."

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Mak0rz posted:

I'll always crack up at the bank teller saying "Ah yes... Obama."

Me too...

Just caught up on this. Very cool LP. You have a great narration style.

DoctorKill
Jul 23, 2013

W H A T H A V E
Y O U D O N E
T O M Y
B E A U T I F U L
M O O N
Aw man, sorry everyone! It's been a while since I've updated, or even posted anything. I didn't really want to extend out the last episode or anything, but that cough kept getting in the way. Just wait a little bit longer, just a few more days maybe, and it should be NO WAIT GODDAMN IT'S RIGHT HERE FUCKERS HOLY poo poo THE LAST EPISODE.

Part 9 - Spin to Win and Twinmold Folds, a Sword to Gore Majora up

This is it! This is the end. Toiwat and I go ahead and clean up what's left of the game, or what's left of what I had planned anyhow. Twinmold is still alive, I didn't kill it the last time I was in Stone Tower, and that's so I could do it now, in a much cooler manner. After that, we take on Majora, in the only way I felt was appropriate for this LP.

Hope everyone enjoys it! It's been a blast doing this LP, thanks everyone who commentated for helping me out, and thanks everyone else for watching.

Black Balloon
Dec 28, 2008

The literal grumpiest



Welp that was bizarre and amazing. Thanks for doing it! It was a lot of fun to watch.

Rogue Lemon
Nov 15, 2012
Deku Link, slayer of evil, savior of a glitched world. This was a thing of beauty. Many thanks, Doctor.

placid saviour
Apr 6, 2009
Thanks again for an amazing experience, Doctor!

FPzero
Oct 20, 2008

Game Over
Return of Mido

Well that was nothing short of amazing as a final episode. The Twinmold fight had me laughing.

Are you still going forward with the plans for the randomizer run?

fool of sound
Oct 10, 2012
I loved this LP, thanks for doing it.

Kaiser Mazoku
Mar 24, 2011

Didn't you see it!? Couldn't you see my "spirit"!?
Good LP

ZeeToo
Feb 20, 2008

I'm a kitty!
That was great.

I'm glad the Deku Princess had such an important role to play in the climatic scene.

Toiwat
Sep 6, 2011

What a fantastic ride this was. This whole thing was a ton of fun! Thanks again for doing this, Doctor!

Adbot
ADBOT LOVES YOU

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I don't think you know how to play Zelda correctly.

Thanks for the LP!

  • Locked thread