Skip to content

Latest commit

 

History

History
78 lines (67 loc) · 3.25 KB

README.md

File metadata and controls

78 lines (67 loc) · 3.25 KB

Sprunk - A TypeScript 2D Web Game Engine

Description

This is a Vite project that aims to create a 2D game engine in TypeScript. The project is based on the WebGPU API and is intended to be used in the browser. The engine is designed to be modular and extensible, with a focus on enforcing a strict separation of concerns between the different components of the engine.

Getting Started

Prerequisites

Run the project

Install packages

npm install

Run vite dev server

npm run dev 

Run the tests

npm run test

Deployment

Build the project

  npm run build

This will generate static files in the dist folder. You can then deploy these files to a any web server.

Collaborate

Directory structure

├───doc                     // Documentation
├───src                     // Source code
│   ├───Core                // Core components
│   │   ├───EventSystem     // Event and callback helpers
│   │   └───MathStructures  // Math structures (like Vector2)
│   ├───Extensions          // Extensions and modules
│   │   ├───RenderEngine    // WebGPU rendering engine
│   │   ├───PhysicsEngine   // 2D Bounding Box physics engine
│   │   └───InputSystem     // Web input systemeb
├───test                    // Vitests Unit tests
├   ├───...                 // Same structure as src
├───public                  // Web files (not bundled, external resources)

Class syntax

The classes are written in order to follow the Google TypeScript style guidelines

Workflow

  • Gitflow
  • How to commit
  • How to use your workflow
  • Propose a new feature in Jira
    • We only use tasks
  • Pull requests are open to merge in the develop branch.
  • Release on the main branch we use GitFlow and not with GitHub release.
  • When creating a new feature, the branch name must be feature/SPR-XX-NameOfTheFeature
  • Before merging a feature into develop, the code should be reviewed by one other person (by opening a pull request).
  • Issues are added to the github issues page

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

  • If needed you can create an issue on GitHub we will try to respond as quickly as possible.