My hobby game engine.
Go to file
Natty 81064b6bdf
Updated README.md
2022-04-30 00:17:29 +02:00
.github/workflows New file perms 2022-04-19 01:31:52 +02:00
buildSrc Added JSRClone, audio engine rewrite, bump to alpha.2 2022-04-27 19:24:18 +02:00
engine-core Added JSRClone, audio engine rewrite, bump to alpha.2 2022-04-27 19:24:18 +02:00
engine-demo Optimized shader code 2022-04-29 23:57:19 +02:00
engine-ext Undone Java source file perms 2022-04-19 22:44:18 +02:00
gradle/wrapper Fixed Gradle wrapper 2022-04-06 14:01:46 +02:00
libra@14c88cd8c4 Updated libra 2022-04-19 22:44:49 +02:00
.gitattributes SDK restructure, package reorganization, new ModLoader, new resource system 2022-04-06 11:04:32 +02:00
.gitignore SDK restructure, package reorganization, new ModLoader, new resource system 2022-04-06 11:04:32 +02:00
.gitmodules New file perms 2022-04-19 01:31:52 +02:00
LICENSE SDK restructure, package reorganization, new ModLoader, new resource system 2022-04-06 11:04:32 +02:00
README.md Updated README.md 2022-04-30 00:17:29 +02:00
UPDATE_NOTES.md Added JSRClone, audio engine rewrite, bump to alpha.2 2022-04-27 19:24:18 +02:00
build.gradle.kts PlutoLib cleanup, module-info.java and array uniforms for PlutoShader 2022-04-13 02:28:26 +02:00
gradlew Fixed Gradle wrapper 2022-04-06 14:01:46 +02:00
gradlew.bat Fixed Gradle wrapper 2022-04-06 14:01:46 +02:00
settings.gradle.kts Bitmap font renderer, bug fixes and cleanup 2022-04-19 22:39:16 +02:00

README.md

plutoengine

Build Status Maven Version

My hobby game engine. This repository unifies all my previous Pluto repositories.

How to use Pluto

Quick start

Download the demo project open it in IntelliJ IDEA.

Gradle

repositories {
   mavenCentral()

   maven {
      name = "Vega"
      url = uri("https://vega.botdiril.com/")
   }
}


dependencies {
   implementation group: "org.plutoengine", name: "plutocore", version: "22.2.0.0-alpha.2"
}

or for Gradle Kotlin DSL

repositories {
   mavenCentral()

   maven {
      name = "Vega"
      url = uri("https://vega.botdiril.com/")
   }
}

dependencies {
   implementation("org.plutoengine", "plutocore", "22.2.0.0-alpha.2")
}

Licensing

While all code of PlutoEngine is licensed under MIT, some media in this repository is licensed under different terms:

  • Music in the jsr-clone demo is made by Selulance, licensed under CC - BY 3.0

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

Keep in mind PlutoEngine is in alpha and all features are tentative. The following list simply provides an overview of how likely breaking changes are to occur.

Safe submodules

  • PlutoCore - Stable
  • PlutoFramebuffer - Stable
  • PlutoMesher - Stable
  • PlutoShader - Stable
  • PlutoTexture - Stable
  • PlutoSpriteSheet - Stable, some features are unfinished
  • PlutoDisplay - Stable, collision API nowhere near completion
  • PlutoUSS2 - Stable
  • PlutoLib - Mostly stable
  • PlutoRuntime - Mostly stable

Unstable submodules

  • PlutoAudio - Very tentative, work in progress
  • PlutoGUI - Recently rewritten, the API is highly unstable, work in progress

Current priorities

See issues for details.