Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

random% requests #49

Open
4 of 10 tasks
gameboy9 opened this issue Jun 19, 2017 · 6 comments
Open
4 of 10 tasks

random% requests #49

gameboy9 opened this issue Jun 19, 2017 · 6 comments
Assignees

Comments

@gameboy9
Copy link
Contributor

gameboy9 commented Jun 19, 2017

This is an enhancement request, and I anticipate this being long-term. I am willing to help out with these requests once the rewrite is completed.

Due to the success of the Zelda 1 Randomizer random% tournament, I came up with ideas where we could do something similar. (I concede that some of these ideas may be in your upcoming chaos mode)

  • Monster stats: 1 (the number 1, meaning really easy), 1/3, 1/2, regular, double, triple - these could be linked or separate
  • Charlock required or not
  • Charlock starting point at B4 or B7, maybe with a shortcut to the DL himself on B7.
  • Magic keys required or not (not sure if that can be programmed; I bet it could be though.) Replace magic key boxes with 500+ gold
  • Resized world maps. 240x240, 180x180, 120x120, 90x90, 45x45. The former two will required intense work, including an increase of the ROM size...
  • Randomized herb and key limits (3-9)
  • Randomized store prices, from 33%-300%
  • Regular map... with terrain scrambled (except steep mountains probably)
  • No equipment allowed. Meaning we remove all the merchants or seal them or something like that. Wicked!
  • No damage breaking / always damage breaking

Again, these are just thoughts spilling out of my head. All of these, should we try to implement them, should be strictly optional. (i.e. so those who want to play DWR the "normal" way can do so if they want)

@gameboy9
Copy link
Contributor Author

To allow opening of doors WITHOUT a magic key:

DCAD-E = F0, 09
DCB8-9 = EA, EA

A:11 X:1E Y:00 S:FD P:nvUBdIZC $DC99:A5 BF LDA $00BF = #$01 <--- Load key count
A:01 X:1E Y:00 S:FD P:nvUBdIzC $DC9B:D0 0B BNE $DCA8 <--- Go to success if not equal to 0
// Replacing false branch with BEQ DCA8, so if equal to 0, go to the same place as if you were successful
A:01 X:1E Y:00 S:FD P:nvUBdIzC $DCA8:C6 BF DEC $00BF = #$01 <---- Replace with NOPs so the magic key count does not reduce. Required if you never had a key in the first place.

@gameboy9
Copy link
Contributor Author

Enlarging the map will be more difficult... we'll have to rewrite this:

A:52 X:20 Y:52 S:F8 P:nvUBdIzc $AC5E:B9 53 A6 LDA $A653,Y @ $A6A5 = #$3B
A:3B X:20 Y:52 S:F8 P:nvUBdIzc $AC61:85 40 STA $0040 = #$56
A:3B X:20 Y:52 S:F8 P:nvUBdIzc $AC63:B9 54 A6 LDA $A654,Y @ $A6A6 = #$A0
A:A0 X:20 Y:52 S:F8 P:NvUBdIzc $AC66:85 41 STA $0041 = #$9A

It's the pointer to each row of the map; it's hard coded and uses two bytes, so you're limited to 128x128 this way. Additionally, it's not in bank 3, so we'll have to bank switch to a new bank 4 or 5... if we can even do that... implement the mapping code there starting at $8000 (or something like that), fill in the pointer data starting at $8800 +/-, then we can use a big 12,000+ bytes for the map if we started at $9000.

@gameboy9
Copy link
Contributor Author

However, making the ROM bigger is easy! Add 0x10000 bytes starting at 0xc010, then change 0x0004 with 0x08, making 8 pages of 16KB each instead of 4. This forces page 7 to be the "leader", not page 3. I think we actually have a shot!

@mcgrew mcgrew added this to the 2.1 milestone Jul 5, 2017
@mcgrew mcgrew self-assigned this Jul 5, 2017
@gameboy9
Copy link
Contributor Author

gameboy9 commented Jul 7, 2017

Coming out of chat: Emptyeye Mode (guaranteed one stat increase of zero) and TRUE Emptyeye mode (guaranteed two stat increases of zero)

Also, we should look into "shortcuts", meaning, for starters, we have a "standard" button which sets the checkboxes to the settings we usually race at.

@Niamek
Copy link

Niamek commented Jul 7, 2017

2 options I'd love to have in the randomizer that are inline with this Random% ticket.

  • Randomize return and wing's location.
  • Mix Monster's sprite or stats. That way, you'd have to beat every single monster at least once to figure out which one are worth beating. There would be no pre-made ideas on monsters anymore. (Like Goldman never worth it if you don't need experience). A blue slime could be a blue dragon hiding.

I'd use these two options in regular races to be honest. 😄

While in the random% idea ticket, one more idea that could be thrown if you really want to be evil (or truly random)l:
-Mix the NPC each other in a town (or even all of the game). So the NPC inn of Kol could be the NPC merchant or even one of the random NPC you never talk to. Or even worse: The locked soldier in Brecconary could be the key seller of Rimuldar, thus probably requiring to open a chest with a magic key.

@mcgrew
Copy link
Owner

mcgrew commented Jul 10, 2017

Some stuff like that might end up in the planned "Chaos mode". I haven't fully nailed down what features that mode will have yet.

@mcgrew mcgrew modified the milestones: 2.1, 2.2 Jan 28, 2019
@mcgrew mcgrew removed this from the 2.2 milestone Sep 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants