Skip to content

v0.0.1-alpha

Choose a tag to compare

@corepunch corepunch released this 22 Feb 15:41
· 3126 commits to main since this release
c27de22

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 -mpq and -map arguments 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.
  • 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).
  • 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.

Build & CI

  • GitHub Actions (Ubuntu) installs dependencies and runs make on pushes/PRs to main.
  • 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 build
    • make run (or run the binary manually with -mpq / -map)