My hobby game engine.
Go to file
Tefek 5151a57f09 Updated plans and scheduled versions 2022-04-06 11:04:32 +02:00
gradle/wrapper Normalized the gradle wrapper to include documentation 2020-09-04 15:04:52 +02:00
plutoaudio [PlutoLib/PlutoStatic] Added AWT to Pluto color conversion, code cleanup and equals for ResourceAddress 2022-04-06 11:04:32 +02:00
plutocore [PlutoCore] Made PlutoApplication's constructor private 2022-04-06 11:04:32 +02:00
plutoframebuffer Engine restructure part 3 - Migration to gradle 2020-09-02 21:44:09 +02:00
plutogui TPL refactor, unified line endings, JavaDoc and full switch to SmartSeverity 2020-09-08 23:32:20 +02:00
plutolib [PlutoLib/PlutoStatic] Added AWT to Pluto color conversion, code cleanup and equals for ResourceAddress 2022-04-06 11:04:32 +02:00
plutomesher [PlutoLib/PlutoStatic] Added AWT to Pluto color conversion, code cleanup and equals for ResourceAddress 2022-04-06 11:04:32 +02:00
plutoshader [PlutoLib/PlutoShader] The initial implementation of the color API 2022-04-06 11:04:32 +02:00
plutospritesheet TPL refactor, unified line endings, JavaDoc and full switch to SmartSeverity 2020-09-08 23:32:20 +02:00
plutostatic [PlutoStatic] Added the GLFW virtual module 2022-04-06 11:04:32 +02:00
plutotexturing Updated package names in [PlutoLib] 2020-09-23 17:31:03 +02:00
plutouss2 [PlutoUSS2/PlutoLib] Added PlutoUSS2 2022-04-06 11:04:32 +02:00
.gitattributes Forced LF for Java files 2020-09-23 17:33:36 +02:00
.gitignore Added an experimental JDK wrapper 2020-09-17 20:52:35 +02:00
LICENSE Updated the year in the license 2020-08-21 00:01:34 +02:00
NEXT_RELEASE_DRAFT.md Updated plans and scheduled versions 2022-04-06 11:04:32 +02:00
README.md [PlutoUSS2/PlutoLib] Added PlutoUSS2 2022-04-06 11:04:32 +02:00
UPDATE_NOTES.md [PlutoStatic] Added the GLFW virtual module 2022-04-06 11:04:32 +02:00
build.gradle Bumped version number 2022-04-06 11:04:32 +02:00
gradlew [PlutoLib] Removed cz.tefek.pluto.event.static 2022-04-06 11:04:32 +02:00
gradlew.bat Added an experimental JDK wrapper 2020-09-17 20:52:35 +02:00
settings.gradle [PlutoUSS2/PlutoLib] Added PlutoUSS2 2022-04-06 11:04:32 +02:00

README.md

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 and calendar versioning, 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
  • PlutoFramebuffer - Stable
  • PlutoGUI - Stable, awaiting a rewrite
  • PlutoLib - Mostly stable, the module API still has some quirks
  • PlutoMesher - Stable
  • PlutoShader - Stable
  • PlutoSpriteSheet - Stable, some features are unfinished
  • PlutoStatic - Stable, collision API nowhere near completion
  • PlutoUSS2 - Stable

Unstable submodules

  • PlutoAudio - Somewhat usable, unfinished

Broken submodules, do NOT use

  • PlutoCommandParser - Unfinished, broken, unusable
  • PlutoDB - Broken, unusable

Current priorities

See NEXT_RELEASE_DRAFT.md for details.

Very high priority

[ Implemented in the current release. ]

  • Rewrite the ModLoader
  • Streamline PlutoLib, remove bad APIs and improve code quality
  • The stage system and automated asset loading

High priority

[ Implemented in the next release. ]

  • Rewrite PlutoGUI
  • Finish PlutoAudio
    • Depends on the stage system
  • Finish PlutoCommandParser

Normal priority

[ Planned for an upcoming release. ]

  • The collision system for PlutoStatic
  • Improve image loading capabilities, possibly rewrite PlutoLib#TPL

Low priority

[ Items not required immediately, planned to be implemented eventually. ]

  • Allow multiple running instances of Pluto
    • Alternatively, if this deems too difficult to implement, prohibit the creation of more than one instance per JVM to avoid issues
  • A networking API
  • Expand upon the Color API
    • Color mixing and blending
    • Color transformation
    • High-performance serialization