Simple web based game engine built on three.js and cannon.js focused on third-person character controls and related gameplay mechanics.
Mostly a playground for exploring how conventional third person gameplay mechanics found in modern games work and recreating them in a general way.
- World
- Three.js scene
- Cannon.js physics
- Variable timescale
- Frame skipping
- FXAA anti-aliasing
- Characters
- Third-person camera
- Raycast character controller with capsule collisions
- General state system
- Character AI
- Vehicles
- Cars
- Airplanes
- Helicopters
All planned features can be found in the GitHub Projects.
You can define your own scenes in Blender, and then read them with Sketchbook. Sketchbook needs to run on a local server such as http-server or webpack-dev-server to be able to load external assets.
- Import:
<script src="sketchbook.min.js"></script>
- Load a glb scene defined in Blender:
const world = new Sketchbook.World('scene.glb');
- Get the LTS version of Node.js 16
- Fork this repository
- Run
npm install
- Run
npm run dev
- Make changes and test them out at http://localhost:8080
- Commit and make a pull request!
Big thank you to each of the following github users for contributing to Sketchbook: