top of page

Millennia

My Role

  • Implemented content for ages, national spirits, governments, factions, tile improvements, and more leading up to launch.
  • Designed and implemented a weights system for Ai players to track goals according to their decisions within game.
  • Balanced complex economies within the game for both human and Ai players.
  • Designed new content base game and both DLCs.
Tech.png

Game Summary

Millennia is a turn based 4X strategy game for PC where players take a unique journey through alternate sets of history, shape what their nation is known for, and engage in deep economy systems.
Engine:
Platform:
Unity 2019.4.4.0f1
PC
Development Time:
1.5 years
Team Size:
18 team members

Initial Concept

Age2_Bronze_3840x2160.png
Random2.png
Iteration
The concept for the game is a spin on Civilization except alternate history. Players make decisions within the course of the game and that will affect them for the rest of their playthrough. The game tries to answer a number of things Civ fans have disliked for years such as having ways to end a playthrough early, customizing your chosen nation through actions taken rather than a predetermined choice, and a more in depth tile economy with a goods system.

Design Goals

Balance Large Opaque Systems

I joined this team in the middle of intense development to help get the game across the finish line. My central goal was to make positive additions to the core of the game through additive systems and black-box style balancing.

New Systems Add Depth

During production of the game's DLCs I had the opportunity to design new content. I wanted to make it a priority that anything I added would neatly work with the preexisting structures of the base game.

Balance Large Opaque Systems

Economy Design

There was a lot of design work that went into the economy of the game. I wouldn't be able to show every problem with a culture power, technology, tile improvement, or good that I was tasked with solving.

Some of the more interesting problems I tackled when looking at resources within the game were ensuring Region Count had soft limits based on culture upkeep. I tracked Ai & human player's average culture values per age and set an upkeep value that would be affected by an exponential exponent. That way we could ensure big culture spikes at certain gameplay ages and balance ages around an intended region count.


Another issue I ran into during development was that culture powers felt outclassed by the Eureka ability to discover a random technology. Players would rush culture, then discover technologies faster than players who rushed knowledge buildings. To fix this I added a negative modifier to the Eureka power each time it's use within an age. However, once the next age triggers Eureka will scale back to it's original value, then increase to an age-appropriate amount of knowledge. This greatly improved the play experience as now all players tended to use their first culture power on the Eureka ability, but then use other powers after the scaling took effect. Now players were summoning armies and founding religions within an age when previously they were spamming constant Eurekas.
RegionCountCultureUpkeep.png
BeijingLate.jpg
EurekaModel.png

Dynamic Weighted Ai Goals

Another problem that arose during development was that Ai players would unlock things and never use them or use them ineffectively. For instance, during the Age of Ignorance technology costs are dramatically increased, however, players can lower tech prices with specially granted domain powers using domain XP.

This worked great for human players, but for Ai players they never used these powers. The powers didn't grant a unit or resource directly so the Ai never used it and researched the techs directly. Players who entered the Age of Ignorance would leave the Ai behind in the tech race forever due to this.

I instituted a system of dynamically weighted Ai goal cards in XML. (A lot of the game's data structure was contained within XML and structured as "cards" that designers "played")


This worked so well I ended up making lots of these cards that would add and subtract weights to an Ai player's actions based on the circumstances of their game. If they unlocked the Shogunate I weighed building Samurai more heavily, if they were a Democracy I using the Town Hall power more heavily, etc.
Ignorance.jpg
Weights.png

New Designs Add Depth

Messengers

During the first DLC, Ancient Worlds, I helped design part of the Messengers national spirit. One of the unlockable skills, Domesticated Camelids, replaces a yield from a tile improvement for the rest of the game. Since this was a DLC we wanted to do something more impactful and this kind of buff had never been done before this.

Replacing that Exploration XP yield with a Diplomacy XP yield would have effects on the rest of the player's game. Additionally, the spirit had an innovation card which would add Engineering XP. Both of these combined enabled the Messengers to make use of outposts very early on in gameplay. Messengers also colonized vassals to convert them to the specialized Tambo outposts. All of these resulted in an early game NS that played like none of the others, but reused content from the game's preexisting systems and created a different play experience.
Messengers.png

Age of Atom

I had complete control over the design and visual direction for the Age of Atom within the game's second DLC Atomic Ambitions. I pitched an alternate industrial revolution based on nuclear energy. The age contains a network status mechanic which needs to be carefully monitored between turns, overloading the network status can cause a meltdown in game causing all tiles with network heat to become ruined and gain nuclear radiation. The trade off is the new nuclear towns and fission reactors provide much more power than the coal-based alternatives within the normal age. Additionally a lot of the visual style is inspired by Disney world's land of tomorrow and futurism aesthetic which I pushed for heavily.
AgeofAtom1.png
AgeOfAtom2.png

Postmortem

What Went Well

  • This was the largest game I've shipped to date with the highest volume of content.
  • Some of the player's nicest compliments for the game are how deep the systems within it are and how it's fun to play even if it's visually unappealing.

What Went Wrong

  • There's an overreliance on text within the game to explain mechanics.
  • The game's late game tends to drag as the player is burdened with managing too many regions, units, etc. This was a problem in Civilization we were not able to solve in this game.

What I Learned

  • I learned the importance of planning file and code structure. The Ai goals xml deck ended up very disorganized.
  • When possible think about data driving a mechanic. Data empowered the design team to craft a lot of content for this game.
bottom of page