A modular, extensible and easy to use Java game and application engine.
Find a file
JeremyStarTM d5a03c885b
Add support for macOS
Just had to install macOS in a VM using QuickEmu (many thanks to them!) to add support for this. After installing it, creating an Apple account just to download Xcode, install OpenJDK using Homebrew and then using JShell and some searching I can confidently say that I find it hilarious that this piece of garbage exists. No keyboard shortcuts work (likely because of that Command key thingy), everything is clunky as hell and nothing really makes sense. How can anybody use this piece of overpriced shit? Anyway, for these four rich kiddies which want to run their favourite game on their parent's Macbook can do that now.

In case you need to install shitOS too: https://github.com/quickemu-project/quickemu/wiki/03-Create-macOS-virtual-machines
They make it incredibly easy to do, so big shoutouts to them!
2024-12-17 03:55:07 +01:00
.forgejo Add test job to commit workflow 2024-12-16 02:45:36 +01:00
.idea/copyright Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00
base Add support for macOS 2024-12-17 03:55:07 +01:00
dist Add unit testing 2024-12-15 22:33:31 +01:00
gradle/wrapper Update gradle wrapper 2024-10-03 21:38:01 +02:00
testapp Add unit testing 2024-12-15 22:33:31 +01:00
testing Split TestBase's methods & add more functionality 2024-12-17 03:24:50 +01:00
.gitattributes Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00
.gitignore Add .kotlin directory to .gitignore 2024-12-16 02:33:02 +01:00
build.gradle.kts Split TestBase's methods & add more functionality 2024-12-17 03:24:50 +01:00
gradle.properties Add unit testing 2024-12-15 22:33:31 +01:00
gradlew Update to Gradle 8.9 2024-08-01 02:04:54 +02:00
gradlew.bat Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00
LICENSE You know what? Yeet! 2024-09-05 01:17:08 +02:00
README.md Add unit testing 2024-12-15 22:33:31 +01:00
settings.gradle.kts Add unit testing 2024-12-15 22:33:31 +01:00

Index

About

The StarOpenSource Engine is a game and application framework written in Kotlin, primarily targeting the JVM. The engine is designed to be modular, configurable and extensible while being lightweight and fast.

In this repository you can find the core engine, official subsystems, their documentation and some miscellaneous files.

Contributing

TODO, waiting for Infrastructure/website-docs#1. Sorry :c

Gradle properties

You can modify Gradle's behaviour by passing one or multiple project properties. These are read by our build.gradle.kts files and actively change the build behaviour. You can pass one by adding -P<property>=<value> to your Gradle command line.

Skipping the Java toolchain specification

Setting java.skipToolchainSpecification to true disables the JDK version check & download step performed by Gradle. Useful when automating things or if you're facing the No locally installed toolchains match and toolchain download repositories have not been defined error.

Please note however that you should only pass this option if your default, installed JDK is matching Java 21 or you will experience issues.

JVM arguments

You can pass the following arguments to modify the behaviour of JVMs used for executing projects.

jvm.logGC

Enables garbage collection logging.

Takes effect if set to true.

jvm.logJITandAOT

Enables logging about JIT and AOT code compilation.

Takes effect if set to true.

jvm.garbageCollector

Sets the garbage collector to use. Requires the specified garbage collector to be built into the JVM (some aren't compiled by default).

Accepts epsilon, serial and g1.