Repository navigation
v0.0.1-alpha
OpenWarcraft3 v0.0.1-alpha is an early, experimental “current state” build focused on getting the core runtime, asset loading, and basic gameplay loop running end-to-end.
Highlights
- Playable early engine milestone: boots into a map and runs a server+client frame loop.
- MPQ + map launching via CLI: explicit
-mpqand-maparguments to control what content is loaded. - Linux/macOS build path with SDL2-based runtime and a CI workflow to verify builds.
What’s included
- Command-line launcher
- Run using:
openwarcraft3 -mpq=<absolute path to War3.mpq> -map=<internal mpq map path>
- Includes built-in usage/help text and validation for required arguments.
- Run using:
- Networking foundation
- Packet/message buffer sizes defined (up to
256 * 1024). - Dual implementation approach:
- Loopback mode for local client/server.
- TCP socket path for networked multiplayer (non-blocking handling, buffering, etc.; early-stage).
- Packet/message buffer sizes defined (up to
- Gameplay / simulation groundwork
- Initial AI scaffolding (idle/stand logic, sight filtering, basic movement helpers).
- Shared command identifiers/constants for UI/game command wiring.
- Project structure
- Source organized into major modules (
client,server,game,common, math library, etc.). - Xcode project present for macOS development.
- Source organized into major modules (
Build & CI
- GitHub Actions (Ubuntu) installs dependencies and runs
makeon pushes/PRs tomain. - Notes: the workflow currently installs SDL2, JPEG, and StormLib packages; test/distcheck steps are present but commented out.
Known limitations / caveats (alpha)
- Very early release: expect missing features, incomplete gameplay parity, performance issues, and crashes.
- Content requirement: you must provide your own Warcraft III MPQ and a valid map path (the build does not bundle game data).
- Multiplayer is not production-ready (network code is under active development).
Getting started
- Clone with submodules:
git clone --recurse-submodules git@github.com:corepunch/openwarcraft3.git
- Build (Makefile flow):
make buildmake run(or run the binary manually with-mpq/-map)