A web application to track my solo progress on KoG (King of Gores), a specialized DDNet/Teeworlds gamemode. This site provides a comprehensive list of maps, personal records, and an integrated WASM-based demo viewer to watch replays directly in the browser. The site is currently deployed on github pages: https://teero888.github.io/solo_progress/
- map database: Browse all KoG maps with stats from https://github.com/Gamer12120/KoGmaps.
- progress tracking: View finished maps and best times for various players (myself, unless you pr your demos).
- integrated demo viewer: Watch
.demoreplays using the DDNet WASM engine thanks to Robyt3. - interactive map previews: Hover to see map thumbnails or click to view full interactive previews thanks to patigas work.
- filtering & sorting: Filter by difficulty, length, status (Finished/Pending), and player. Sort by any field.
- social sharing: Direct links to map previews with OpenGraph support for Discord/Twitter.
- Node.js: For running the web frontend.
- Python 3: For running data processing and thumbnail generation scripts.
- Rust (optional): Required if you want to rebuild the
twgpu-map-photographytool for thumbnails. - Emscripten (optional): Required to rebuild the DDNet WASM engine.
-
Install Dependencies:
npm install
-
Start Development Server:
npm run dev
python parse_maps.py:- Reads
public/maps/mapinfo.txtandpublic/demos/. - Generates
src/data/maps.jsonwhich fuels the website. - Creates individual HTML preview files in
public/preview/for social sharing.
- Reads
python generate_thumbnails.py:- Uses the
twgpu-map-photography, which has to be built beforehand in the twgpu directory withcargo build --release, tool to generate 1200x750 thumbnails for all maps. - Automatically skips maps in
blacklist.txt.
- Uses the
If you need to update the DDNet WASM engine used for the demo viewer:
- Set up Emscripten: Use emsdk version 4.0.22, it won't work with versions >= 5.0.
- Prepare Libraries:
scripts/compile_libs/gen_libs.sh build-webasm-libs webasm cp -r build-webasm-libs/ddnet-libs/. ddnet-libs/
- Configure and Build:
make sure that you don't have CC or CXX overriden
mkdir build && cd build emcmake cmake .. -G "Unix Makefiles" \ -DVIDEORECORDER=OFF -DVULKAN=OFF -DSERVER=OFF -DTOOLS=OFF \ -DPREFER_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release cmake --build . -j$(nproc)
- Deploy: Move the generated
DDNet.wasm,DDNet.js, andDDNet.datatopublic/demo-viewer/.
Others are welcome to submit their demos via Pull Requests!
- Solo Ranks Only: The demo must be a valid solo rank ran on official KoG servers.
- No Cheating: Any demo found to be using cheats, macros, or external assistance will be rejected and removed.
- Naming Convention: Files in
public/demos/must follow the format:MapName_TimeInSeconds_PlayerName.demo(e.g.,ExampleMap_123.456_Teero.demo)
- Add your
.demofile topublic/demos/. - Submit a Pull Request with your changes.
This project is open-source, do whatever you want. DDNet is licensed under https://github.com/ddnet/ddnet/blob/master/license.txt. twgpu is licensed under https://gitlab.com/ddnet-rs/twgpu/-/blob/master/LICENSE