OSX Chateau

Why SimCity 4 Is One of the Most Moddable Games Ever

Image

SimCity 4 is one of the genre-defining games built by Maxis and released in 2003. The game still has an enormous player base, still receives transformational mods 23 years after release, and has communities like SimTropolis, SC4Evermore/SC4 Devotion which are still thriving focus on modding the game.

Typical game mods are usually simple additions like skins, textures, adding objects, tweaking some minor mechanics, or cheats that effect the user's gameplay. SimCity 4 has mods that overhaul the entire game, such as; transforming the fixed camera view into a 3d free-movement camera, multiplayer regions, overhauling zoning behaviour, automata, rewriting the traffic simulator, pathfinding etc.

3d Camera mod
3d Camera mod
Credit: Haljackey
Network addon mod
Network addon mod
Credit: sc4nam
SimMars
SimMars
Credit: SimMars
SC4 Plop and Paint
SC4 Plop and Paint
Credit: caspervg

Why is SimCity 4 so moddable?

It was partly by design, and mostly by accident and architecture that led to SC4 being so unusually customisable.

Several factors came together to allow this:

  • Maxis initially shipped development tools including Lot Editor, and Building Architect Tool (BAT).
    BAT let people create new buildings in 3ds Max, or GMax, which led to players adding thousands of custom buildings and lots.

  • Almost all game data lives outside the executable
    Maxis stored an enormous amount of game logic in external DAT files, rather than hardcoding it into the game executable.

    Things like the following are all data-driven:

    • Building properties

    • Transit network definitions

    • Zoning behavior

    • Exemplars (configuration objects)

    • Automata

    • Lots

    • Rewards

    • Simulation parameters

    When the modding community figured out the file formats they realised they could change almost everything without modifying the game executable.

  • The "Exemplar" system is incredibly flexible
    SC4 uses objects called Exemplars. As an example, a building would look like this:

    Building {
        Pollution = 15
        Jobs = 250
        GrowthStage = 6
        FireRisk = 18
    }

    Every object is mostly just a collection of properties, which the game loads at startup. If you override a property in a new DAT file, the game uses yours instead. That means mods wouldn't usually replace entire files, they would just override individual properties which is a very powerful design.

  • Package loading is additive

    The Plugins folder works in a similar way to most modern game mod loaders.


    For example, the game loads:

    • SimCity_1.dat

    • SimCity_2.dat

    • ...

    • Plugins/

    If multiple plugins/objects have the same IDs, the last loaded versions win which allows room for thousands of mods to exist alongside eachother.
    This is also much cleaner than games that require overwriting original assets.

  • The file formats were reverse engineered

    Maxis never documented everything, but the community on Simtropolis and SC4Devotion spent years reverse-engineering out the following:

    • DBPF archive format

    • Exemplars

    • RUL files

    • Path files

    • Textures

    • Transit mechanics

    Eventually tools like Reader, SC4Tool, iLive Reader, PIM-X were created by modders, and once these existed almost anyone could edit the game.

  • The game exposes many modifiable values

    Unlike many games where values are hard-coded constants like if (pollution > 100) { do this ...}, the values are stored externally in files outside of the SimCity 4 executable.

    For example:

    • Commute limits

    • Desirability

    • Pollution effects

    • Taxes

    • Growth rates

    • Wealth effects

    • etc.

    All of these can be tuned since they aren't hidden away in the game executable. That's why mods like the Network Addon Mod (NAM) could re-balance the entire game.

  • SimCity 4's RUL system is expoitable

    This is probably one of the greatest examples in SC4 modding, because many of the game's mechanics like roads, rails and highways are controlled by RUL (Rule) files.

    These rules tell the game:

    • When pieces connect

    • Which texture to use

    • How intersections behave

    • What paths vehicles use

    The modding community discovered they could write enormous new rule sets, and that's how mods like NAM added features such as draggable avenues, FLEX pieces, RHW (Real Highway), elevated rail, new intersections, roundabouts etc. NAM takse full advantage of the data that the game engine reads.

  • The renderer was asset-driven

    Buildings are mainly collections of FSH textures, S3D models and exemplars, and anyone could create new ones which made custom architecture surprisingly easy.

Was Maxis intending this?

Maxis fully intended on providing modding opportunities for the game, but not to this extent. Maxis provided official tools for modifiying:

  • Custom buildings

  • BAT creations

  • Custom lots

However, they probably weren't expecting modifications being made to:

  • Re-write the traffic simulator

  • Re-design the highway system

  • Change path-finding

  • Create new transportation networks

  • Reverse engineer DBPF

  • Patch the executable

  • Build hundreds of interconnected plugins

SimCity 4 still has an enormous player base, and it's longevity owes a lot to the talent of its modding community.

SimCity 4 (base game)
SimCity 4 (base game)
Credit: CheeseJuust
SimCity 4 (with mods)
SimCity 4 (with mods)
Credit: bhmantan

Why don't more games end up like this?

Many modern games aren't as open to deep modding because they have:

  • Gameplay logic compiled into native code rather than external data

  • Multiplayer and anti-cheat concerns that discourage modding

  • Complex engines that are harder to reverse engineer

  • Frequent updates that break mods

Ironically the majority of new games use highly data-driven engines internally, but the data is packaged, encrypted, or validated in ways that make community editing much harder than SC4's open approach.

Image

Credit: mitsos

The perfect storm for modding

SimCity 4 hit a rare sweet spot. It was built with a massively data-driven architecture to support content creation and tuning, shipped with official creation tools, loaded assets in an override-friendly way, and contained enough interconnected systems to give modders endless room for experimentation and expansion.

This gave SimCity 4's dedicated community decades of opportunities to uncover and extend the game’s capabilities, which is why more than 20 years later it's still receiving transformational mods rather than just cosmetic additions.

Post a Comment