Case study
OpenSC4: an early open-source reimplementation of SimCity 4
Reimplements SimCity 4 as a Godot project in GDScript that reads DBPF archives, region folders and city saves from the user’s own SimCity 4 installation. The code draws a region view with city thumbnails and interface elements built from the game’s UI definitions, opens a saved city’s terrain and water in 3D, and includes a DAT explorer for previewing archive subfiles. It is an early, inactive engine case without simulation gameplay, not a playable replacement.
Requirements & limits
- The reviewed main snapshot (2024-03-29) only added a README and a Discord invite; the last code change dates from 2023-02-17, and the repository has no releases or tags. README describes an open source “clone” meant to use modern hardware and run on other platforms. The code covers DBPF parsing, a region view for the hard-coded Timbuktu region, a city terrain view and the DAT explorer, with no zoning, budget or growth simulation; the reviewed files do not describe how SimCity 4 was analysed.
- Needs the user’s own SimCity 4 installation: the boot screen asks for its folder and checks for SimCity 4.ini, Sound.dat, Intro.dat, SimCity_1.dat to SimCity_5.dat and EP1.dat, then reads .sc4 city saves, config.bmp and region music from that folder. .gitignore excludes SimCity 4 data, although the tree contains a “Graphics Rules.sgr.backup” text file whose header says SC4Launcher generated it.
- Runs from source in the Godot editor: README’s setup is to install Godot, import the cloned project and run it, without naming a version. project.godot uses config_version 4 and the scripts call Godot 3 APIs such as yield and Directory; no export presets or packaged builds are provided.
- The repository has no tests or CI workflows and publishes no comparison with SimCity 4’s behaviour or output; this collection did not run the project.
- GitHub detects no license and the tree has no license file; nine GDScript files carry AGPL-3.0-or-later headers for “The OpenSC4 contributors” (2023), and utils/logger.gd is MIT-licensed code from KOBUGE Games’ godot-logger. SimCity 4 and its data keep their owners’ rights. The reviewed sources establish no REA or AI use.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- BootScreen.gd GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- Region.gd GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- CityView/CityScene/City.gd GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- DATExplorer/SubfilePreview.gd GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- addons/dbpf GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- project.godot GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- .gitignore GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- Core.gd GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
- utils/logger.gd GitHub · OpenSC4-org/OpenSC4 · Revision fdc90c3
More in Games
- R.E.L.I.V.E.: an Oddworld Abe’s Oddysee and Abe’s Exoddus engine reimplementation · Case study
- Age of Empires Free Software Remake: a re-implementation on the original data · Case study
- God of War PS2 static recompilation: a native Windows port via PS2Recomp · Case study
- RaceWave46: an AI-assisted Wave Race 64 recompilation for Windows · Case study
- Jazz² Resurrection: a native C++ reimplementation of Jazz Jackrabbit 2 · Case study
- LBA2 Remake: a Little Big Adventure 1 and 2 reimplementation in TypeScript and Three.js · Case study