Code Monkey home page Code Monkey logo

sketchbook's Introduction


Live demo

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

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.

Usage

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.

Script tag

  1. Import:
<script src="sketchbook.min.js"></script>
  1. Load a glb scene defined in Blender:
const world = new Sketchbook.World('scene.glb');

NPM

  1. Install:
npm i sketchbook
  1. Import:
import { World } from 'sketchbook';
  1. Load a glb scene defined in Blender:
const world = new World('scene.glb');

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. Commit and make a pull request!

Blender source files

Source .blend files, including the main demo scene, and other graphical assets used by the main demo are available here: https://drive.google.com/drive/folders/1ZbziXLAW3yAn3e_s-6UO6jMIJWaglqDG?usp=sharing

Credits

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

sketchbook's People

Contributors

swift502 avatar inzanity avatar yeryomin1 avatar

Stargazers

 avatar Dhruval Raval avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.