KilledByAPixel / LittleJS

LittleJS is a fast HTML5 game engine with many features and no dependencies. 🚂 Choo-Choo!
Other
3.24k stars 163 forks source link

Plugin System #86

Open KilledByAPixel opened 3 months ago

KilledByAPixel commented 3 months ago

It would be good to have a plugin system for littles where other components can live that are separate from the core engine.

The medals system, or at least the newgrounds implementation, would be moved to being a plugin.

Other ideas for plugins...

Still thinking about the best way to set it up. What plugins would you like to see?

rishavs commented 3 months ago

camera Steam Integration joystick integration

KilledByAPixel commented 3 months ago

We have joystick integration already, steam would be amazing though!

thewrath commented 2 months ago

If you give me some guidelines (on the expected result) I can try to work on it.

I could, for example, suggest that i try to re-implement the medal system as a plugin and thus make the necessary extension points appear. 🙂

KilledByAPixel commented 2 months ago

Thank you, but the main work here is really planning out how to set up the plugin system. I have a rough idea and hope to get to it soon. The medals system is already totally separate from everything else so it should be simple to move it to a plugin

KilledByAPixel commented 2 months ago

Spine 2d animation tool would be good for a plugin...

Spine Documentation

Also I just added Tiled editor support to the platformer demo, that could also be moved to a plugin eventually.

KilledByAPixel commented 2 months ago

We could integrate audio convolvers pretty easily as a plugin. This is a good demo...

https://mdn.github.io/voice-change-o-matic/

KilledByAPixel commented 1 week ago

We now how a plugin system! It is pretty simple, plugins can register for render or update callbacks. We can add more if necessary. I moved newgrounds and post processing to plugins. Also I created Box2D as a plugin.