Golden Age

A modern RTS engine built for AoE2

Free and independently developed using Godot 4.

A monk posting a manuscript on a church door

Features

Gameplay

Better Pathfinding

AoE2's pathfinding problems run deeper than spaghetti code. Many of its shortcomings stem from fundamental design decisions made by the original developers, who were constrained by the CPU and networking limitations of the late 1990s. These constraints are documented in Matt Pritchard's technical retrospective on AoE2's performance and Dave Pottinger's article on coordinated unit movement.

Its reliance on complex collision avoidance rules and unit blocking creates an almost infinite number of edge cases. This helps explain why successive patches can improve pathfinding in some situations while making it worse in others. The underlying systems are so interconnected that changes intended to fix one problem can inadvertently introduce new ones elsewhere.

Golden Age addresses the underlying causes of these problems rather than treating their symptoms. By eliminating unnecessary unit blocking, simplifying movement interactions, and relying more on reservation systems where spacing is actually necessary, Golden Age aims to accomplish what AoE2's collision avoidance systems were originally designed to achieve: keeping units appropriately separated, but without compromising pathfinding efficiency, movement responsiveness, or the precise individual unit control that makes AoE2 unique.

When there are no obstacles between a unit and its destination, it should move directly toward that destination without relying on grid-based pathfinding. When obstacles are present, units should take the shortest route, cutting corners rather than following rigid grid-based paths. The goal is simple: units should move efficiently, predictably, and responsively.

Situational Collision

Limited Army-to-Army Collision

Army blocking introduces more gameplay problems than it solves. Surrounding an enemy army with melee units already provides a significant advantage: more units can attack simultaneously, and the surrounded army has difficulty retreating without taking damage. Adding physical blocking compounds this advantage, turning engagements into all-or-nothing fights and ultimately makes games more snowbally. Additionally, physical army blocking does not work in most unit matchups, such as cavalry archers running away from skirmishers or knights and camels running away from pikemen.

The strategic benefits of army-to-army blocking are situational, while its negative effects on movement and pathfinding are universal. Enemy units become moving obstacles that force constant adjustments, causing units to get stuck, take unnecessary detours, or ignore direct movement commands. This is particularly problematic for melee units, which depend on mobility to reach their targets. Removing army-to-army collision could make melee units stronger and more responsive, even against concentrations of ranged units.

A better way to balance ranged units against melee is to adjust how closely ranged units can stand together. Increasing their minimum spacing exposes more surface area to melee attacks, while decreasing it makes ranged formations more compact and defensible. This provides a direct balancing mechanism without compromising collision or pathfinding systems.

Melee units should also be able to penetrate enemy formations during patrol and attack-move commands. Rather than stopping at the enemy front line while units on the flanks awkwardly maneuver around it, melee armies should push through enemy ranks, attacking as they advance. This creates more fluid and realistic combat, gives melee units more opportunities to attack, and helps offset their inherent disadvantage against ranged units, which can deal damage regardless of physical positioning.

Opportunistic Collision

Collision should remain where it adds strategic depth and be removed where it unnecessarily interferes with movement. Blocking enemy villagers with Dark Age or Feudal Age military units, like Scouts, is one example worth preserving: it rewards awareness and micro.

Preserving that tactical value doesn't necessarily mean preserving the Genie engine's mechanics. Spam-clicking move commands to squeeze past enemy military is goofy and unintuitive. Temporarily slowing villagers after melee hits could be a better solution if high-level testing shows they're too slippery without blocking.

That said, melee pathing in GA is so fluid that physical blocking in any form may no longer be necessary. This is something high-level players will need to experience first-hand to believe, but everything fundamentally changes when move commands execute responsively and consistently.

No Patrol Stacking

When stacking units through patrol and stand ground becomes the optimal play, it diminishes the strategic importance of positioning melee units.

Patrol stacking emerges from the interaction between military stances and movement commands. This is truly emergent behavior rather than something intentional in AoE2 because the same behavior appeared in Golden Age despite its entirely separate, from-scratch implementation of these systems. Golden Age prevents it by forcing units into aggressive stance during patrol and attack-move commands. The solution is simple, yet effective.

Predictable Unit Grouping

DE uses inconsistent rules for grouping units of different movement speeds. For example, when units of different types are selected far apart and given a movement command, they travel independently at their maximum speeds.

Watch units moving independently in DE (good).

However, when those same units are selected close together, they regroup and move only as fast as the slowest member. Behaviors like these make movement difficult to predict and produce confusing outcomes in competitive play.

Watch nearby units regrouping in DE (bad).

Golden Age uses one universal rule: units always move toward their destination at their maximum available speed. Units naturally fall into formation during movement and upon reaching their destination, regardless of how close together they were when selected. This eliminates arbitrary grouping rules and makes unit movement more predictable and responsive.

Less RNG

No Laming

Laming creates disproportionately large advantages, particularly at the highest levels of competitive play. While it requires some skill to execute, its success is heavily influenced by random factors, including scouting direction and the location of boars. The resulting economic swing is enormous relative to the skill involved. It also fosters bad sportsmanship between players.

Removing laming reduces early-game volatility and places greater emphasis on efficient dark age execution and strategy.

No Monk Conversion RNG

There is no good strategic justification for making monk conversion times random. Conversions can produce enormous swings in military value, particularly when converting expensive units. Allowing those outcomes to depend on chance introduces unnecessary volatility into otherwise skill-based engagements.

Conversion timing should instead follow predictable rules that players can learn, anticipate, and play around. This preserves monk micro and counterplay while removing randomness from conversion timing.

No Predators

Predator Gaia units cannot be practically scouted and add no strategic depth to the game. In fact, predators replace strategic depth with RNG and actively discourage Dark Age aggression. Predators should remain on maps as ambience, or potentially sources of high-risk food, but they should not auto-attack units.

Hide Player Scores

Player scores reveal information that should be obtained through scouting and observation. Experienced players use score changes to infer economic development, military activity, age-up timings, and other strategic decisions without actually seeing them. This undermines the importance of information gathering, which is a fundamental part of RTS gameplay.

Removing visible opponent scores rewards active scouting, map awareness, and strategic deduction rather than relying on an abstract numerical indicator.

Gameplay Quality of Life

No Elevation Restrictions on Building Placement

No restrictions on building and TC placement over elevation. This makes the ability to expand economically more of a strategic decision, less influenced by map RNG.

Patrol and Attack-Move Targeting

Patrol and attack-move are directional: units seek targets in the forward-facing 180-degree arc, toward the location you clicked. This prevents units from counterintuitively running backward to engage enemies behind them just because they are within aggro range.

Patrol and attack-move no longer prioritize buildings, except for Rams, Trebuchets, and Bombard Cannons. Rams, Siege Elephants and Trebuchets prioritize buildings during attack-move and patrol. Mangonel-line units, which have strong utility against both units and buildings, have no attack priority and simply attack the closest target.

Confirm Cancel Age

Canceling an age-up should require confirmation so a single accidental click can't lose you the game.

Visible Hidden Bonuses

Food gather rates, and unit bonuses should be shown clearly in the UI instead of requiring players to memorize hidden modifiers or check outside references.

Better Input Hitboxes

Tree hitboxes more closely match what players click. Farms should not be attackable. The mechanic has little gameplay impact but creates UX problems, especially for newer players who do not know to alt-click move commands over farms.

Exact Flares

Flares should mark the exact location on the main map, not only the minimap, so teammates can identify the intended tile or area.

Visible Command Paths

Attack-move and rally commands should show their paths in the world and on the minimap, making command intent easier to verify.

Smarter Villagers

Smarter Builder Behavior

Villagers should not idle, shuffle, or walk back and forth around foundations when assigned to build. For connected walls and buildings, builders should prefer to stay on the same side of the wall so they do not path through gaps or around the structure unnecessarily.

Mining Positions Near Camps

When ordered to mine a stone or gold tile, villagers should use the side of the tile closest to the mining camp to minimize travel when dropping off resources.

No Worker-to-Worker Collision

Economic efficiency should depend on predictable mechanics: minimizing travel distances to drop-off points, researching economic upgrades, and keeping the TC from going idle. These mechanics are understandable, learnable, and reward mechanical skill.

Worker collision, on the other hand, introduces unnecessary unpredictability. Villagers bumping into one another, getting stuck, or taking inefficient routes creates economic inefficiencies that are difficult to anticipate or control. Removing worker-to-worker collision makes economic management more consistent without eliminating the skill involved in optimizing an economy.

Removing worker collision does not mean workers stack on resources, or stack while fighting. Villagers should continue to not stack, but this can be accomplished without a complicated stop-and-go avoidance system. A strong reservation system assigns workers individual positions around resources or targets, preventing them from occupying the same space without requiring physical collision.

Reservation systems for combat, and villager collection should carry more of the load while pathfinding and collision should carry less. Consistent behavior requires this separation of responsibilities.

Map Design Philosophy

One of AoE2's most unique and defining characteristics is its concept of random maps. A random map isn't really a map in the traditional sense. Scenarios are the closest thing in Age of Empires to traditional maps. But RMs are sets of rules determining random distributions of resources, forests, elevation, and other terrain features. RMs aren't maps at all, they can more accurately be described as patterns used to generate maps.

This distinction is important because the gameplay characteristics of a random map and its visual identity are two separate things, and DE's map design has sometimes blurred the lines between them. For example, Arabia can generate in a variety of environments, including deserts, tropical jungles, and temperate forests. Although these aesthetic differences have little bearing on how the map actually plays, they dilute the identity of one of AoE2's most iconic maps. At the same time, there are awkward distinctions between maps like Arabia and Desert Arabia. Desert Arabia has a distinct open-map identity and a consistent desert aesthetic, while standard Arabia features thicker, more easily wallable woodlines, but can generate in a wide variety of environmental themes, including ones with bamboo and tropical forests.

Golden Age's philosophy is simple: every map should have its own distinct visual identity and a clearly defined gameplay identity. And generally, gameplay differences should coincide with aesthetic differences. Arabia will always be a desert. It will also remain the quintessential open land map, with sparse forests, exposed resources, and an emphasis on mobility and early aggression. Rather than introducing substantially different gameplay variations under the Arabia name, Golden Age gives those variations identities of their own, with distinct visual themes that help reinforce their individuality. For example, Bosque is a new map inspired by Arabia, but features thicker, more easily wallable woodlines, making it more defensible. It also features an autumnal setting, giving it a distinct visual identity to complement its gameplay differences. Bosque occupies its own place, both visually and on the gameplay spectrum between open and closed maps.

Map Categories

Golden Age organizes maps into three broad categories:

  • Open Maps: Arabia, African Clearing, Land Nomad. Maps that emphasize mobility, map control, and early aggression.
  • Closed Maps: Arena, Fortress, Glade, Dark Forest. Maps with natural barriers, dense forests, or starting fortifications that encourage less early aggression but more strategic long-term thinking.
  • Water Maps: Maps where naval control and access to water resources play a significant strategic role.

With Golden Age's matchmaker, players can pick and choose not only entire map styles they want to play, but also enable or disable individual maps within those categories. For most players, this will be preferable over a ban sytem, and will result in less early leavers, and more quality games on maps people prefer to play on.

Water Rework

Water maps have long been a contentious subject in the AoE2 community, but the biggest reason water feels bad to play is often obscured by a multitude of smaller issues. Boring naval combat is a smaller issue. The more fundamental issue lies in the economic impact of fishing ships and how dramatically they alter the game's natural pacing.

The natural pace of an AoE game isn't much different from the pacing of any good story. Things start out slowly, tension builds, and the stakes gradually escalate. There may be small confrontations early in the game, followed by quieter periods of recovery and preparation. The midgame introduces increasingly consequential decisions and confrontations, and the late game brings the full scale of the conflict into play usually ending in a big battle and dramatic conclusion. This progression is part of what makes AoE2 so compelling.

Water maps compress this story and its pacing because Fishing Ships push the economy ahead before the early game has had time to unfold. Building a Dock and producing Fishing Ships in the Dark Age is effectively like being able to build a cheap additional Town Center. This would be unthinkable on land maps, yet it's a defining feature of water gameplay. The resulting influx of resources dramatically accelerates the natural pacing of the game.

The other Problems with Water Gameplay

  • Excessive mechanical demands: Managing fishing ships and naval combat adds another layer of micromanagement to a game that is already among the most mechanically demanding RTS games. Mechanical complexity isn't inherently good. Beyond a certain point, it competes with strategic decision-making and leaves less room for other aspects of gameplay.
  • One-dimensional combat: Naval combat lacks much of the depth found on land. There are fewer meaningful unit types, fewer opportunities for scouting and maneuvering, limited retreat mechanics, and less potential for creative micro. Not to mention, no bonus/defense damage for higher elevation. Many of the mechanics that make land combat interesting are heavily diluted at sea.

The Underlying Problem

Of the three issues, the economic impact of Fishing Ships is the most consequential because its far-reaching economic effects also interfere with normal land play. Fishing Ships are so economically powerful that investing in water becomes mandatory rather than a meaningful strategic choice. The usual risk/reward calculation of economic expansion is absent. In fact, allowing players to construct an additional Town Center in the Dark Age would arguably be more balanced, since that investment would at least have a risk/reward aspect. Instead, players are compelled to invest in naval infrastructure, not because naval combat is particularly interesting, but because losing access to fishing can create an overwhelming economic disadvantage.

Economic expansion in AoE2 is exponential by nature. Outside pressures, such as the need to invest in military and defense, are what keep the pacing feeling more linear than exponential (linear, like a story). This is why simply increasing the cost of Fishing Ships doesn't solve the underlying problem. Adding a fixed upfront cost to something that generates compounding economic returns merely delays the payoff without fundamentally changing the incentive. Once that initial investment is recovered, the same economic imbalance takes hold. Half measures like increasing Fishing Ship costs may slow the acceleration, but they don't address the underlying mechanic that causes it.

The best solution is to remove Fishing Ships entirely. Without the enormous economic incentive of fishing, naval gameplay becomes a strategic option rather than an obligation. Players can invest in warships to control waterways, secure chokepoints or protect coastlines. Transport Ships create opportunities for land aggression, flanking, and unexpected attacks. With fishing ships in the picture, water military units are generally created for one sole purpose: defend your fishing ships, and attack enemy fishing ships. Without fishing ships, the doors open to a much larger variety of water strats.

Water maps will need to be designed specifically to foster this kind of gameplay, which is the design intent behind "Straits," a new map in Golden Age. If Straits works as a fun map in competitive games, it opens the door to an entirely new class of maps, and water maps become respected and viable in competitive play.

Engine & QoL

Native Mac & Linux Support

Golden Age aims to support native macOS and Linux builds alongside Windows, with full cross-platform multiplayer. Godot's cross-platform architecture makes this considerably easier to achieve by providing a shared codebase and consistent engine interfaces across operating systems. Unlike the legacy Genie engine, with its decades of platform-specific dependencies and challenges with cross-platform simulation determinism, Golden Age is designed from the ground up with these considerations in mind, making it easier to maintain consistent simulation behavior across operating systems and CPU architectures.

Overhauled Netcode

Golden Age’s networking is designed to eliminate familiar AoE2 problems: out-of-sync errors, matches slowing down to the slowest player’s connection, and unresponsive commands during network lag. The goal is consistent game speed and responsive controls, even when connection quality varies between players.

Modern UI

Golden Age uses a modern menu interface built with embedded web technologies (React) for menus, lobby browsing, queueing, and related out-of-game flows.

Unified UI

Everything you need is accessed within a single app: the game itself, replays, leaderboards, player stats, match history, custom games, the map generator, and more. You can review a match, check your progress, view your opponent's stats, and get into your next game without switching between applications or searching external websites.

Better Countdown Screen

During the final game countdown, see your civilization and its bonuses alongside your opponent's civilization and bonuses. This is especially helpful for random matchups, giving you time to review both civilizations before the game begins.

Content Creator Integrations

Golden Age includes integrations for streamers and content creators, including showing top AoE2 live streams in the main menu, and a planned feature for video of the day at the home screen. Players find creators they enjoy, creators grow their audiences, and their content brings more people into the game.

Better Custom Lobby Browsing

Custom lobby browsing should be less buggy, easier to filter, and easier to manage. Hosts can set minimum and maximum Elo requirements for a room, and players can use more filters and quality-of-life controls to find the right lobby faster.

Replays

Replays in Golden Age are accessed in-app, without third-party tools, making the experience more seamless. Watching a replay is as easy as going into your match history tab and clicking the replay button. No need to open another application.

You'll find most of the conventions you're used to in CaptureAge, without the hassle of switching between two applications.

Visual Improvements

Skeletons

Dead units can leave skeletons behind like original AoE2.

Animated Trees

Trees can animate and sway, making maps feel less static without changing core gameplay.

Instant Camera Zoom

The camera zooms instantly, without easing, for more responsive control. Instant camera zoom is not currently an option in DE. Camera movement also has no easing.

Texture Smoothing Options

Players can toggle smoothing off for units and ground textures for a sharper, crisper look closer to the original game's aesthetic.

Terrain Flattening

Building and wall placement holes are hard to spot in 2.5D elevation, even for experienced players. They also make walling and camp placement harder than they need to be.

Golden Age solves this by flattening the world during building placement and showing a clear 2D grid so open tiles and wall gaps are visible.

Map Generator

DE's Scenario Editor is built for making individual maps by hand. Golden Age's map generator offers over 100 options for creating and customizing Random Map Scripts without writing code.

This matters for multiplayer because competitive map pools revolve around random maps, not hand-authored scenarios.

Auto Start

For civilizations with standard starts (i.e. not Chinese), Auto Start is an optional opening helper where villagers perform the initial start actions automatically: three villagers build houses, a villager is queued, and the remaining villagers go to food.

These repetitive opening tasks add little meaningful decision-making, but require players to react the instant the loading screen disappears. It’s an awkward reflex test before the match has really begun, where differences in loading times and network conditions can put players behind before they’ve even had a chance to act.

Better Army Control

Unit Type Buttons and Hotkeys

A row of unit type icons will show a live count for each unit type you have alive. If you have 10 Pikemen and 10 Camels, each type gets its own icon showing 10. Icons appear automatically when you gain a unit type and disappear when its last unit dies.

Each slot has its own hotkey. Drag and drop the icons during a match to change which unit type occupies each hotkey slot. The hotkey bindings for the slots can be changed in Settings.

This feature is designed to make it easier to control and micro armies of multiple unit types.

Custom Formations

Golden Age can support more unit formations, including custom formations and a no-formation mode. No formation means units move independently of each other at their maximum available speed instead of slowing down to preserve a grouped shape.

Overlapping Control Groups

Units can belong to multiple control groups, making it easier to manage shared army subsets without constantly rebuilding hotkeys.

Higher Selection Limits

The 60 unit selection limit will be uncapped.

Online Play

Friends, Messages, and Statuses

The Social tab lets players add friends, send direct messages, and see whether players are in-game, idle, looking for a match, or offline.

Party System

Parties have dedicated party chat, and the party leader controls queuing. Parties stay together after each game instead of automatically disbanding.

Player Stats & Match History

Golden Age includes built-in player stats and match history. Browse other players' profiles, view Elo progression over time, and check stats like peak RM rating and seasonal records, all within the app.

Fairer Matchmaking

Anti-Smurf Protection

Matchmaking rejects accounts using Family Sharing and uses additional algorithms and heuristics to guard against smurfing.

Computer Takeover for Disconnected Teammates

When a player disconnects or leaves a team game, the computer automatically assumes control of their civilization. While the computer cannot fully replace a human teammate, it continues managing the economy, producing units, and participating in combat. This gives the remaining players a chance to continue a competitive match rather than having the game decided by a single disconnection.

More Matchmaking Options

Improved Map Pool

Golden Age lets you choose exactly which maps you want to play.

Maps are organized into clearer categories, including open land maps (Arabia-likes), closed land maps (Arena-likes), and water maps. Enable any combination of categories, then turn individual maps within each category on or off to make your own selection.

Players who enjoy less popular maps will be able to queue for them, although finding others with the same preferences may take longer. Choosing a wider selection will give matchmaking more opportunities to find a game. You won’t be put on a map you don’t want to play, and neither will your opponent. That means fewer games ending in an instant resignation over the map.

Classic Mode

Classic Mode lets players queue using only civilizations from Age of Kings and The Conquerors. Compatible civilization picks, Mirror, and Random searches can match together.

Civilization Bans for Random Play

Players can ban up to five civilizations. If both players choose random, neither player's banned civilizations can be rolled. Bans can also be set by map style, such as Byzantines on Arena-like maps or Mongols on Arabia-like maps.

Weekly Unranked Queues

Weekly just-for-fun queues can feature community favorites such as RF, FFA Nomad, and FFA Arena. Players vote on upcoming queues, and the most popular modes are chosen for each rotation.

FFA games in particular have never really had their chance to shine, and have always been relegated to isolated and sporadic custom lobbies. But FFA naturally mitigates some of the biggest problems with RTS matchmaking. The unpredictability of map RNG, diplomacy and shifting alliances are fun social aspects not possible in 1v1 or TvT. They also make differences in player skill factor less. In addition, early resignations don't ruin the experience for everyone else the way they can in team games.

With dedicated matchmaking, FFA could become a genuinely casual multiplayer experience, one where players can jump in without worrying about Elo or pressure from teammates, enjoy the social side of AoE2, and gradually build the confidence to try competitive 1v1s and team games. It could be the perfect gateway into multiplayer for players who would otherwise never venture beyond single-player.

Leagues and Seasons

League Titles and Divisions

Players compete in Grand Master, Master, Diamond, Platinum, and other leagues, with further breakdowns into Divisions I, II, and III.

Seasonal Resets

At the end of each season (lasting 3 months), all Grand Masters have their Elo reset to the bottom of the Grand Master Elo bracket (2200 Elo).

During the season, they must compete for a seasonal personal best. When the season ends, their seasonal PB is registered as their final score for the season.

This gives high-level players ongoing motivation to compete for ladder placements. Seasonal ranks go on their permanent record like achievements and can be used for tourney qualifiers.

Automated Tournaments

Create a tournament and let Golden Age handle registration, seeding, lobby setup, result verification, and bracket advancement, removing the usual administrative overhead.

Back to top