theonlydude / randommetroidsolver Goto Github PK
View Code? Open in Web Editor NEWVARIA Randomizer, Solver and Tracker for Super Metroid
Home Page: http://randommetroidsolver.pythonanywhere.com
License: MIT License
VARIA Randomizer, Solver and Tracker for Super Metroid
Home Page: http://randommetroidsolver.pythonanywhere.com
License: MIT License
What do i need to install the project on a windows web2py framework?
It is not possible to run the install.sh to create the symlinks, because the sh file is an linux/unix shell script and can not run on windows.
'Charge': 'Wireless Charge',
'Ice': 'App Freeze',
'Wave': 'Click-through',
'Spazer': 'Split Screen',
'Plasma': 'Antivirus',
'HiJump': 'Reboots',
'SpeedBooster': 'Overclocker',
'SpaceJump': 'Spacebar',
'Varia': 'Water Cooling',
'Gravity': 'Flood Filtering',
'Morph': 'Minimize',
'Bomb': 'Delete',
'SpringBall': 'Spring Wallpaper',
'Screw Attack': 'Denial of Service Attack',
'Missile': 'Click',
'Super': 'Double Click',
'PowerBomb': 'Delete All',
'Grapple': 'Drag and Drop',
'XRayScope': 'Aero Peek',
'Etank': 'SSD Drive',
'Reserve': 'HDD Drive'
It would be cool to have a section in the advanced tab that can let you choose which techniques that the seed will require you to do (at least once)
For the purpose of being able to make seeds that for example always require a Lavadive in it, or always involve suitless maridia, or always involve doing a mid air springball jump, infinite bomb jumping, microwaving draygon, etc, at least once somewhere in the seed.
I came across this idea because a lot of times i find myself making a lot of seeds and checking if it involves techniques i enjoy doing (and some are rare to come by even with the presets), pretty sure i am not the only one, also i am curious how many techniques can be forced into a seed.
(I am aware that selecting too many conditions might cause the randomizer to abort or make a not realistic seed)
Uploaded to the solver after creating the file the previous night, using the RevelStandard preset. Spoilers showed the items I had managed to collect, ending at the gauntlet, left and right. The last change I made to my preset was disabling main upper norfair hellruns and I think turning IBJ off, but that was almost a week ago.
(Also, should be 'known techniques', but it being unfinishable is the main issue)
To add a bit more of challenge and to increase the chance of doing suitless maridia or lower norfair (Without turning them off completely which can really escalate the difficulty)
An option to place suits late in the seed (as late as the preset allows)
so it becomes more likely to have the suits be placed in harder places.
Might aswell be like how it is with the morphing ball placement dropdown options right now.
And condense it with something like
-Normal (same as Suits restriction off)
-No early suits (Same as Suits restriction on)
-Late suits
Not sure if this is a good idea or if it makes sense but what about an option that makes it so the first "intended" boss is Ridley then D/P/K.
what you know is that Ridley is first but the random part is that you don't know at which location he might be.
i am not sure if that would make different enough seeds though, not sure what the implications would be thats why i am not sure if it would make much sense.
or maybe an option to prevent the randomizer from placing bosses in their original location so its always different from vanilla.
thanks for putting this much effort in the randomizer , it has evolved greatly over this first year
It seems some developers uploaded a material that belongs to me and is crediting the wrong person, i'll like to discuss this privately via discord, thanks
As a variation of the "Percentage of minors available:" setting I would like to propose another setting where the number of ammo given from each upgrade can be modified. A similar option for energy tanks would also work by limiting the amount of maximum health it provides
By modifying the ammo and health upgrades, the total amount of ammo will be limited, but without removing the items from the locations. Checking item spots would feel less punishing as all of the item locations would still contain upgrades.
This is a crazy suggestion, I am aware, but since it looks like the SMALTTP randomizer has been abandoned(?) and VARIA has substantially more functionality, it would be nice to potentially see some of the same technology used to bring VARIA over.
This is an absurd amount of work and it is probably unfeasible, but we can dream, I suppose.
Many rooms are completely black (except for doors and Samus), other rooms have weird colors. I first noticed this issue when using the customizer on the beta site, but verified that it also occurs when I manually apply the patch with Lunar IPS to a vanilla ROM.
With Total Normal X6299378
All techniques are enabled in the solver options.
This technique is for getting the missile and super missile in the maridia aqueduct without speedbooster.
would be good for the randomizer to consider this technique in the logic and add it in the presets aswell.
specially for the full randomization for when it puts a major progression item there.
here's a tutorial video by matrick
https://www.youtube.com/watch?v=fBQubU6h11U
An another nice feature is to have a room randomizer like the "Super Metroid route randomizer" (http://www.metroidconstruction.com/resource.php?id=102) or Super Metroid World Randomizer Version 0.1.1 (https://github.com/aremath/sm_rando)
Because there are some premade presets such as noob,casual,regular,veteran,speedrunner and master which have (in my opinion) pretty accurate perceived difficulty settings and basically range from least skilled to most skilled in that order.
a skill level estimator bar could be made comparing the current custom preset with all the settings of the premade presets.
Similar to the difficulty estimator bar, ranging from noob to master.
it can help to tweak your own custom preset, it would give you an idea whether you're overdoing it or going too easy with what you actually want to experience, nice to have something to compare it to.
Basically it shows how close or similar your custom preset is to the premade ones as you're making or editing your own.
(taking techniques, hellruns, hard rooms and bosses settings into account for the comparison, basically every setting relevant)
ROM: Custom_VARIA_Randomizer_DFX402591205628343781_DTRegMinus_VARIAble
I'm not sure exactly what happened, but early on the tracker stopped registering things properly.
i was doing an area rando race and when using an up door that leaded to an right door the game crashed, i use springball to jump into it (since i was in water and needed to do springball jump) i needed to unmorph to be able to activate the transition, when i was on the other side the game crashed, nothing was moving anymore, but the music was still playing.
i'm using an emulator, snes9x 1.53, here is the clip of it
https://clips.twitch.tv/AntediluvianFantasticWolverineUncleNox
To better explain, I've had many a time where I accidentally mark an item and don't realize it until later on. In the case of this tracker, I'd have to press undo to go all the way back to undo that item and then re add all the stuff that got undone in the process. To circumvent this, you could make it so just clicking an obtained item makes it go back to unobtained. Just a suggestion I had that'd help some people like me.
I got an area randomizer seed that locked progression in springball (checked using solver & item tracker), but did not give me power bombs to break the shaktool wall. This seems to be an oversight in the logic. Otherwise I think a not should be added in the techniques somewhere to indicate what needs to be done (in this admittedly very obscure) situation.
Mistress Saeko was playing seed 6773509 with full randomization, casual skills preset, default settings preset, full randomization, and medium progression speed.
Space Jump is locked at Croc Escape, which requires Hi-Jump+Speed or Grapple. However...
As you can see from the screenshots, the Wrecked Ship was absolutely stacked. The potential problem is that CWJ across the moat was absolutely required, but should that not be the case with these settings?
The only key items acquired before CWJ were Morph Ball, Varia Suit, Charge Beam, and Ice Beam.
As a sidenote, the Justin Bailey graphical patch, as well as Kejardon's Total Control patches were applied. They should not have affected anything regarding item placement.
The idea is to randomize which and how many locations unlock after you to defeat an specific boss.
As an example; Normally when you defeat Kraid or Ridley that opens up one grey door, the idea is to randomize the location of that grey door so it locks something else somewhere else.
If possible it would be cool if the user could input how many grey doors may be locked until you defeat that boss.
So for example if kraid has 5 grey doors associated with him; 5 random doors across the game will be turned to grey until you defeat kraid.
It would be a good idea to also have special sprites for "grey boss doors" to distinguish between phantoon,kraid,draygon and ridley grey doors to make it easier to keep track of them.
(To avoid the situation where you go back to a place where a grey door was to check if it opened only to find out that grey door wasn't related to the boss you just defeated)
Maybe just change the border of the grey door to a different color to identify them.
Green border grey door = Kraid required
Yellow border = Phantoon
Blue border = Draygon
Red border = Ridley
(The colors of their eyes in the statues)
When you have super missiles that basically means you can open both pink and green doors making normal missiles not a concern if you get super missiles first.
Now that there's door color randomization maybe there would be even more unique or trolly seeds if there's an option that makes it so pink doors can only be opened by normal missiles.
Is this intentional? is it going to come back?
it was a pretty interesting and handy tool.
On minimal the description says that it will pick up 5 super missile packs and 10 missile packs.
but on most seeds i have tested using the solver with the master preset (the randomized rom wasn't in master) or any other it picks more than 10 super missile packs (which would be 50 super missiles) , all items are enabled and minors quantity and energy is in vanilla and charge beam gets picked up.
I was guessing it's because charge usually gets picked up later in the game, but after charge gets picked up it still picks up more super missiles and missiles along the way (Even after defeating all the bosses, it picks up more super missiles even if it already has more than enough of them to beat mother brain).
Sometimes on Any it picks up more supers than minimal.
is this the intended behavior or how does it work?
Spriter or Sprizer or Sprayzer (for spazer)
Sprite Attack (for screw attack)
Sprite Jump (for space jump)
Sprite Booster (for speed booster)
Sprite Ball or Sprite Bubble (for spring ball)
did I miss any other items that start with an S
Carbonated Missiles or Sprite Missiles (for super missiles)
Carbonated Bombs (for power bombs)
Exactly like with time spent in doors, for the speedrunners curious about how much time went into menuing or want to minimize it.
With these items, the tracker says that in order for me to get the PBs on the Crateria Surface...I have to do the Green Gate Glitch. On top of this, once normal bombs were obtained, it said that no technique was no longer required, even though I'd still have to do Infinite Bomb Jump...so wouldn't it say that I have to do that?
Is this an issue? Or is there something else that I'm not aware of here?
When switching presets and selecting either "any" or "minimal" can you display which items (majors) got skipped and which ones couldn't get obtained when displaying the spoiler?
(I would like to also propose a couple of other minor suggestions for the solver, the credits stats and an area randomizer softlock bug/glitch, should i post them in a separate thread?, don't want to feel like i am spamming, and thanks for making this great tool)
From a gauntlet top start, you should not be required to immediately obtain the items from both Crateria Gauntlet right and left. If this is possible, the difficulty level is certainly not 'green' as the Solver indicates.
VARIA_Randomizer_DBFX2666876940451473506_casual_VARIAble
Now that the presets are in a separate section it got a bit awkward to change around settings quickly.
When changing settings in the presets tab and you switch to solver, all of the settings return to their previous state, now you have to update the profile (and enter the password) each time you want to make any change.
I have noticed that selecting a custom start location forces Full split
i want to enable it to chozo split or major so it's less likely i get major progression items right at the beginning without setting it to slowest progression, also to see what kind of seeds i would be getting in harder presets.
can you enable chozo and major splits for these custom locations aswell?
Hello!
I have a suggestion for a tweak to the progression speed setting. I would love to be able to toggle off certain settings while still keeping the progression speed random. I have been doing a bunch of rando races lately, and we have found that both slowest and fastest aren't so great for racing. Fastest is a bit too boring, and slowest is too tedious. It would be great if we could roll seeds with randomized progression speeds, but without the possibility of "slowest" or "fastest".
Thanks!
Pete
Hello i don't know if this is new but i have noticed that the solver often skips major and minor items that are completely accessible and then backtracks to them much later on in the game.
Also it seems like some items in the same area are being picked up in reverse order which will make things confusing, i will explain further with this seed as an example:
(Tournament seed 6640613 on very hard difficulty (same happens in other difficulties aswell)
In this solution, the solver goes for the charge beam location right after the "Missile (blue Brinstar bottom)" , from there the next major item location is bomb but it skips it completely (alcatraz escape technique is turned on but still it skips it) then after brinstar and norfair it comes back to crateria for that bomb which could have been avoided by just picking it up on the way to charge beam.
Then after charge beam location, it tells you to go to the etecoons super missile (same as bomb, unnecessary backtracking since you could pick it up on your way to charge beam), then to mockball reserve (again, backtracking as if the order was upside down)
backtracking like that happens a lot with a lot of items even at the same area.
another example from that seed is that after bomb location it suggests you to go to the terminator room and then backtrack to the gauntlet e-tank location (it would simpler to go first to the gauntlet and then to the terminator room considering you're near the bomb location)
Also on the why it can get things confusing here's this another example:
Later on in this same seed tells you to go to the speedbooster location, but it isn't possible with your current items (as far as i know), same with the wave beam location, turns out you have to scroll down where it says you have to go to crocomire to get both speedbooster and grapple which now makes it possible to reach speedbooster and wave locations.
So basically, you're supposed to go to crocomire first before you can go to speedbooster and wave locations but the solver displays that order in reverse (and the problem is that order is not possible to do) which can confuse most people unless they have more knowledge about the game.
this issue/behavior repeats with all of the seeds i have tried.
I hope this helps to further improve the solver.
Please also add "SpringBall-Jump from wall" as a way to access "Reserve tank, Norfair"
i think that method is not there so would be nice to have the solver use it too.
Steps:
tl;dr You want a couple modifications to the preset for one seed, and later you want to do an official seed.
Expected:
Settings are reset to SMRAT2020 and you play a vanilla-settings seed at the last step.
Actual:
The advanced modification you did in step 3 persists through all steps. You play a surprise boss rando seed, etc.
similar to how the option is available in the randomiser. It would be nice to be able to randomely generate it for all items, or if possible make specific items hidden. Further, could you make an item an empty block? (hidden block but no item there)
It was just a thought I had.
I've generated multiple seeds only to discover that the parameters I set for them seem to have been ignored by the randomizer. I used the following parameters for all of these seeds, unless otherwise noted.
The first was not an Area Randomizer, but a normal Full Randomizer (VARIA_Randomizer_FX3786680_veteran). I just completed this seed and according to the credits, "Spread progression items," "Suits Restrictions," and "Early morph" were all activated. Also, the suits were in their altered states, as opposed to their vanilla characteristics, and the softlock prevention patches had been applied.
Even more peculiar, in the two Area Randomizer seeds I generated (VARIA_Randomizer_AX5565735_veteran and VARIA_Randomizer_AX2465419_veteran), all of the above is true, with the addition of the fast door/elevator transition patch being applied. The only difference with these seeds is that, unlike pictured above, I had toggled on the option to remove item fanfares. I did not complete these seeds, but I did verify my suspicions using SMILE.
The only major difference between seeds I generate and seeds others generate seems to be that I tend to use 4.6/1/1 for the minor distribution, while most others round up or down, at least as far as I've seen.
I entered the door in red brinstar elevator room which is a vertical one, in this case it got me to the lava dive room (which is horizontal)
normally , it would work as intended, i played further and then came back to that door, but this time samus got stuck in the door (after entering in the lava dive room) while getting stuck in her grappling beam animation (i didn't even have grappling beam picked up), she stayed in a diagonal position, the grappling beam could be heard the entire time, i couldn't do anything and got stuck there.
tried it again later and couldn't replicate it, i don't have footage of it but as far as i remember i was holding R and shoot or did something that triggered it as i entered the door
E-Tank - Heart Container
Reserve Tank - Bottle / Piece of Heart / Red Potion
Charge Beam - Master Sword / Silver Arrows (check Super Missiles alternative)
Ice Beam - Ice Rod / Ice Arrows
Plasma Beam - Golden Bow / Ancient Arrows
Wave Beam - Slingshot / Fire Arrows
Spazer - Scattershot / Light Arrows
Missiles - Arrows
Super Missiles - Arrow Bundle / Silver Arrows (check Charge Beam alternative)
Power Bombs - Bombchus
Grapple Beam - Hookshot
X-Ray - Lens of Truth
Varia - Red Mail
Gravity - Blue Mail / Zora's Flippers
Hi Jump - Jump Magic
Speed Booster - Pegasus Boots
Space Jump - Fairy Magic / Hover Boots
Morph Ball - Child Link / Digging Mitts / Moon Pearl
Bomb - Bombs
Spring Ball - Roc's Feather
Screw Attack - Magic Cape / Thunder Magic
As the website might sometimes go offline (for different reasons), it could be useful to be able to run the randomizer via CLI. That said, how about having a section on the README explaining how to do this?
I have noticed the solver doesn't take into account the layout changes in casual mode (There are some other changes in normal and tournament aswell in the online randomizer), i got a casual seed that the solver says it has no solution, checked myself in game and noticed there's a change in layout early on that lets the player to access brinstar's power bomb without morph ball. (morph ball was there)
I guess the solver took it as "You need morphball to access morphball".
I am not very concerned about casual mode but considering there's also changes like that in the other modes it would be great if the solver takes into account those changes in the other difficulties aswell. (For the online randomizer)
Here's the seed i used.
Casual mode seed: 4247433
Hard mode seed: 5221591 (This one doesn't have a solution according to the solver either, it's probably because of the same reason, i don't know much about the changes in level design on hard mode so i can't really say much)
(I enabled all of the techniques for both)
Yeah... I suck...
So I got in a game that requires rising morph.
Yep. I can't.
I can wall jump and shinespark for days, but not that.
It took me 15 minutes to get speed over it.
I also find it really weird that you can't turn it off, otherwise, why is it there? It even has a checkmark!
So, please, fix.
Would it be possible to add checkboxes for each item?
Say i wanna skip hijump boots or grapple beam (or any item) and uncheck them from a list, then the solver would make a strategy around that or tell me if the run is not finishable, if it's not too much to ask
Maybe it's beyond the scope of the solver but thinking about it it has lots of potential as an experimentation tool, it's interesting to see what it comes up with.
(Already answered on another issue, posting here for organization sake)
Would like to report that now every rom i upload to the solver won't work anymore.
After uploading them , it will always say it's not finishable. (Tried all combinations of difficulties and other settings and getting the same results) the spoiler will be completely blank each time.
all of the roms i am using are from the online randomizer.
My Idea is for us to be able to fight an easy Ridley or hard Kraid or anything in between by adjusting how much HP they have and how much damage they and their projectiles do. I specifically want this for kraid. He is a serious pushover and the second stage of his fight could be actually challenging if he didn't take 4 supers to kill.
Settings that could be adjustable would be HP% and damage% for each of the 5 bosses. The randomizer could be much less predictable by choosing bosses out of order while still being fair to the player. It would also give skilled players something new to strive for by just making every boss harder if they wanted.
The minibosses could also be added as well of course or any other critter.
Since the main target audience for the solver are people who are beginners or not very familiar with all of the locations, or just people getting into the game, (I am familiar enough with most tricks in the game but there are still rooms that still i am not sure about their names), suggesting to add a wiki hyperlink to each location name in the spoiler section (Just like it's already done in the techniques section)
with the option turned off (original probabilities):
left:
- slow = 24.87
- mid = 0.70
- fast = 24.52
right:
- slow = 12.76
- mid = 36.80
- fast = 0.35
with the option turned on (new probabilities), all patterns have 1 in 6 probability.
Just a random idea that would reward runners for having learned the normally-rare patterns.
'Varia Suit': 'Shadow Armor',
'Gravity Suit': 'Icarus Armor',
'Charge': 'Mega Buster',
'Ice': 'Ice Slasher',
'Wave': 'Wave Burner',
'Spazar': 'Chameleon Sting',
'Plasma': 'Laser Cutter',
'HiJump': 'Leg Upgrade',
'SpeedBooster': 'Dash Upgrade',
'SpaceJump': 'Rolling Cutter',
'Morph': 'Rolling Shield',
'Bomb': 'Bomb Bee',
'SpringBall': 'Bounce Ball',
'ScrewAttack': 'Screw Crusher',
'Missile': 'Photon Missile',
'Super': 'Sniper Missile',
'PowerBomb': 'Hyper Bomb',
'Grapple': 'Strike Chain',
'XRayScope': 'Shining Ray',
'Reserve': 'sub tank',
'ETank': 'heart tank',
'Charge': 'Cheep Charge',
'Ice': 'Ice Flower',
'Wave': 'Superball',
'Spazer': 'Spiny Shelmet',
'Plasma': 'Hammer Suit',
'HiJump': 'Raccoon Suit',
'SpeedBooster': 'P-Speed',
'SpaceJump': 'P-Wing',
'Varia': 'Fire Flower',
'Gravity': 'Frog Suit',
'Morph': 'Mini Mushroom',
'Bomb': 'Bob-omb',
'SpringBall': 'Spring',
'Screw Attack': 'Super Star',
'Missile': 'Bullet Bill',
'Super': 'Banzai Bill',
'PowerBomb': 'POW Block',
'Grapple': 'Claw',
'XRayScope': 'Subspace',
'Etank': 'Magic Mushroom',
'Reserve': 'Reserve Mushroom'
My button setup involves setting shoot to R, Angle Up to L and until your randomizer, angle down was unbound. However, with the availability of Angle Down being mapped to something unused, in this case A, I was able to utilize angle down and Crystal Flash (so I thought). I recently ran a randomizer where I had to do a hell run into Upper Norfair. Imagine my surprise when I attempted a crystal flash and nothing happened. I remapped the buttons to default, and crystal flash did work, so I eliminated the possibility of the issue being with my emulator.
As a request, if it's possible, can you rework the rom to not only use angle down if it is mapped to a face button, but also allow it to be used for a crystal flash. I have a controller setup that is similar to that of Behemoth's.
Please let me know if you have any comments, questions, or concerns, or if such a thing is possible.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.