File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change 1+ # SuperTuxKart WASM Port
2+
3+ Currently this port is still incomplete.
4+
5+ Working features:
6+ - The game launches
7+ - OpenGL ES 2 graphics (GLES 3 doesn't work)
8+ - Audio
9+ - Persistent user data
10+ - Caching data and asset files in IndexedDB
11+
12+ TODO:
13+ - Fix GLES 3 (maybe someone with more experience in webgl could help here)
14+ - Webpage theming
15+ - Better compression for assets
16+ - Lazy load assets during gameplay
17+ - Networking
18+
19+ Caveats:
20+ - The RAM usage is rather high because the assets are always loaded in memory
21+ - The performance isn't great, probably because the legacy renderer is still being used
22+ - There is a large ~ 700MB download required immediately
23+ - Some options, like anything related to online multiplayer, may hang the game
24+
25+ ## Building
26+ 1 . First, get a copy of the emsdk (it might help to have emscripten already installed with ` sudo apt install emscripten ` ):
27+ ```
28+ wasm/get_emsdk.sh
29+ ```
30+ 2 . Compile all the dependencies:
31+ ```
32+ wasm/build_deps.sh
33+ ```
34+ 3 . Compile STK:
35+ ```
36+ wasm/build.sh
37+ ```
38+ 4 . Bundle the game data and assets:
39+ ```
40+ wasm/pack_assets.sh ../stk-assets
41+ ```
42+ 5 . Host a web server:
43+ ```
44+ cd wasm/web
45+ python3 ../run_server.py
46+ ```
47+
48+ ## Project Structure:
49+ - /wasm/build - Files for building the dependencies
50+ - /wasm/prefix - Headers and library files
51+ - /wasm/web - Web server root directory
52+ - /wasm/emsdk - Emscripten SDK
53+ - /wasm/fragments - Patches for emscripten's generated JS
You can’t perform that action at this time.
0 commit comments