- GDScript 50.4%
- Python 49.6%
| .github | ||
| apworld/brotato | ||
| client_mod | ||
| images | ||
| tools | ||
| .gitignore | ||
| CHANGES.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Archipelago Brotato
This adds Brotato as a game to be used in Archipelago multi-world randomizers.
This repo contains two projects:
apworld/brotato: An Archipelago apworld folder containing the definitions of items, locations, logic, etc. used by Archipelago to generate games.client_mod: A Brotato game mod which includes an Archipelago WebSocket client and hooks for sending locations and receiving items from the Archipelago server.
Installing
apworld
To host or generate games, you will need to add the apworld to your Archipelago
installation. Download the brotato.apworld from the latest
release.
Then, either double click the file (on Windows), or copy into
<archipelago_installation/custom_worlds> (on Linux) to install.
Client Mod
Brotato can be played using either the version on
Steam or the version on Epic
Games Store. The Xbox/Game Pass
version can NOT be used as it does not ship with ModLoader, which is necessary for the
mod to work.
Steam (Workshop Install)
WARNING: The workshop mod automatically updates whenever a new version is available. If you need to use an older version of the mod to complete a multiworld, you will need to use the manual intallation instructions below.
- Open the Steam Workshop for Brotato.
- Search for the "Archipelago" mod.
- Subscribe to the mod to install it.
Steam (Manual Install)
As of the 1.1.0.0 update, Brotato does not accept mods added any way apart from via the Workshop. As a workaround, we can use the placeholder mod, and place the Archipelago mod in that folder.
- Download
RampagingHippy-Archipelago.zipfrom the latest release. - Open the Steam Workshop for Brotato.
- Subscribe to the [Modders] mode to download it.
- In a File Explorer, navigate to your Brotato Steam Workshop folder. On Windows, this
defaults to
C:\Program Files (x86)\steamapps\workshop\content\1942280(1942280is Brotato's Steam ID). - Open the folder titled
3369699033in the above directory. - Copy the zip file we downloaded in step 1. into this folder.
- DO NOT UNZIP THE FILE.
- DO NOT REMOVE ANY OTHER FILES HERE.
Epic Games Store
- Download
RampagingHippy-Archipelago.zipfrom the latest release. - Copy the zip file to
<brotato_installation>/mods.
- DO NOT UNZIP THE FILE.
- To confirm, there is be a file called
add your zipped mods herein the folder. - If you don't know where to look:
- Find Brotato in your EGS library
- Click on the three horizontal dots next to its name.
- In the window that opens, click the folder+magnifying glass next in the "Installation" row.
From source
NOTE: This is not recommended since unreleased code is more likely to have bugs or unfinished features. This should only be done if you want to contribute to the project or really want the bleeding edge.
Instead of downloading the .apworld file and mod zip from the releases page, copy the
apworld/brotato folder to the Archipelago worlds/ folder, and zip the client_mod
folder into a zip called RampagingHippy-Archipelago.zip and copy it to Brotato's mod
folder as described above.
Playing Brotato with the mod installed.
If the mod is installed correctly, Brotato's main menu should have an "Archipelago" button above the "New Game" button. Press it to open the connection menu. Put in the address/port of the server, your slot name for the game, and the password if necessary.
Once connected to the server, the client mod will override the game state to match your progress in the AP game. This includes:
- Only unlocking characters that you start with or that someone has found.
- Giving you extra XP, gold, upgrades, and items depending on the items found.
- Modifying the number of shop items available based on the progressive shop items found.
This won't affect your normal progress. Once you disconnect from the AP server, your original progress will be reapplied.
Development Setup
This repo as-is is not enough to actually load the apworld or client mod, or run the unit tests. To create a working development environment, you will need some additional software:
- Git
- An Archipelago-compatible version of Python (e.g. 3.10 or 3.11).
- An installation of Brotato from either Steam or Epic Games (NOT the Xbox version).
- Clone the Archipelago repository.
- Download the latest version of GDRETools.
- Download the latest version of GodotSteam
3.6..
- You may need to search through the releases for the latest 3.6-compatible release.
Once you have all of this, the scripts in the tools/ directory can help you get setup:
- Run tools/extract_brotato.py to unpack the Brotato
source into an editable form.
- THIS IS PROPRIETARY CODE, DO NOT DISTRIBUTE OR CHECK INTO THIS REPOSITORY.
- Run tools/create_dev_symlinks to link the code in this repo into the Archipelago and Brotato work areas.
From here, you should have a checkout of Archipelago with the Brotato apworld usable, so you can run the unit tests or generate worlds, and a development version of Brotato with the client mod installed for easier development and debugging. You can open the Brotato project with GodotSteam 3.6 to build and run the game.
For additional reading, see darkly77's Modding Guide on Steam.