Skip to main content
This guide covers how to create progression trees using the Civilization VII TypeScript Modding Tools.

Understanding Progression Trees

Progression Trees represent technology or civic advancement paths in Civilization VII. They allow players to unlock new capabilities, units, buildings, and other gameplay elements as they progress through the game. Examples include technology trees and civic trees.

Basic Progression Tree Creation

Creating a progression tree involves several steps:
  1. Create the individual tree nodes (technologies/civics)
  2. Define the benefits for each node
  3. Set up the prerequisites between nodes
  4. Create the progression tree itself
  5. Bind the nodes to the tree
Here’s a complete example:

Key Components of Progression Trees

When creating progression trees, these are the essential components:
  1. Tree Type: The overall category of the tree (civics, technology, etc.)
  2. Nodes: Individual elements in the tree that can be researched or unlocked
  3. Prerequisites: Relationships between nodes that define the progression path
  4. Modifiers: Benefits or effects that are unlocked when a node is completed
  5. Advisories: Categories that help classify and organize nodes
  6. Age Association: The age in which the tree and its nodes are available

Creating Complex Progression Trees

For more complex trees with multiple branches and nodes:

Unlockable Content

One of the primary purposes of progression trees is to unlock content when nodes are completed:

Age-Specific Progression Trees

Create progression trees that are specific to certain Ages:

Progression Tree Visualization

While the TypeScript tools primarily define the data structures, you can provide hints for how nodes should be visualized in-game:

Best Practices

When creating progression trees, keep these best practices in mind:
  1. Logical Progression: Ensure the tree has a logical flow and progression
  2. Balance Research Costs: Consider the time investment for different paths
  3. Clear Prerequisites: Make the dependency between nodes clear and intuitive
  4. Meaningful Unlocks: Each node should provide meaningful benefits
  5. Consistent Naming: Use consistent naming conventions for nodes
  6. Age Appropriateness: Ensure content fits historically with its age
  7. Branching Options: Provide meaningful choice through multiple branches
  8. Visual Layout: Consider how the tree will be visualized in-game

Conclusion

Progression Trees are a powerful way to create advancement paths for players. By designing thoughtful trees with meaningful unlocks, you can guide player progression and provide engaging gameplay choices throughout the different Ages of Civilization VII.