Live Demo: https://wox76.github.io/dk3d/
A web-based 3D Level Editor and Game Engine built with Three.js.
Create, edit, and play 3D platformer levels directly in your browser.
Because this project uses ES6 Modules and loads external 3D assets (.glb, .json), you must run it using a local web server. You cannot simply double-click index.html.
- Install the Live Server extension for VS Code.
- Open the project folder in VS Code.
- Right-click
index.htmland select "Open with Live Server".
If you have Python installed, open a terminal in the project folder and run:
# Python 3
python -m http.server 8000Then open http://localhost:8000 in your browser.
npx serve .- W / A / S / D: Move Player
- Space: Jump
- Mouse: Rotate Camera (if enabled)
- Left Click: Select Object
- T: Translate (Move) Tool
- R: Rotate Tool
- E: Scale Tool
- Del / Backspace: Delete Selected Object
- Ctrl + Z: Undo
- Ctrl + Y: Redo
- Ctrl + C / V: Copy / Paste Object
index.html: Main entry point.js/: Core game logic (App, Editor, Player classes).assets/: 3D models (GLB), textures, and saved levels (JSON).style.css: UI styling.
- Real-time Editing: Drag & drop assets, move platforms, and test instantly.
- Save/Load System: Export your levels to JSON and share them.
- Asset Library: Supports GLTF/GLB models with animations.
- Logic Linking: Connect Switches to Doors, Spawners, etc.
- Physics: Basic platforming physics with collision detection.
To verify that your assets are loading correctly (useful to debug "missing model" errors), open test_assets.html.