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