A total conversion mod for Europa Universalis V that brings the game's start date back to 867 AD. The mod completely overhauls the map, countries, cultures, and religions to accurately reflect the historical period. Currently, the Scandinavian region (Norway, Sweden, Denmark, Sapmi, Finland, etc.) is fully playable.
During the development of this mod, several technical engine-level challenges were encountered and successfully resolved:
- Jomini Parser BOM Issue: Identified and fixed a critical bug where Paradox's Jomini script parser would fail to read UTF-8 BOM (Byte Order Mark) files. Instead of failing silently, it caused fatal "Unexpected token" crashes during the game's setup phase.
- Override Mechanics Reverse Engineering: By analyzing a successful total conversion mod (Bronze Age TC), the undocumented Paradox modding mechanic of "same file name = complete vanilla override (not merged)" was reverse-engineered and safely implemented.
- Custom Validation Tool: Developed a custom, dependency-free Python validation script (
867_mod_validator.py) to automatically catch recurring modding errors (BOM presence, duplicate keys, undefined references, missing localization) before launching the game.
EU5_867_MODDING_GUIDE.md— A comprehensive developer handbook detailing the lessons learned during development, engine quirks, and step-by-step procedures for adding new content.867_mod_validator.py— A command-line tool that acts as both a strict linter (for BOM, duplicate-key, and undefined reference checks) and a scaffold generator for safely creating new countries, cultures, religions, and ages.
- Core engine-level bugs resolved and Scandinavia region fully playable (proof of concept).
- Active development is currently paused as I've shifted focus to C++ / Unreal Engine projects.