v0.0.1: Port Warcraft 1 to Sega 32X using Arena
What's Changed
- Port Warcraft 1 to Sega 32X using Arena. by @haroldo-ok in #1
New Contributors
- @haroldo-ok made their first contribution in #1
Full Changelog: https://github.com/haroldo-ok/warcraft-32x/commits/v0.0.1
The game is somewhat playable, but there's still lots to do.
Key Technical & Architectural Highlights
-
Dual SH-2 Task Architecture: Splitting the load between the twin Hitachi SH-2 RISC processors---delegating main gameplay, rendering, and logic to the Primary SH-2 while offloading command/cache servicing to the Secondary SH-2---is the exact design pattern needed to keep target frame rates stable on 32X hardware.
-
Efficient Memory & Video Pipeline:
-
Leveraging the 32X's 320×224 8-bit indexed double-buffered video mode allows accurate rendering of Warcraft's PC color palette directly to hardware framebuffers.
-
Storing unit states, construction queues, and sparse forest depletion into compact SRAM data structures is a slick solution for preserving campaign progress within standard cartridge limits.
-
-
Deterministic Pathfinding & Sub-Tile Smoothness:
-
Running 8-direction A pathfinding with an octile heuristic* on 64×64 grids while handling dynamic unit collision directly addresses the biggest hurdle in retro RTS ports.
-
Adding 12-frame sub-tile visual interpolation ensures movement looks smooth and modern without desynchronizing the underlying deterministic grid collisions.
-
-
Complete RTS Engine Loop: Bringing fog of war (Unknown/Fog/Visible), worker resource collection cycles (gold & lumber depletion), building assembly progress, and multi-state death animations over to native C/SH-2 code without reliance on original DOS executables is a massive engineering feat.
Controller Mapping Quick Reference
For playtesters, here is a quick-reference summary of the control mapping:
| Action | 3-Button Controller | 6-Button Shortcut |
|---|---|---|
| Select Unit / Menu Option | A | A |
| Issue Order / Cancel / Back | B | B |
| Cycle Worker Command / Train Unit | C | C |
| Build Farm at Cursor | Select Worker |
X (Direct) |
| Build Barracks at Cursor | Select Worker |
Y (Direct) |
| Pause / Resume | Start | Start |
| Save Game (In Pause Menu) |
Start |
Start |
| Load Game (In Pause Menu) |
Start |
Start |
Note on Asset Generation: Because this port requires the original
DATA.WARasset file from the PC Warcraft demo, ensure your host asset processing pipeline is run prior to building the final 1.5 MiB.32xROM image!