Skip to content

Spyro: AHT 1 ‐ Setup Guide & FAQ

Phoenix edited this page Oct 2, 2026 · 19 revisions

Setup Steps

Required Software

  • A legally-obtained NTSC-U (ID G5SE7D) or PAL (ID G5SP7D) GameCube version of AHT.
  • The latest stable version of the Dolphin emulator. At the time of writing this, that is version 2609. If a newer version is available, it will likely work fine with AHT AP, but it is safest to use the version mentioned here as it has been tested prior to updating this page.
  • The latest version of the Archipelago launcher At the time of writing this, that is version 0.6.7.
  • The latest version of AHT AP and its game mod. Both files can be found bundled with each release posted to this GitHub repo. This link will always point to the latest full non-prerelease version. spyro_aht.apworld is the APWorld file, while NTSC_AR_Code_version_x_x and PAL_AR_Code_version_x_x are the game mod versions for NTSC and PAL respectively.
  • [optional, but recommended] The latest version of Universal Tracker (UT). See here for detail on what features UT brings to AHT AP.

Generating an AHT AP Seed

  1. Install spyro_aht.apworld by either double clicking it, or opening the launcher and selecting "Install APWorld" and selecting spyro_aht.apworld. Do similar with tracker.apworld if you opted to get Universal Tracker. If neither appear in the launcher after installing, fully restart the launcher.
  2. Click "Generate Template Options" in the launcher to create a .YAML file you. YAML files are how you specify settings for a seed, and can be edited as if they are a text file. Alternatively, you can use the built-in "Options Creator" in the launcher for a visually guided process.
  3. Place the YAML file into the Players folder in your Archipelago installation directory. Using myself as an example, this is C:\Program Data\Archipelago\players, but it may vary depending on operating system and where you installed Archipelago.
  4. Click "generate" in the Archipelago launcher, and it will attempt to generate a seed using the YAML file. If you have any issues, such as wrong formatting of your YAML or a problematic combination of settings, you may experience a generation failure. I have done my best to communicate the cause of such errors as clearly as I can. If successful, you will have a .zip file in the output folder of your Archipelago installation directory which contains your generated seed.

Hosting an AHT AP Seed

In order to play an Archipelago seed, it must be hosted over a network so the AHT client can connect to it. You have 2 options for this:

  • A) Click "host" in the Archipelago launcher and you will be prompted to select the .zip file of the seed you want to host. It will set up a local network connection and host the seed on it. This usually defaults to localhost:38281 for me, but may vary depending on operating system or Archipelago settings.
  • B) Navigate to the Archipelago website and upload your random seed there. Archipelago will host the seed in an online room. This will take the form of archipelago.gg:xxxxx with xxxxx being 5 numbers that identify your specific seed's room.

Steps to Set Up Dolphin

  1. Go to Options -> Configuration -> General and check Enable Cheats.
  2. Right click on "Spyro: A Hero's Tail" in your game list and go to Properties -> AR Codes. Then, click Add New Code and create one called AP or similar. Copy and paste the contents of whichever game mod file you downloaded. Make sure you check it in the list of AR Codes so that it is enabled!
  3. [OPTIONAL] Dolphin has some issues with rendering underwater graphics. You have 2 options for fixing this:
  • A) Go to Options -> Graphics Settings -> Hacks and disable both "Store EFB Copies to Texture Only" and "Defer EFB Copies to RAM". This can have an impact on performance, so some may prefer...
  • B) Go to Options -> Graphics Settings -> Enhancements, and check "Disable Fog". This works well, at the cost of disabling all fog.
  1. [OPTIONAL, NTSC ONLY] AHT has an infamous "spinning" bug which forces Spyro to spin at frequently awkward times. If you want to fix this, set up a new AR code entry titled something like "fix spinning" and paste in the line 04059940 60000000.

Connecting to Your Seed

  1. Complete all above steps to generate and host a seed, as well as prepare Dolphin.
  2. Open "Spyro AHT Client" via the AP launcher, and start running AHT in Dolphin. You'll know if the game mod was installed correctly if the main menu has text specifying the game mod version and "Settings not initialized - Connect client".
  3. Once at the main menu, enter the server address in the text box at the top of the client. This will either be archipelago.gg:xxxxx or localhost:xxxxx most likely, depending on how you hosted the seed. After, click "connect". If successful, the game will say "Settings initialized."
  4. If this is the first time for this seed, start a new game and begin playing! If returning to an existing seed, load the save you were using before.

NOTE: You must have the game at the title screen when you connect. After connection, the client will immediately try to determine whether you are in-game or not, and this will result in a "Cannot read memory" error if the game is not running at that point.

Frequently Asked Questions (FAQ)

I goaled early, what gives?

Short answer: this should only be possible as a result of someone using !collect in a multiworld which contains AHT. This is entirely avoidable if you do not allow the use of !collect.

More detail: progress towards goals is measured in terms of how many AHT locations of various types are completed. For instance, the AHT client tallies up how many Dark Gem locations are completed if Dark Gems are an enabled goal, and checks whether enough are done yet. When someone uses !collect, it results in locations in other games being completed on the player's behalf, which the AHT client sees as equivalent to if the AHT player did that location themselves. An example of this becoming a problem is to imagine that an AHT player has 1 Dragon Egg location left in order to goal. If someone else uses !collect and it results in at least 1 Dragon Egg location being completed, the AHT client will see it as no different to if the AHT player did it themselves, and thus it would consider the Dragon Egg goal done.

Are there item groups?

As of v2.2, the following item groups are supported (can also check in the client using /item_groups): Elder Abilities, Collectibles, Filler, Traps, Breaths, Abilities, Shop Items, Key Rings, Access Cards, and Shop Unlocks.

How about location groups?

As of v2.2, the following location groups are supported (can also check in the client using /location_groups):

  • 15 per-level groups (e.g. "Dragon Village", "Magma Falls Top")
  • "Starter Checks" & "Shop Items"
  • "All Bosses", "All Dark Gems", "All Dragon Eggs", "All Light Gems", "All Locked Chests", "All Fireworks", and "All Minigames"
  • Level-based and realm-based groups for Dark Gems, Dragon Eggs, Light Gems, Locked Chests, and Fireworks (e.g. "Crocovile Swamp Dark Gems", "Lost Cities Light Gems", "Icy Wilderness Fireworks", "Dark Mine Locked Chests", etc.)
  • NPC-based and realm-based minigame groups (e.g. Sgt. Byrd Minigames and "Dragon Kingdom Minigames")

What other features are planned? Can I suggest things?

I'm always open to constructive feedback and suggestions! See the to-do list page for a list of every feature I am currently considering adding to AHT AP in the future. Reach out to me, ideally over Discord through the Archipelago Discord Server, if you want to talk to me directly (username phoenixaki). I usually ignore/reject random friend requests, so having the Archipelago server in common helps avoid that.

I think I found a bug!

If you suspect there is a logic bug, or if you encounter any other issue, please refer to this page which details the information that is most helpful to me for bug reports.

Does This Project Use AI?

The Archipelago Discord server staff encourage randomizer developers to disclose any AI usage (or lack thereof) in their projects for the sake of transparency. The following blurbs are from each of the 3 developers who have worked on AHT AP in some fashion, answering the question of whether AI is something they utilize:

Ebbe (game mod): "While none of the mod's code was generated with AI, in some case where a problem really stumps me and Google results fails to help, I do consult ChatGPT. it's pretty rare though. again its' only if I need help in understanding a problem, not for just spitting out code that I then use. I don't like using code that I didn't write and don't 100% understand."

XuaThaGrate (original logic and client programmer): "None of my code has ever or will ever use AI"

PhoenixAki (hi that's me, current logic and client programmer): "Virtually none of my contributions utilize AI/LLMs. One very small exception is I briefly asked ChatGPT if it had any good ideas for the humorous filler item name ideas for inspiration. Most of them did not hit the mark, but one ("Anger Management Class for Red") was great, so I took it and then came up with all of the other filler names on my own using it as the base idea."

Clone this wiki locally