-
-
Notifications
You must be signed in to change notification settings - Fork 38
Description
With fixes being rolled out, documentation being updated and features being added it would probably be a good idea to have explicit version numbers and releases in order to communicate changes with users. Currently there has been no breaking change but it might come up in the future and will be really needed then.
This also begs the question of "What version is NobleEngine currently at?" and if not 1.0, what needs to be done to bring it to 1.0.
Here is a unordered list of things that I think could be good additions to NobleEngine (in no special orders) that we could pick and choose from:
-
Define a
configobject that can be passed inNoble.newandNoble.configto customise the behaviour of the engine (as mentioned in Graphics.sprite.setAlwaysRedraw to false by default #36 -
Allow specifying font variant directly in
Noble.Text.draw(Inside Playdate - Variants) -
Allow specifying draw mode directly in
Noble.Text.draw(e.g. by default text can be drawn in NXOR so that if you write on black pixels it will by default be white) (Inside Playdate - Drawing mode) -
Add a
headphoneChangedcustom event toinputHandler, and a config for Noble to automatically redirect audio output when this event is triggered (Inside Playdate - Audio Output) -
Add better primitives for working with the microphone, potentially custom events (config a custom sound level threshold and trigger an event when the mic detects it) (Inside Playdate - Mic Input)
-
Provide a custom threshold to determine when a button is held (currently hardcoded at 3 frames)
-
Add event handlers for charging / battery status (Inside Playdate - Power)
-
Add event handlers to game lifecycle's callbacks, so that each scene can easily register different actions to perform (Inside Playdate - Game Lifecycle)
-
Some optimization / performance pass on the entire codebase to minimize the performance overhead of the engine even further (Lua Performance Tips, Lua Optimisation Tips, Increase the performance of a Lua program)
-
Have some sort of an established benchmark / test suite, to test for performance improvements/regression (on hardware)
-
If we choose to go with Use lists instead of positional arguments to supply optional parameters to methods #35 (which I advocate for of course 😋), it's going to be a pretty big breaking change, so the earlier the better?
Stuff that could be good but should probably be external tools / released independently
- An adapter to have Panels integrate nicely with NobleEngine now that it can be used as a library for cutscenes (https://github.com/cadin/panels/releases/tag/v1.1)
- Since text rendering performance is known to be pretty bad, a module for Noble.Text to support rendering text as sprites and have the lazy re-rendering done automatically
- A CLI to scaffold project, keep the engine and the SDK up-to-date, add scenes from a set of templates, build, run and transfer to playdate
Metadata
Metadata
Assignees
Labels
Type
Projects
Status