Skip to content

CoderLearningCode/Sketchbook

 
 

Repository files navigation


Play it here!

badge badge badge

📒 Sketchbook

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.

If you have any further questions about the project, feel free create an issue or stop by our discord server https://discord.gg/kRjrd4b.

Features

  • 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.

Contributing

  1. Get latest Node.js
  2. Fork this repository
  3. Run npm install
  4. Run npm run dev
  5. Make changes and test them out at http://localhost:8080
  6. Run npm run build
  7. Commit and make a pull request!

Library usage

Sketchbook is packed as a library and can be used to create your own scenes utilising all the Sketchbook gameplay mechanics. Check out the Sketch template project to learn about using Sketchbook in this way.

Blender source files

Blender source files and other graphical assets used by the main demo are kept separately from this repository: https://drive.google.com/drive/folders/1ZbziXLAW3yAn3e_s-6UO6jMIJWaglqDG?usp=sharing

Contributors

Big thank you to each of the following github users for contributing to Sketchbook:

About

3D playground built on three.js and cannon.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 91.3%
  • CSS 8.6%
  • HTML 0.1%