Ballanced
Source-level reimplementation of the Ballance game runtime. Rebuilds the player, engine libraries, building blocks, and plugins from source into a Ballance-compatible directory layout.
Original game assets are not included - you need a copy of the original game to run it.
For players
Download the latest pre-built release:
https://github.com/doyaGu/Ballanced/releases
Installation
- Get a legal copy of the original Ballance game.
- Extract the release package into the
Bin directory of your Ballance installation.
- Run
Bin\Player.exe.
No compatibility mode or registry edits needed.
Flat layout (alternative)
Put Player.exe, base.cmo, Database.tdb, the asset folders, and all runtime DLLs in the same directory. When base.cmo is next to Player.exe, the player treats that directory as its root.
For developers
Requirements
- Windows
- Visual Studio 2022 (MSVC)
- CMake 3.25+
Supported architectures: x86, x64, and ARM64.
Quick start (x86)
The repository has nested Git submodules. Clone with --recurse-submodules; after pulling, run git submodule update --init --recursive. See BUILD.md for details.
git clone --recurse-submodules https://github.com/doyaGu/Ballanced.git
cd Ballanced
cmake --preset windows-x86-runtime
cmake --build --preset windows-x86-runtime-stage-release
ctest --preset windows-x86-runtime-stage-release
Output:
build/windows-x86-runtime/stage/Bin/Player.exe
See BUILD.md for the full preset matrix, static builds, and troubleshooting.
Asset staging (optional)
Point CMake at an existing Ballance installation to copy assets into the stage:
cmake --preset windows-x86-runtime -DBALLANCE_ASSETS_ROOT=C:/path/to/your/Ballance
cmake --build --preset windows-x86-runtime-stage-release
A local assets/ directory in the repo root is picked up automatically.
Repository structure
Components under Source/ are Git submodules:
| Submodule |
Repository |
Description |
Source/Player |
BallancePlayer |
Game player and config tool |
Source/CK2 |
CK2 |
Virtools behavioral engine |
Source/VxMath |
VxMath |
Math and platform utilities |
Source/RenderEngine |
CKRenderEngine |
Render engine |
Source/BuildingBlocks |
CKBuildingBlocks |
Virtools building block modules |
Source/Plugins |
CKPlugins |
File format plugins (image, audio, CMO) |
Source/Managers/Dx8InputManager |
Dx8InputManager |
DirectX 8 input manager |
Source/Managers/Dx8SoundManager |
Dx8SoundManager |
DirectX 8 sound manager |
Source/Managers/ParameterOperations |
CKParameterOperations |
Parameter operations manager |
Contributing
Open an issue or pull request. Decompilation, bug fixes, and compatibility work are all useful.
Acknowledgments
- The original Ballance developers for the game.
- The open-source projects this builds on.
- Everyone who has contributed code, tests, or bug reports.
评论