Implement written tutorial page

This commit is contained in:
Chris Wilson 2020-08-12 23:07:26 -04:00
parent 7eb419154b
commit 39bfdc244b
3 changed files with 181 additions and 2 deletions

View File

@ -1 +1,162 @@
# Tutorial Coming Soon™
# A Link to the Past Randomizer Multiworld Setup Guide
<div style="width:100%; text-align: center;">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/mJKEHaiyR_Y" frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
</iframe>
</div>
## Required Software
- [Multiworld Utilities](https://github.com/Berserker66/MultiWorld-Utilities/releases)
- [QUsb2Snes](https://github.com/Skarsnik/QUsb2snes/releases) (Included in the above Utilities)
- Hardware or software capable of loading and playing SNES ROM files
- An emulator capable of running Lua scripts
([snes9x Multitroid](https://drive.google.com/drive/folders/1_ej-pwWtCAHYXIrvs5Hro16A1s9Hi3Jz),
[BizHawk](http://tasvideos.org/BizHawk.html))
- An SD2SNES, [FXPak Pro](https://krikzz.com/store/home/54-fxpak-pro.html), or other compatible hardware
- Your Japanese v1.0 ROM file, probably named `Zelda no Densetsu - Kamigami no Triforce (Japan).sfc`
## Installation Procedures
### Windows Setup
1. Download and install the Multiworld Utilities from the link above, making sure to install the most recent version.
**The file is located in the assets section at the bottom of the version information**. If you intend to play normal
multiworld games, you want _Setup.BerserkerMultiWorld.exe_.
- If you intend to play the doors variant of multiworld, you will want to download the alternate doors file.
- During the installation process, you will be asked to browse for your Japanese 1.0 ROM file. If you have
installed this software before and are simply upgrading now, you will not be prompted to locate your
ROM file a second time.
- You may also be prompted to install Microsoft Visual C++. If you already have this software on your computer
(possibly because a Steam game installed it already), the installer will not prompt you to install it again.
2. If you are using an emulator, you should assign your Lua capable emulator as your default program
for launching ROM files.
1. Extract your emulator's folder to your Desktop, or somewhere you will remember.
2. Right click on a ROM file and select **Open with...**
3. Check the box next to **Always use this app to open .sfc files**
4. Scroll to the bottom of the list and click the grey text **Look for another App on this PC**
5. Browse for your emulator's `.exe` file and click **Open**. This file should be located inside
the folder you extracted in step one.
### Macintosh Setup
- We need volunteers to help fill this section! Please contact **Farrak Kilhn** on Discord if you want to help.
### Linux Setup
- Coming Soon™
## Configuring your YAML file
### What is a YAML file and why do I need one?
Your YAML file contains a set of configuration options which provide the generator with information about how
it should generate your game. Each player of a multiworld will provide their own YAML file. This setup allows
each player to enjoy an experience customized for their taste, and different players in the same multiworld
can all have different options.
### Your YAML file is weighted
Throughout your YAML file, you will see many options which look similar to this:
```yaml
map_shuffle:
on: 5
off: 15
```
In the above example, imagine the generator creates a bucket labelled "map_shuffle", and places a folded
piece of paper into the bucket for each sub-option. Here, there are twenty pieces of paper in the bucket:
five for "on" and fifteen for "off". When the generator is deciding whether or not to turn on map shuffle
for your game, it reaches into this bucket and pulls out a piece of paper at random. In this example,
you are much more likely to have map shuffle turned off. If you never want an option to be chosen, simply
set its value to zero.
### ROM Options
At the bottom of your YAML file, you will find a set of ROM options. These control various aesthetic changes
which do not affect gameplay. These options are also weighted, in case you want to be surprised by the color
of your hearts or by the silliness of your overworld palette.
If you would like to add a sprite to the list, simply include its name and give it a weight like so:
```yaml
rom:
sprite: # Enter the name of your preferred sprite and weight it appropriately
random: 0
randomonhit: 0
link: 1
vegeta: 3
rottytops: 5
rocko: 5
luigi: 3
```
## Joining a Multiworld Game
### Obtain your patch file and create your ROM
When you join a multiworld game, you will be asked to provide your YAML file to whoever is hosting. Once that
is done, the host will provide you with either a link to download your patch file, or with a zip file containing
everyone's patch files. Your patch file should have a `.bmbp` extension. Put your patch file on your desktop or
somewhere convenient, and double click it. This should automatically launch the client, and will also create
your ROM file in the same place as your patch file.
### Connect to the client
#### With an emulator
When the client launched automatically, QUsb2Snes should have also automatically launched in the background.
If this is its first time launching, you may be prompted to allow it to communicate through the Windows
Firewall.
##### snes9x Multitroid
1. Load your ROM file if it hasn't already been loaded.
2. Click on the File menu and hover on **Lua Scripting**
3. Click on **New Lua Script Window...**
4. In the new window, click **Browse...**
5. Browse to the location you extracted snes9x Multitroid to, enter the `lua` folder, and choose `multibridge.lua`
6. Observe a name has been assigned to you, and that the client shows "SNES Device: Connected", with that same
name in the upper left corner.
##### BizHawk
1. Load your ROM file if it hasn't already been loaded.
2. Click on the Tools menu and click on **Lua Console**
3. Click the button to open a new Lua script.
4. Browse to your Multiworld Utilities installation directory, and into the following folders:
`QUsb2Snes --> Qusb2Snes --> LuaBridge`
5. Select `luabridge.lua` and click Open.
6. Observe a name has been assigned to you, and that the client shows "SNES Device: Connected", with that same
name in the upper left corner.
#### With hardware
This guide assumes you have downloaded the correct firmware for your device. If you have not
done so already, please do this now. SD2SNES and FXPak Pro users may download the appropriate firmware
[here](https://github.com/RedGuyyyy/sd2snes/releases). Other hardware may find helpful information
[on this page](http://usb2snes.com/#supported-platforms).
**To connect with hardware you must use an old version of QUsb2Snes
([v0.7.16](https://github.com/Skarsnik/QUsb2snes/releases/tag/v0.7.16)).**
Versions of QUsb2Snes later than this break compatibility with multiworld.
1. Close your emulator, which may have auto-launched.
2. Close QUsb2Snes, which launched automatically with the client.
3. Launch the appropriate version of QUsb2Snes (v0.7.16).
4. Power on your device and load the ROM.
5. Observe the client window now shows "SNES Device: Connected", and lists the name of your device.
### Connect to the MultiServer
The patch file which launched your client should have automatically connected you to the MultiServer.
However there are a few reasons this may not happen, including if the game is hosted on the website but
was generated elsewhere. If the client window shows "Server Status: Not Connected", simply ask the host
for the address of the server, and copy/paste it into the "Server" input field then press enter.
The client will attempt to reconnect to the new server address, and should momentarily show "Server
Status: Connected". If the client does not connect after a few moments, you may need to refresh the page.
### Play the game
When the client shows both SNES Device and Server as connected, you're ready to begin playing. Congratulations
on successfully joining a multiworld game!
## Hosting a game
The recommended way to host a game is to use the hosting service provided on
[the website](https://berserkermulti.world/generate). The process is relatively simple:
1. Collect YAML files from your players.
2. Create a zip file containing your players' YAML files.
3. Upload that zip file to the website linked above.
4. Wait a moment while the seed is generated.
5. Provide your players with a link to the "Seed Info" page so they may download their patch files.
6. Click "Create New Room". This will take you to the server page, where you may find the server address to
send to your players if they do not connect automatically. It should look similar to: `45.83.104.96:50783`
7. Note that a link to a Multiworld Tracker is at the top of the room page. You should also provide this link
to your players so they can watch the progress of the game.
8. Once all players have joined, you may begin playing.

View File

@ -55,3 +55,21 @@
#tutorial-wrapper a{
}
#tutorial-wrapper pre{
padding: 0.5rem 0.25rem;
background-color: #dce2bd;
border: 1px solid #9f916a;
border-radius: 6px;
}
#tutorial-wrapper code{
background-color: #dce2bd;
border-radius: 4px;
padding-left: 0.25rem;
padding-right: 0.25rem;
}
#tutorial-wrapper iframe{
text-align: center;
}

View File

@ -40,7 +40,7 @@
<p>Currently, a locally installed client is required to play. This client should handle patching
your ROM files and connecting to the multiworld server. More information on how to set up a local
client may be found on the
<a href="https://github.com/Berserker66/MultiWorld-Utilities/wiki">Wiki</a>.</p>
<a href="/tutorial">Setup Guide</a>.</p>
<p>This website is under active development. As such, your hosted rooms may occasionally disappear,
and there may be bugs. If you do happen to find a bug, please report it
<a href="https://github.com/Berserker66/MultiWorld-Utilities/issues">here</a>.</p>