plutoengine/README.md

68 lines
2.2 KiB
Markdown
Raw Normal View History

2020-08-18 15:41:26 +00:00
# plutoengine
My hobby game engine. This repository unifies all my previous Pluto repositories.
### Versioning
All submodules share a version number for simplicity reasons.
Since version `20.2.0.0-alpha.0`, PlutoEngine uses
a combined version of [semantic versioning](https://semver.org/)
and [calendar versioning](https://calver.org/), the first number
denotes the year.
Therefore, the version format is always `YY.MAJOR.MINOR.PATCH-prerelease`.
*Only `major` and `year` version changes will bring breaking API changes,
**except for pre-release versions**, which may introduce breaking changes
at any time. Pre-release versions will never increment the `minor` or `patch`
version numbers.*
## Usability status of submodules
### Safe submodules
* **PlutoCore** - Stable
2020-09-04 13:31:05 +00:00
* **PlutoFramebuffer** - Stable
* **PlutoGUI** - Stable, awaiting a rewrite
2020-09-18 14:12:19 +00:00
* **PlutoLib** - Mostly stable, the module API still has some quirks
* **PlutoMesher** - Stable
* **PlutoShader** - Stable
2020-09-04 13:31:05 +00:00
* **PlutoSpriteSheet** - Stable, some features are unfinished
2020-09-18 14:12:19 +00:00
* **PlutoStatic** - Stable, collision API nowhere near completion
### Unstable submodules
* **PlutoAudio** - Somewhat usable, unfinished
### Broken submodules, do NOT use
* **PlutoCommandParser** - Unfinished, broken, unusable
* **PlutoDB** - Broken, unusable
## Current priorities
2020-09-25 10:53:10 +00:00
See `NEXT_RELEASE_DRAFT.md` for details.
### Very high priority
2020-09-25 10:53:10 +00:00
[ *Implemented in the current release.* ]
2020-09-24 01:07:15 +00:00
* Rewrite the ModLoader
* Finish PlutoCommandParser
2020-09-25 10:36:59 +00:00
* Streamline PlutoLib, remove bad APIs and improve code quality
### High priority
2020-09-25 10:53:10 +00:00
[ *Implemented in the next release.* ]
2020-09-25 10:36:59 +00:00
* Finish PlutoAudio
* Depends on the stage system
* The stage system and automated asset loading
### Normal priority
2020-09-25 10:53:10 +00:00
[ *Planned for an upcoming release.* ]
2020-09-24 01:07:15 +00:00
* Rewrite PlutoGUI
* The collision system for PlutoStatic
* Improve image loading capabilities, possibly rewrite PlutoLib#TPL
### Low priority
2020-09-25 10:53:10 +00:00
[ *Items not required immediately, planned to be implemented eventually.* ]
2020-09-24 01:07:15 +00:00
* Allow multiple running instances of Pluto
* Alternatively, if this deems too difficult to implement,
prohibit the creation of more than instance per VM to avoid issues
* A networking API