Verified Fill
Out of a desire to maximize randomness, DASH uses a fill method which places a few items in early locations and then randomly places all remaining items. With items placed, a solver verifies the seed can be completed. We refer to this as the Verified Fill method, but it is also commonly known as Random Fill.
Item Pool
The available item pool consists of the vanilla major items, a randomly derived number of minor items, and (optionally) any new DASH major items.
Early Item Placement
Major/Minor
- Morph Ball
- Placed at either vanilla location or Blue Brinstar ceiling
- Missile pack or Super Missile pack
- 65% chance of Missile pack
- 35% chance of Super Missile pack
- Item to break the blocks in Parlor
- 46.3% chance of Power Bombs
- 30.7% chance of Bombs
- 7.7% chance of Speed Booster
- 5.3% chance of Screw Attack
Full
- Morph Ball
- Placed at either vanilla location or Blue Brinstar ceiling
- Missile pack or Super Missile pack
- 65% chance of Missile pack
- 35% chance of Super Missile pack
- Movement item which can also break blocks in Parlor
- 76.9% chance of No Item
- 7.7% chance of Screw Attack
- 7.7% chance of Speed Booster
- 7.7% chance of Bombs
- Power Bomb pack
Remaining Items
With early items placed, a process similar to shuffling a deck of cards occurs to place the other items. The DASH solver ensures that all item locations within the game will be accessible for a seed to be considered valid.
Boss/Area Randomization
This same approach is used when randomizing bosses and area transitions. Combinations of bosses and area portals are generated randomly, and the DASH solver is used to verify the seed.
Seed Generation
Steps for generating a seed:
- Initialize solver with selected settings
- Randomize boss locations
- Randomize area transitions
- Place early items
- Place remaining items
- Verify seed can be completed
- Return to step 5 if the seed cannot be completed
- Return to step 2 after steps 5-6 have been repeated 10 times
- Return to step 1 after steps 2-6 have been repeated 20 times and select a new initial seed