Skip to content

An ECS-based gameengine and in-browser editor developed in Javascript.

License

Notifications You must be signed in to change notification settings

Slugronaut/Stoneheart

Repository files navigation

Stoneheart

An ECS-based game engine and in-browser editor developed in Javascript.

This was a small project I used to get myself familiar with the basics of Javascript. Along the way I learned many things including:

  • How much worse javascript is for most tasks that traditionally were done with any other programming language in the entire world until five years ago
  • How hard it is to implement basic functionality in javascript that other languages support by default
  • How bad the vast majority of javascript documentation is because it is aimed at non-programmers that spend more time consuimg non-dairy products that actually writing functionally useful code
  • How the few useful features of javascript are generally frowned upong because it requires you to understand a thing or two about a thing or two
  • How much it sucks that javascript still support broken features in the name of backwards compatability yet manages to release updates all the time that break more recent elements of the language
  • Not having to imagine what it's like in 2020 without the ability to multi-thread

Features

  • Poorly optimized non-archetypal ECS-based solution
  • Hacked-together type system to make it feel less like you are working javascript
  • Simple two-way databinding model that allows for ease of editing components via UI elements (literally the only part about this where javascript was actually useful)
  • Built-in scene editor that can be used in-broweser. Just press 'P' and 'O' keys at the same time to enable it
  • Entity serialization allowing entities and their component states to be saved or loaded as textfiles
  • Multi-layer rendering system
  • Particle systems
  • Basic collision and gravity
  • Basic sprite animation
  • Simple input for keyboard and gamepad
  • Simple 2D platformer-style character controller
  • Able to be extended by adding new systems and components
  • Engine is able to be extended via components and systems

About

An ECS-based gameengine and in-browser editor developed in Javascript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published