Dessyreqt / alttprandomizer

The Legend of Zelda: A Link to the Past Randomizer
178 stars 30 forks source link

Stackable Upgrades? #323

Closed nickretallack closed 7 years ago

nickretallack commented 7 years ago

Pretty much every time I've played this randomizer I end up getting the Titan's Mitt before I get the Power Glove, and it got me thinking: what if you made it so this couldn't happen?

One way to solve this would be to set up the causality graph so that it's impossible to get the Titan's Mitt first. But another way would be to place two identical "glove" ugrades and make it so the first one you find becomes the Power Glove and the second one becomes the Titan's Mitt. This probably requires an assembly hack, but the game already has a template for this with regards to the lantern, since three chests can contain the lantern if you don't already have it.

The same hack could be applied to the tunic upgrades.

While I was thinking about this, I got thinking about Super Metroid and its missile capacity upgrades. You end up getting a lot of chests in the randomizer that just contain boring bombs and arrows, but then there are those special capacity ugrading ones you guys threw in as well. What if instead of just having two big capacity upgraders, it would upgrade your capacity every time you found bombs or arrows in a chest? That would make it much more exciting to find those chests.

For example, you could start with a max of 0 bombs and 0 arrows. Get bombs in a chest and your new max is 3. Etc. Or for more difficulty, maybe just add 1 to the max for each upgrade found.

Anyway, really looking forward to the new "Difficult" mode you guys are working on. Thanks for making this thing! It's fun to re-play my favorite game with new surprises each time.

ChristosOwen commented 7 years ago

We've done almost exactly that re: bombs/arrow capacity upgrades. There are now six +5 upgrades and one +10 upgrade for each of bombs and arrows (as per the upgrade faerie in vanilla). These replaced 7 instances of "3 bombs" and "10 arrows" in the prize pool, respectively. The starting maximum caps are left unaltered at 10 bombs and 30 arrows, though. This will be in when Dessy updates to v8.

That's an interesting proposal for stacked upgrades. Ultimately this could apply to:

For the Y-items which share the same slot we've simply made it so that you can toggle between them but this concept doesn't really work for the above. A drawback is this limits progression to the Dark World somewhat -- right now you need, in addition to Moon Pearl:

(hammer && gloves) || (mitts) || (cape)

If we applied a change like you suggested then the first two options above would become:

(glove upgrade 1 && (hammer || glove upgrade 2))

So now we have a 2-item requirement forced for both routes, excluding the Cape option.

I'll let other people weigh in with opinions. I'm on the fence.

KatDevsGames commented 7 years ago

The rom already supports this stacked logic for 1/2 magic. Getting a 1/2 magic in the wip rom when you already have 1/2 magic will set your status to 1/4 magic.

nickretallack commented 7 years ago

I don't think you should apply this logic to the shield. The mirror shield is a permanent item, but the fire shield can be eaten by a like-like, as can the basic shield. If you happened to open the mirror shield chest after losing the fire shield you'd be screwed, unless the game kept some external counter for this. You could skip the fire shield chest, too, by using the upgrade fairy, and then you might have two mirror shield chests.

I would like the game to ensure you always get the blue boomerang first though. I often get the red one first and then I know the blue boomerang chest is going to be useless. Actually why do we put the red boomerang in a chest anyway?

How would you implement it for the swords? Have each sword event add one level to the sword? That could be kinda cool. Like if you tempered the basic sword you'd get the master sword, and then you could throw it in the fairy fountain to get the tempered sword, and then pull it out of the stone to get the gold sword, or some such progression. No randomization necessary.

Personally I'd love to play a game where I started with max 3 bombs. I rarely use bombs anyway, and it'd be cool to have Binding of Isaac level of conservation of resources. Not sure how the capacity upgrades are programmed though -- can you only have as many as the donation fountain gives? Or could you spread it out even more, so that every chest of bombs was a small capacity upgrade?

I'd vote for the gloves doing the upgrade thing, despite what you said about routing.

Btw, what do you think about the donation fountain? It represents an alternative way to get the capacity upgrades, right? Also it's a little weird that the red boomerang exists in a chest at all, given that you can upgrade the blue one via the fairy. Should we really have two ways to get the same upgrades, leading to later stuff becoming obsolete?

churine commented 7 years ago

For the swords, personally I'd make it instead that the events reject upgrading anything but the immediate lower level than they have like the fairy used to (and smiths were probably meant to), so routes can be more interesting. But since it seems they are going to be eventually added to the larger item pool, step upgrades seem the best.

Power Gloves are in most seeds useless. This way you get them and basically the run continues like usual, as both Mitts and Hammer are eventually required regardless and it's always a matter of which you get first. So I'm for it. It'd be nice if, aside swords, all the "upgrade item" events shuffled accross upgradeable items, so giving the gloves to the smith and get the mitts or things like that.

I don't think the shields though should have incremental upgrades in chests, since they're consumable and can be bought. Also it's only Mirror and an extra Fire that was added to not have to get out of the way for it. On the other hand, adding a second magic upgrade would be better than just having 1/4 right away.

The Magic Boomerang is in a chest in vanilla's Village of Outcasts that, just like the blue one, changes contents if you already have it (to 300 rupees). Most people running casually tend to never encounter this. So I think this chest behavior should remain.

Multiple ways to get items like that doesn't seem like a problem if you need to get out of the way for it. Especially if you get something extra for it.

BlueViper85 commented 7 years ago

Blue/red boomerang I think are fine as-is since you can change between which one you want to use anyway. So, for example, if you don't like the lag the red introduces you don't have to use it.

As for the gloves, the only real solution I see here would be adding a weight to the Titan's Mitts so they that are placed in" later" chests. But how much is that really going to change? But how would you determine how "late" it is? Once you get hammer, hook shot, mirror, and moon pearl you can practically access any location where they could be. By swapping these two items with items that stack wouldn't really. Change much since titan's mitts are only required for 4 locations anyway (Smith frog, Misery Mire area, Ice Palace, and Turtle Rock) which isn't all that limiting and it wouldn't really increase the amount of time you have the power gloves all that significantly (which of course depends on what locations you check when) but you still have the option of going Power gloves -> Titan's Mitts really easily.

If swords are added to the general item pool (as opposed to being limited to just sword locations) I think there's an argument to be made to make the swords stoppable-upgrades. But if swords are kept to their usual locations then I don't think any changes should be made to sword functionality. Knowing which sword you're getting next (as you would with stoppable upgrades) means each location has the same cost/benefit. Keeping them separate and random means you have to take a guess and hope you're right about whichever location you chose has the sword you need. Again, that's assuming they are added to the general pool which hasn't been too popular in conversations I've seen in the past)

As for fairy fountains, those will be changed in future versions to give something different or otherwise act differently than they do today.

nickretallack commented 7 years ago

Blue/red boomerang I think are fine as-is since you can change between which one you want to use anyway. So, for example, if you don't like the lag the red introduces you don't have to use it.

Not quite what I mean. I mean if you find the blue boomerang and then take it to the fairy, you'll get the red boomerang, and now you have a useless chest in your future. And if you get the red boomerang then most players would consider the upcoming blue boomerang chest useless. I don't think the red boomerang was in a chest in the original game. I think we should just have the blue boomerang in a chest and allow you to upgrade it at the fairy. Or have that upgrade get you something random, I guess, like you suggested, and keep the red boomerang in a chest... Though I do think if you go that route it should give you the blue boomerang first.

But how would you determine how "late" it is?

Via the complexity analysis. I had it generate a spoiler log, and I noticed that it separates the game into "steps". A complexity 7 game has 7 steps. I'm playing through one now, and it did in fact require me to get the power glove first and then find the titan's mitt much later.

Also don't forget the locations that are gated by the flippers, unless you're doing a glitched run. There's also the soft requirement of having the lantern to get through dark rooms.

Does this project have a data file it it somewhere describing the prerequisites to reach each location in the game? I'd think it would. That would be interesting to see. I'd like to see how deep the complexity can go and how much randomness would still be available.

BlueViper85 commented 7 years ago

With the blue/red boomerang you highlight it in the menu and press Y to switch between blue/red. The red boomerang introduces a lot of lag from the magical effect and has a longer throw distance which plenty of people don't like since it affects speed and muscle memory. This gives the blue boomerang more weight.

The red boomerang is in a chest in the original game until you pickup the blue boomerang in escape. If you skip that you get the red boomerang instead of 300 rupees from the Village of Outcasts.

The fairies will be changed in a future release so getting the red boomerang from them is less likely (potentially impossible depending on how they are changed, I'm not sure what the details are) so the red boomerang should absolutely remain in a chest.

With the main intent of the randomized being built for racing means visiting fairies was already a rare occurrence, which is another reason it's in chests today.

As it's built today the complexity analysis runs after all items are generated. So relying on that to determine when "late" is requires a fair amount of work.

As you stated, it's not impossible for seeds to have the mitts in a difficult to access location. The fun of randomization is that anything can be anywhere. Once you have a few items you can access a LOT of places so spreading items apart becomes a challenge without limiting where it can be which hurts randomization since it becomes more predictable where it would be which lends hand to trying to find those locations as early as you can since obviously you want the titan's mitts as early as you can.

You're suggestion of stacking the gloves and mitts helps that a bit but that does very little to change the span between glove A and glove B. So you can still have the Mitts anywhere from 1 chest to 20 chests after the first glove item. But again the benefit is low since there's limited places that require the mitts anyway.

Add to this that the later the mitts are the less likely it is that other useful items can be in Misery Mire or Ice Palace. So in a seed where you can't get the mitts until you've gotten many other important items means that Misery Mire and Ice Palace are less likely to contain anything meaningful.

Again with the racing intent of this, later mitts also = longer times which was something that was originally trying to be avoided. I think that's becoming less of a concern in general, just offering it for the perspective it provides from when this was built initially.

You can see the existing logic in two files in this location:

https://github.com/Dessyreqt/alttprandomizer/tree/master/AlttpRandomizer/Rom

ROMLocationsCasual and ROMLocationsGlitched for the version you're curious about looking at.

ChristosOwen commented 7 years ago

Boomerangs

As BV rightly said, the Magic Boomerang is in a chest in the original game if you don't already have the Boomerang; otherwise it's 300 rupees. We already have the ability to switch between them and most people prefer the Boomerang over the upgraded one as there are known fast strategies which use it in some rooms. With this being aimed at speedrunners/for racing this is not going to change; so nothing here will change.

Faerie Fountains

These are planned to be overhauled eventually; removing the guarantee that you can upgrade the usual stuff. The bomb/arrow upgrade is already changed to only give you +1 upgrade to your capacity per 100 rupees to reflect the bomb/arrow capacities we've made. The one in Zora's Domain is harmless as neither the Fire Shield nor the Magic Boomerang are required items (or particularly helpful) so it will stay how it is until it's overhauled in a future release. The Fat Faerie currently will always contain her usual upgrades; particularly because Silver Arrows are considered required to beat Ganon. Even though this is still not true it's not something we're going to require in Casual.

Sword Upgrades

These will be in the regular prize pool in the next release and the usual 3 upgrade spots will be regular item locations. When this is implemented the Fat Faerie will no longer always upgrade your sword. These will either be distributed as-is or perhaps made stackable, we'll see what the development team prefer.

Silver Arrows

These will also be in the regular prize pool but as an upgrade which only takes affect when you have the Bow, i.e. not as a second copy of the Bow. You can toggle between them in the menu. If you find them before the Bow then when you do find it you'll have access to both. The Fat Faerie will also then not always upgrade your Bow. We will likely change her behaviour when this and the above change are implemented.

Gloves/MItts

I agree with BV on this. We've had Mitts weighted to late game before and it was much preferred to have it just be random rather than applying weight to items. I don't like always forcing Gloves before Mitts. It would seem like a chore to always find both in order to access the areas Mitts require and it limits the logic. It's a randomizer: sometimes Gloves will be required and you'll find them first, sometimes you won't.

Shields

The fact that shields can be eaten isn't an issue, if they're made stackable. You could lock yourself out of Mirror Shield yes but this has no progression consequence so it's harmless if you do that. Then next time you'll have learned to be more careful!

Stacked Upgrades

I'm not saying that this will definitely happen but personally I think it works well for equipment (swords, shields, mails) since they're non-essential upgrades and you'd see benefit and use from each. An upgraded sword is required yes but stacked or not, whichever one you find first is sufficient to beat the game.

Magic Capacity

I actually dislike having this stacked since it doubles the chance of finding the magic upgrade by adding another one to the pool; wheres there is only one in the original game. I much prefer keeping it at 1/2 or 1/4 and you don't know which you'll get until you find it. Alternatively adding 1/4 in the same way we have added Silver Arrows would work too.

nickretallack commented 7 years ago

Please don't stack the shields that way. I like to be able to run this to 100% completion and I wouldn't want it to be possible to miss out on items like that. Of course I could play carefully and be sure to buy a new shield before opening any chests, but it just seems wrong and against the spirit of this hack to make items missable.

I'll look forward to seeing the fairy fountains and sword events added into the general pool.

I'm also excited to see the capacity upgrades in next release.

Btw, a little off topic, but I'm curious -- is it possible to place other items under pots and inside enemies where you'd normally get a small key? Can the game handle this? I'd expect not.

Jigglysaint commented 7 years ago

How about instead of changing the gloves, how about the rocks? It could be toggleable in the randomizer, and how it would work is the power glove only lifts the regular rocks, and the titan's mitt only lifts the second type of rocks. Of course that would also mean that the gloves would need to act as bits rather than values, and it would require changes to the lifting mechanic. Only thing would be that a new rule that would prevent items being hidden behind their own, or each other's rocks. So Titan's mitt could be held by Moldorm, but only if the power glove and fire items don't require it first. I think if there's only one item that would benefit from being stackable, it should be the mails. Also these would be best as checkbox rules to give more customization.

BlueViper85 commented 7 years ago

So effectively your idea is to change the titan's mitts so they only lift the dark rocks. While I do think that's an interesting idea, I don't know that it has a place in the randomizer. That's changing a base mechanic of the game without adding anything of significant value, without adding anything to the randomization of items, and without improving the speed run-ability/race-ability of the randomizer, which isn't a goal of this project.

nickretallack commented 7 years ago

@BlueViper85 that idea isn't a bad one though. Normally it's impossible to get the Titan's Mitt before the Power Glove, so one could argue that the purpose of the Titan's Mitt is only to lift the darker rocks, and the Power Glove has always been required to lift the lighter rocks. You don't know for sure that it's changing a game mechanic.

@Jigglysaint gave an example of how this could affect randomization and allow for different run complexity.

BlueViper85 commented 7 years ago

There weren't any changes to the gloves made for the randomizer. There are glitched speed runs of the game that skip the power gloves and just get the Titan's Mitts and both rocks can be picked up, so I do know this is a base mechanic that would be changed.

Don't get me wrong I do think that this is an interesting idea, it's just not a goal of this project.