Web Version: 2.2.15
Sonic Robo Blast 2 is a 3D Sonic the Hedgehog fangame based on a modified version of Doom Legacy.
A port of the game for WASM (WebAssembly) using Emscripten, fully supporting LAN & online multiplayer through its Relay Server.
Note
This README was heavily generated/edited by Google Gemini AI, also the game woudln't have been ported thanks to it, I really don't know enough of C or C++ to actually make this work by myself, or the perfect commands to compile, if there is an issue you can report it on the issues tab, but expect a lot of AI to be used here.
Below are the instructions for compiling the Sonic Robo Blast 2 (SRB2) WASM files and building the launcher website.
- Windows: Git for Windows, CMake, Python 3.x, and a C++ toolchain (Visual Studio).
- Linux:
sudo apt install git cmake build-essential python3 - Node.js: Required for the launcher website.
Note: Windows hasn't been tested yet. If it is having issues, try using Github codespaces to compile.
- Open the Command Prompt (
cmd.exe). - Navigate to your source directory:
cd path\to\srb2-source - Run the setup and build script:
setup-build.bat
-
Open your terminal.
-
Navigate to your source directory:
cd path/to/srb2-source -
Run the setup script (this handles cloning and builds the engine):
chmod +x *.sh source ./setup-build.sh
-
To rebuild later without running the full setup:
source ./load-emsdk.sh ./build-wasm.sh
This should work on both Windows and Linux.
- Install Node.js dependencies:
npm install
- Build the launcher:
npm run build
- Start the dev server:
npm run start
Note for Developers: If you modify the C source code, you must re-run
setup-build.sh(orbuild-wasm.sh) to recompile the engine. The Node server only watches frontend files.
| Path | Description |
|---|---|
/src |
Core C code for SRB2 and the modified engine. |
/game-assets |
Source files for game data (textures, sounds, etc.). |
/launcher-src |
Source code for the web launcher and file manager. |
/static |
Static assets, icons, and images for the launcher. |
/launcher-dist |
The production-ready web build (generated via npm run build). |
/build-wasm/bin |
Where the game's compiled output is (js and wasm files) |