Anno 117: Calculator banner

Anno 117: Calculator

6 devlogs
10h 33m 38s

Updated Project: Fully revamped the system before the release of Anno 117: Pax Romana's first DLC "Prophecies of Ash". I do this, because my previous code is quite a mess and i feel its time to clean up and add useful new features to the applicati…

Updated Project: Fully revamped the system before the release of Anno 117: Pax Romana’s first DLC “Prophecies of Ash”. I do this, because my previous code is quite a mess and i feel its time to clean up and add useful new features to the application.
This free Anno 117 production calculator helps you plan and optimize production chains. Calculate building requirements, view production times, and visualize dependency graphs for all goods in Anno 117: Pax Romana. Perfect for planning your empire’s economy and maximizing efficiency.

This project uses AI

Github Copilot has been used for assistance, especially to extract the Game Files in Python (after i figured out the schema myself)

Demo Repository

Loading README...

jonas.gaden

Shipped this project!

Hours: 10.56
Cookies: 🍪 195
Multiplier: 18.5 cookies/hr

I merged the typescript branch and pushed to production. With the items implemented my work for this stage is done

jonas.gaden

This is a major overhaul of the GUI, i removed the previous Input and Output area to introduce the new Modifier Settings. Within this panel, users can view and adjust active toggles, modify production rates, and apply modifiers directly. These controls allow users to customize the calculator’s behavior and adjust production parameters. Tooltips and metadata containers provide contextual information, enhancing the user experience by explaining settings and options as needed.
With the items now fully implemented, it was time to give the design a updated look. I did other minor changes to the style, but only small details

Attachment
0
jonas.gaden

I lost my mind on extracting the items from the game files using the help of the assets-extractor tool, which provides an XML Schema as a python notebook. Note that the XML data is very well structured, but no suited for extracting and merging data as an JSON file. Essentially I queried up to 30 XML files in order to create one useful JSON file. Building the notebook took way to long, but as i am not familiar with Python, i had no choice.

I even realized there was an Developer Mode item, which boosts production chains by 999%.

Attachment
0
jonas.gaden

I successfully implemented the abstract Production Modifiers. This helps enormously with the future implementation of effects other than the Aqueducts. I have still to figure somethings out, but i will get there eventually.

Attachment
0
jonas.gaden

I fully merged the old javascript logic into the new typescript logic. Now i will move over to make the system more modular, to add item support for example. Currently i am still facing an issue, where the inputs would use their ID and not their display name in the graph. I also further improved my devtools, where the dev server would now generate a simple DIR overview if a dictionary is requested instead of 404

Attachment
0
jonas.gaden

Before getting started on the actual revamp, i chose to improve my devtools. I merged all previous devtools into a single TS file, which now triggers using flags “–dev” and “–build”. If none of those flags is provided , just the recipe list is rebuilt. This update lays the ground for quick and efficient debugging and building. Using pre-commit, a build is now created automatically when commiting to the repo.

Attachment
0
jonas.gaden

Whats the current state?

The calculator has been first developed with the release of Anno 117: Pax Romana on November 11, 2025.
It helps users to plan and layout their production chains for the game which can get crazy and complex pretty fast.

On November 28, 2025 the calculator was featured by Ubisoft in their offical blogbost on Anno Union, the offical homepage for the anno series. => https://www.anno-union.com/union-update-useful-community-tools/

Attachment
Attachment
0