Public Update Preview: Friends & Groups, Balance Changes and More
Welcome to a new Public Update Preview for Age of Empires II: Definitive Edition! This one is special.
For the first time, you can try our new social features, Friends and Groups, and play together with friends more easily than ever before. We’re releasing this in PUP for feedback while we work through remaining development effort, so now is a great time to tell us how you like it and what you think! Just please be aware that this set of features won’t launch in the next Update, and instead will launch at a later time, still to be announced.
The Preview otherwise includes everything coming in our next Update: stability and exploit fixes, a round of balance changes, and new tools for modders and scenario designers!
Quick reminder that this is a Preview: things may change based on your feedback, and you might find some rough edges. Please feel free to let us know where you might be experiencing issues; we’ll be anxiously looking through your feedback as we prepare this Update for release!
Branch Name: pup_winter
Highlights
- NEW: Friends & Groups. Add friends, see who’s online, team up in a Group and stay together between matches!
- Bug fixes based on your feedback!
- Balance changes!
- More modding and XS scripting tools!
Thanks again to our amazing community members, all of whom have helped to make Age of Empires what it is today!
—The Age of Empires Team
New Feature: Social Friends Panel
A new Social menu button can be accessed from the Main Menu.
- Players can see recently played with players and add them as friends.
- Players can also search for players, add Friends, and view online and offline status.
- Players can also block players.
- From this Social menu, players can invite friends to Groups (4 players maximum).
- Players in a Group will follow the host into Ranked and Quick Play lobbies, or into Custom Multiplayer and Co-op lobbies.
- The Group will persist after games end, so players stay together and join new lobbies or play through rematches together.
Game
Stability & Performance
- Fixed a rare crash that would occur when a player force closes the game during a multiplayer match loading screen that would also prevent some players in a lobby from joining the game.
- Fixed a crash when opening the context menu of another player that has already left a lobby and selecting a command (such as block).
- Fixed issues related to repeated DLC checks causing slowdowns on certain systems.
- Various performance optimizations.
Graphics
- Fixed an issue where resource objects, such as forage bushes and mines, would only display the first frame of their depletion animation as their resources were gathered.
Audio
- Accessibility: Added missing audio narration for pop up messaging for failed game saves.
- Exiting a scenario playtest back to the Scenario Editor will no longer play the defeat sound.
- Fixed an issue where Viking, Varangian, and Dane Priestesses played male death audio instead of female.
UI
- Fixed an issue where the selected mod would scroll down in the Mods menu while pressing the Windows key.
- Fixed some text overlap and removed a co-op campaign checkbox that appeared in the Create Lobby menu when selecting Ranked as the lobby type.
- In Return of Rome lobbies, Civilization set no longer displays Age of Empires II or Chronicles Civilization sets from previous lobbies.
- Oysters and Whales now display in gold color on the mini-map rather than white.
- Researching Spies now presents on-screen notifications in the “Display Instructions” banner style, like other similar events.
- Updated the loading screen tips for the Varangians.
Settings
- Fixed an issue when moving the game to a second monitor, the mouse would remain locked in the original monitor.
Hotkeys
- Villagers can now repair damaged Transport Ships using ALT + Right-Click.
Multiplayer
- Fixed an error causing spectators to desync if the lobby host exited the match while other players remained in-game.
- The Benchmark score now resets when any resolution setting is changed, so the test must be run again to get an updated result.
Gameplay
General
- Enabled assisted farm placement for Fish Traps when holding the Shift button over the Dock.
- In Sudden Death matches, player defeat now triggers after the Town Center’s destruction animation concludes rather than instantly upon reaching zero hit points.
Fixes
- Added missing underwater animations for Whales in Return of Rome.
- Assigned correct dead units to Domitian, Tiberius, and Xu Fu Return of Rome heroes.
- Fixed an issue preventing Melee units with charged projectile attacks (such as Hearth Troops and Fire Lancers) from automatically engaging targets within projectile range when a melee path was unavailable.
- Fixed an issue that allowed Monks to target wild animals with conversions.
- Fixed an issue that allowed players to detect enemy structures through the fog of war using building foundations.
- Fixed an issue where converted or trigger-modified siege units dealt inconsistent blast damage if destroyed while their projectiles were in flight.
- Fixed an issue where Fire Lancer projectiles did not ignore armor.
- Fixed an issue where Harbors had less bonus vs Ships than Docks in Imperial Age.
- Fixed an issue where Villagers harvesting from Pastures adjacent to Mills could become idle after an animal was depleted.
- Fixed an issue where secondary projectiles fired by Fire Archers could occasionally deal no damage.
- Fixed an issue where War Dogs units took unintended bonus damage from all attack classes.
- Player-controlled animal units, including Hunnic Horses and Camels, can now be converted by Monks as intended.
- Fixed an issue where Villagers automatically assigned to assist with nearby construction would forget their prior gathering assignment when ordered back to work.
- Fixed several scenario editor objects in Return of Rome having incorrect names.
- Units spawned directly from technologies (such as Serjeants from First Crusade) now correctly follow building waypoint queues.
Campaign
Campaign Missions
Gajah Mada 5: ‘The Pasanggahan’
- Fixed an issue where repeatedly purchasing Armored Elephants from Indian traders erroneously granted stacking passive regeneration to player-trained Armored Elephants.
Harald 3: ‘The Battle of Fulford’
- Fixed an issue where the objective to reduce Fulford’s military could trigger as completed before the required population threshold was met.
Harald 4: ‘The Road to the Throne’
- Scenario Repairers can now repair Transport Ships and garrison inside Rams.
Kotyan Khan 5: ‘A New Home’
- Fixed English subtitle text in the slide intro to match spoken voice over.
Balance Changes
General
- Champi Runner train time reduced from 34 seconds → 30 seconds.
- Champi Scout train time reduced from 42 seconds → 37 seconds.
- Outpost build time increased from 15 seconds → 20 seconds.
- Outpost HP reduced from 500 → 400.
- Slinger melee armor increased from 0 → 1.
- Slinger train time reduced from 25 seconds → 22 seconds.
Dravidians
- (Elite) Urumi Swordsman HP increased from 55 → 60, Elite from 65 → 70.
- (Elite) Urumi Swordsman pierce armor increased from 0 → 1, Elite from 0 → 1.
Varangians
- (Elite) Jarl cost reduced from 75 food 55 gold → 70 food 50 gold.
- Vendel Legacy cost reduced from 500 food 300 gold → 250 food 300 gold.
Vikings
- (Elite) Berserk pierce armor increased from 1 → 2, Elite from 1 → 2.
Random Maps
Map Balance
Mountain Range
- Fixed an issue where unbuildable rock terrain could generate adjacent to or directly beneath player Town Centers.
Random Map Scripting
- Added support for custom Real World maps by allowing random maps to load an .aoe2scenario file from the random-map-scripts folder with the same name as the .rms file.
- Fixed an issue where animated objects with multiple angles and graphic randomization flags (such as Driftwood) were generated on random maps using only their first facet.
- Monuments no longer randomize their graphics if the script has the set_gaia_civilization parameter.
Lobbies and Matchmaking
General
- Fixed an issue where handicaps would not apply if two players in a lobby shared the same team and color.
Pathfinding
- Improved pathfinding logic for Builders to prevent them from looping unnecessarily when one side of a construction site is obstructed.
- Optimized Trade Cart pathing performance when dealing with traffic congestion.
Scripting
- Fixed an issue where the up-can-build-line AI scripting command evaluated escrow goal flags in reverse, preventing AI players from spending escrowed resources properly.
Modding
General
- Added Flag 64 to Stingers (Task 157) to activate on receiving damage instead of on attack.
- Added sound bank reference data (contained in wwise\AudioDefinitions.zip) for better documentation as well as to improve interoperability with external modding tools, such as Advanced Genie Editor (AGE). The data contained within resembles the official Audio Spreadsheet, but is represented in XML format and automatically updated with game updates.
- Certain terrain properties have been unhardcoded and are now controlled by the Phantom Var terrain attribute. The available flags:
- 2: Forest
- 4: Farm
- 8: Buildable shallows
- 16: Pasture
- Custom random map icons in newly installed or activated random map mods no longer require a game relaunch in order to become visible in the map selection screen.
- Fixed an issue on Steam where unsubscribing from a mod would display a false failure warning despite the mod being successfully deleted and unsubscribed.
- Fixed an issue preventing the game from loading additional language support from mods.
- Fixed an issue where certain categories of audio mods would fail to apply immediately upon exiting the mod manager screen.
- Fixed an issue where custom map icons (if the map mod has them) were not displayed on the loading screen when starting a game.
- Mods can now specify only new or altered materials and textures via moddedmaterials.json without needing to override all materials in materials.json. Using moddedmaterials.json helps avoid broken UI in mods after a patch with updated widgetui atlases is released.
- Modifying the data file in data mods during the game session no longer causes the mod to fail to load and require a game relaunch. Data mods now automatically reload and reflect the applied data changes in game upon restart of single player or scenario test games.
- The inconvertibility of Wall, Gate, Farm, and Controlled Animal class units is no longer hardcoded; it is now applied to Wall, Gate, and Farm objects using the Hero Mode attribute’s cannot convert flag.
- WidgetUI Collections (screens, dialogs, panels), as well as Materials, now reload when activating or deactivating a mod that has them present, without having to relaunch the game. Among other things, this allows custom icons in data mods.
Scenario Editor
- Added a new scenario trigger effect allowing scenario designers to clear and dismiss active Decision UI panels.
- Added support for Disable Object Deletion to building foundations.
- Added support for Modify Attribute trigger effects that filter target objects using custom XS script functions.
- Fixed a crash occurring in the Scenario Editor when loading scenarios containing triggers with non-UTF-8 string encodings.
- Fixed an engine issue where the Create Object trigger effect could fail to spawn the full configured number of units.
- Fixed an issue where the Create Decision trigger effect failed to display when configured with Trigger Looping enabled.
- Light Cavalry and Hussars placed in the Scenario Editor now always have the Scout Cavalry unit class instead of Cavalry.
- Strings used within Scenarios are no longer constrained to being 65,534 characters long.
- The loading screen when restarting a scenario test no longer displays player and match settings information.
XS Scripting
Added new XS functions:
bool xsSetObjectName(int playerId, int objectId, string name)
void xsCreateDecision(int decisionId, int playerId, string text, string option1, string option2)
int xsGetDecisionChoice(int decisionId)
bool xsClearDecision(int decisionId)
int xsGetNumUnitsOnTile(vector v)
int xsGetUnitOnTile(vector v, int index)
int xsGetUnitsOnTile(vector v, int arrayId) // Returns an array of unit IDs
int bitLogRsh(int v1, int v2) // Logical right shift
- Improved the ord() and chr() XS functions to provide full support for Unicode characters.
- XS script files can now be included multiple times across scripts without causing compilation conflicts.
Localization
- Addressed translations and audio corrections across multiple supported languages.
- Fixed an issue where Chronicles cinematic cutscenes did not have localized voice over for players using Traditional Chinese. These players now hear the Simplified Chinese voice over instead.
- Fixed mismatching fonts in Polish that appeared for the “Battle for Greece” Grand Campaign title in the Chronicles campaign selection menu.