SMZ3Randomizer icon indicating copy to clipboard operation
SMZ3Randomizer copied to clipboard

(Proposal) Bingo / Random Objective Mode

Open MattEqualsCoder opened this issue 2 years ago • 3 comments

So VARIA has a feature to add more objectives to be able to access Tourian. These can be to defeat additional minibosses like spore spawn or botwoon as well as some meme ones like killing Shaktool (gross), visiting the animals, tickling the red fish, etc.

I think it would be neat to add something like this as an additional gameplay mode. You could just get like 5 random objectives, or if we can come up with enough, we could even do a bingo mode. But we'd probably need like 50 different objectives to make a bingo mode random enough.

MattEqualsCoder avatar Aug 28 '23 03:08 MattEqualsCoder

Replace killing Shaktool with visiting Shaktool and I'm in.

Vivelin avatar Aug 28 '23 05:08 Vivelin

So my current thought for this is to introduce a sort of "Game Mode" interface/abstract class that will basically have different methods which would be called at different points in time during both generation and tracking. This could then be used to for both this mode, and other modes like the discussed spazzer mode.

Here are the main spots I think these game modes would need access to:

  1. Initial item pool selection - Modify what items are to be spawned
  2. Pre world generation - Specify items at locations if needed
  3. Patching - Set specific patches that need to be applied to the rom
  4. On item collection/boss defeated/dungeon tracked - Used to track win conditions
  5. On Zelda/Metroid game state changes - Used to track win conditions

It would be really cool if we could actually have injections into the logic to add conditional logic to locations easily, but that may need to wait for graph logic to be done easiest.

MattEqualsCoder avatar Oct 17 '23 03:10 MattEqualsCoder

That sounds good to me. Some of the refactoring work I had done before is probably helpful here, but there's still a lot necessary to really make this work. It would go a long way to make things more customizable, more easily, though.

Vivelin avatar Oct 17 '23 07:10 Vivelin