Releases: seanstan95/PhoenixAP
Release list
Spyro: A Hero's Tail: V2.0 (Release Candidate)
v2.0 (Release Candidate): I've Opened the Whole World Up
This is the third and final major chunk of the Spyro AHT 2.0 update, labelled as "release candidate" because I have no plans to add more into what will become 2.0. Depending on if issues arise, I would like to release the official 2.0 within the next week or so, but we'll see based on playtesting. I'm excited to finally have time to play what I've spent the past month working on :fa_basil_heehee:
Note that the game mod has been updated to version 10 and, going forward, will be included alongside the .apworld, instead of being hosted separately by Ebbe. This should cut back on confusion about which version to use.
Hotfix 2 8/8 5:15pm (new .apworld and game mod files below!!!)
Further playtesting revealed a few more mistyped logic rules. I determined this made it justified to do a complete review of every location in search of any other lingering issues. I took the opportunity to do something I was going to put off for a 2.1 update but it made sense to multitask doing alongside this review:
- All locations in the world have been renamed/reformatted to allow for a custom sorting function to be added for Universal Tracker to use.
- The location review led to fixing a few Locked Chests which were missing their chest logic rule. I also added Double Jump as a requirement to progress through a small portion of Sunken Ruins (getting onto the electric platform after the fish statues) that should only affect a few checks and gem rules.
- Also, Ebbe was able to fix a loading zone that in the vanilla game was badly misaligned which could lead to finicky issues with open world mode. Ebbe OP. New game mod version is below.
## Hotfix 1 8/8 3:45am (new .apworld and game mod files below!!!)
Initial playtesting revealed, unsurprisingly, a few logic errors which are now fixed. It also includes 2 game mod changes which enabled 2 things as quality of life improvements:
-
- The in-game map icons that get rendered will now render for all maps you have access to, not just the one that you're currently in.
-
- New YAML option
shop_pad_proximity_activationwhich is a quality of life adjustment for non-full open world mode seeds. Details in the YAML.
- New YAML option
Changelog (this is a lot again lol. changelog.txt contains some unredacted details)
-
⚠️ The first note is one that lingers from 2.0 Beta Releases 1 & 2: the project internally has been renamed fromspyro-ahttospyro_aht. It is recommended you go into yourcustom_worldsfolder in your AP installation and manually delete any oldspyro-ahtfiles, to minimize chance of issues from this⚠️ -
Major Feature Addition: Open World Mode
- This feature allows you to set the remote shop pads to become unlocked not by reaching them physically, but by receiving AP items which unlock them in various fashions, such as individual, progressive per level, full levels, and full realms. This required a MASSIVE re-design of all logical regions of the randomizer.
-
Project Wiki: Added a brand-new and written from scratch series of wiki pages to my GitHub repo for the randomizer, found here.
-
Realm Access Adjustments (to cooperate with open world mode better)
- Enabling full open world will forcibly start you with all 4 realm access cards to ensure smooth traveling. If using non-full open world mode, realm access cards will be created for your starting realms, but the remaining realms will have their access determined based on shop unlocks and teleporting to them.
-
New option:
pause_menu_patch- This gives you the choice between the existing "press and hold Y to teleport to the hub" and a new option "press Y to open shop" which lets you access the shop from anywhere in the game. These each have logic implications on open world mode, which is why this new patch was created and housed in this option.
-
Gem Logic Fix & Expansion
- Fixed the issue from Beta Release 2 relating to gem logic not lining up in trackers post-generation by redesigning the whole process.
- Added
non_blink_enemiesas a 3rd way to divvy up the gem collection process for things in the game.
-
New client command
/add_itemwhich is meant to be used for debugging or setting up a blank new save file to be at a similar or same point as a previous save file (such as if it gets corrupted or otherwise lost). -
Various other things:
- The game mod and client now supports custom DeathLink messages based on how you die! Go and spam your friends with deaths to try to find them all linkusEvil
- Updated
double_gemsto be usable regardless of what you setgem_logicto. - Added an open-source-license to the project. In short: "do whatever you want with my code but don't sell it"
- Added 2 new generic filler items.
- Fixed
boss_lair_forcingfrom only doing its thing if boss lair costs were non-default. - Numerous other behind-the-scene things that have significantly sped up my development workflow and debugging capabilities.
Spyro: A Hero's Tail: v2.0 (Beta Release 1)
v2.0 (Beta Release 1): I Lost A Million Brain Cells
This is the first half of a huge release for A Hero's Tail Archipelago (AHT AP). It is being released on its own for testing purposes, while the second half is worked on (tentatively slated for ~2 weeks from now). Thorough testing and feedback on all new features and changes in this version is requested.
The latest version of the game mod can be found here. Updating it is required for this beta release.
Hotfix 12:15am EDT on 7/17/26: The .apworld link has been updated to include a small fix. The client was marking some items as free automatically if they are deemed important - this is a remnant of restrictive start prevention which is believed to no longer be necessary. Logic was already acting right, but the client was overruling it.
Full Changelog (this is a lot lol. A slightly less detailed copy is included in changelog.txt)
-
AHT AP has officially switched hands to me being the primary developer and maintainer. I included a longer blurb from myself in the attached
changelog.txt. -
Complete Region Redesign
- All regions of AHT AP have been redesigned, and the locations within have been reorganized accordingly. Barring some inevitable bugs (most have been found), this should not impact the player experience too much. Logical access to every check has been re-analyzed to fix a number of oddities that were in the previous design.
- One example of how this helps is that the shop in Stormy Beach now requires Double Jump to access, when before it didn't. Thus, if you start a randomized shop run in Stormy Beach, you will not be expected to buy any items until you have Double Jump.
- All regions of AHT AP have been redesigned, and the locations within have been reorganized accordingly. Barring some inevitable bugs (most have been found), this should not impact the player experience too much. Logical access to every check has been re-analyzed to fix a number of oddities that were in the previous design.
-
Major Feature Addition: New Shop Randomization Behavior
- AHT AP now supports gem logic. The generator now knows how many gems you can accumulate at any point in generated seeds.
- The shop, when randomized, utilizes this to now space out the shop items throughout the seed. In your YAML, you will provide information on how much of the game's gems you want to collect, and the generator will decide your shop prices based on that.
- You will not lose gems when purchasing items in the shop. Each item is instead phrased as "Unlocked at X gems" and once you have X gems, the item unlocks and can be redeemed for free. Future shop items will contain higher prices, ensuring you keep collecting gems.
- The biggest downside of this change is that the player no longer has a choice in what order to buy their shop items, in this mode. Feedback is especially wanted on if this matters to people much. I am considering re-implementing the old system as a toggle in Beta Release 2.
- However, the upside is that impossible seeds are much, much more prevented.
- You will no longer be able to generate a seed with shop prices so high that they are infeasible to handle.
- There are no longer 18-56 shop checks in sphere 1, which previously led to very frequent situations where you need to buy multiple items at once but can only afford 1-2, leading to potential softlocks.
- The project's README has been expanded to contain details on how this new system works, in-depth. Some details were not essential to playtesting it, but are very useful to know, so it is strongly encouraged you read it over if you intend to give feedback on it. Sorry it's a bit long lol.
-
Universal Tracker (UT) Integration with the AHT Client
- The AHT AP client now has a "tracker page" which loads info from UT, if installed. This means UT is now a soft requirement for AHT AP.
- If UT is not installed, the client will default to its old style. This will result in 2 features of shop randomization not working anymore (map icons and the pause screen text about gems) due to the information for them being fueled by UT now.
- Randomized costs for boss lairs, light gem doors, and gadgets will now report consistently with the generated seed, in the client and in UT.
- The AHT AP client now has a "tracker page" which loads info from UT, if installed. This means UT is now a soft requirement for AHT AP.
-
Countless changes to the YAML
- The addition of
filler_items,gem_collection,blink_gems,double_gems,randomize_minigames, andteleport_across_realms.filler_itemslets you customize the items you can get as filler, including some new types.gem_collection,blink_gems, anddouble_gemsare related to the new shop randomization logic and affect how many gems you will expect to collect, and whether to fully disable Double Gems as an item (gem logic does NOT account for Double Gems).randomize_minigamessimplifies the randomizing of minigame rewards into a single option.teleport_across_realmsis a quality of life patch which lets you teleport from shop pads in one realm to another directly, without requiring using that realm's realm teleporter.
- The removal of
shop_cost_minandshop_cost_max, as shop prices are determined automatically now. - Expansion of
starting_breathto allow for choosing any breath explicitly. - The renaming of a few options, and a complete analysis and re-writing of many parts of existing options.
- The addition of
-
Various Other Additions, Tweaks, And Fixes
- The client now enforces having the right version of the game mod (currently version 8), refusing to connect if it mismatches.
- Renamed the project from
spyro-ahttospyro_aht.- NOTICE: This could lead to issues if you keep the previous .apworld installed. It is strongly advised to go into your
custom_worldsfolder, in your AP installation directory, and delete your previousspyro-aht.apworld, if you have one.
- NOTICE: This could lead to issues if you keep the previous .apworld installed. It is strongly advised to go into your
- Updated spoiler file output to include new shop randomization information on prices, as well as no longer including starting realm.
- Fixed a typo in the location group name for Molten Mount (was Moltem Mount).
Spyro: A Hero's Tail: v1.0.10
v1.0.10: New Client Command & Red's Lab Fixes
This release is not compatible with previously generated seeds due to the addition of a few things into the slot data, and adjustments in location logic which would clash with previous versions. It is, however, compatible with the most recent version of the game mod (AR codes), linked here for convenience.
- Added new client command
/list_optionswhich lists all YAML options as well as the costs of things which were potentially randomized (such as gadget and light gem door costs). A lot of this info is already visible on the pause menu in the game mod but some of the info was not, so this is meant to complement that.- This required adding 4 new entries to the slot data, one each for the options to randomize minigame rewards.
- Fixed Mecha-Red location not having boss lair cost logic applied to it. This resulted in the Mecha-Red location being accessible in logic once Red's Lab in general is accessible.
- Fixed a minor logic issue with a Dragon Egg in Red's Lab which should require Fire Breath and did not.
- Fixed 2 locations in Red's Lab which had their names swapped.
Spyro: A Hero's Tail: v2.0 (Beta Release 2)
v2.0 (Beta Release 2): My Brain Cells, I Miss Them...
I'm pulling an Attack on Titan with this being the first half of the final part of the v2.0 update 😂 The last major addition I have in mind for 2.0 is one that will need a few days minimum of direct attention to get in place, so it made sense to put this out with everything besides that to give it time for testing.
The latest version of the game mod can be found here. It should be unchanged from 2.0 Beta Release 1, but if you experience any issues, install the game mod again just in case.
Small hotfix ~7h later: start_inventory_from_pool was not properly replacing chosen items with filler. It now does :)
NOTE: there is a known issue in this release I could not resolve, despite hours of bug chasing. It impacts seeds that use shop_randomization with gem_logic enabled. It results in shop items appearing in-logic in trackers sooner than they should be, at times. The underlying logic is fine. In other words, if a tracker reports you as being able to access a shop item before you have access to enough gems to do so, you won't be actually expected to do so until you actually correctly do have enough gems accessible. If you find this to not be the case (as in the only check you have available is a shop item you can not afford within the bounds of what you specified in non_blink_gems and blink-gems), please let me know ASAP.
Changelog (this is a lot again lol. changelog.txt contains some more detail)
-
AHT now supports 10 different goals (4 for bosses, 6 for other). They can be combined in any order or combination you wish, and you can also specify "Random" in place of a goal name to have random choices.
-
Re-implemented the old shop randomization system as a toggle for those who don't like the new system using gem logic to space out shop item checks. The only difference is this re-implementation still calculates shop prices based on the new logic, it just changes how the shop prices are assigned and puts all shop item checks in logic in sphere 1.
- This re-implementation is enabled by having
shop_randomizationenabled butgem_logicdisabled.
- This re-implementation is enabled by having
-
Overhauled realm access system.
realm_accesswas removed and all realm access logic is done bystarting_realms. Realms you list will have their access cards added to your start inventory. Also, the access cards were renamed to reflect the actual realm names. -
New option group "Generation Settings" which has 2 new options:
logging_levelprovides logging to the generation log as specified.auto_correctionsdecides whether the generator should fix AHT YAML issues automatically or to halt generations upon identifying an issue.
-
Various other things:
- New option
boss_lair_forcingwhich forces a chosen boss to have the most expensive lair cost. - Fixed client crashing on startup without Universal Tracker installed.
- Expanded location groups to have bosses, dark gems, dragon eggs, light gems, locked chests, and fireworks.
- Removed 2 things that were meant to improve generation rate but ultimately were not justified to keep IMO.
- This resulted in slightly raising the chance of some generations failing, but it shouldn't be super notable. ~1.5-2% of random YAMLS fail which is still within relatively normal range.
- Improved method of generating and distributing filler items to be much more evenly spread out among all enabled types.
- Flipped
randomize_minigamestovanilla_minigame_rewards. Same functionality, but reversed to be a bit easier to grasp conceptually IMO. - Added
start_inventory_from_poolto YAML.
- New option