Skip to content

The JavaScript 3D framework for perfectionists with deadlines

License

Notifications You must be signed in to change notification settings

andrewisen-tikab/sej

Repository files navigation

Sej

Sej [ˈsɛj]. ("say") is a game engine for the web. It's heavily inspired by three.js's editor.

Sej is:

  • High-performance
  • Flexible
  • Very opinionated (!)

It supposed to be a batteries included game engine that allows you to create performant 3D scenes with ease. However, it's not production ready yet!

PR Checker

Release

Getting started

Begin by installing sej:

yarn add sej

Use the SEJ namespace to avoid conflicts with other libraries:

import * as SEJ from 'sej';

Building your own Sej

The Sej engine consists of multiple parts. You are free to pick and choose which parts you want to use. This will determine how your application will look and behave.

To aid you with this, there are some factories that you can use to build your own Sej:

const factory = new AbstractExampleFactory();
const sej = factory.build();

The variable sej will now contain a engine that has all the bells and whistles that you need to create simple scene.

Demo

A list of working examples can be found here:

Documentation

Auto-generated documentation can be found here:

Models used

"Spartan Armour MKV - Halo Reach" by McCarthy3D

"Simple Metal Fence" by Blender3D

"City 1" by ithappy

"Pringles Cans | 5 Different Flavours | GAMEREADY" by NKaap

Dependency Graph

Tests

E2E testing is done locally with cypress. Unit tests are done with vitest.

Development

To start the development server, run:

yarn install
yarn dev

Navigate to http://localhost:5173/examples/. Select one of the examples to see the Sej in action.