litecanvas / game-engine

🎮 Lightweight HTML5 canvas engine suitable for small games, prototypes and animations.
https://litecanvas.js.org/
MIT License
30 stars 4 forks source link
canvas fantasy-console game-development game-engine gamedev hacktoberfest html5 js13k

logo

Litecanvas

Discord Server

Litecanvas is a lightweight HTML5 canvas engine suitable for small web games, prototypes, game jams, animations, creative coding, learning game programming and game design, etc.

:warning: This project is still under development. All feedback is appreciated! :warning:

Features

Learn more in the cheatsheet...

Getting Started

You can try our online playground or just installing the basic template:

# requires Node.js
npx tiged litecanvas/template my-game
cd my-game
npm install
npm run dev

If you prefer, you can manually install the package via NPM:

npm install litecanvas
// import the engine or put the script in your HTML
// CDN: https://unpkg.com/litecanvas/dist/dist.min.js
import litecanvas from 'litecanvas'

// you can setup other configurations here
// learn more in the cheatsheet
litecanvas({
    loop: { init, update, draw, tapped },
})

function init() {
    // this function run once
    // before the game starts
    bg = 0
    color = 3
    radius = 32
    posx = CENTERX
    posy = CENTERY
}

// this function detect taps/clicks
// and changes the circle position
function tapped(x, y) {
    posx = x
    posy = y
}

// this function controls the game logic
function update(dt) {
    // make the circle falls 100 pixels per second
    posy += 100 * dt
}

// this function render the game scene
function draw() {
    cls(bg) // clear the screen
    circfill(posx, posy, radius, color) // draw a circle
}

Docs

Check out our Cheatsheet.

Basic Demos

Try some demos in our playground:

See other demos in samples folder

Inspirations