Welcome to Eclipse Origins 4, a love letter to Visual Basic 2D ORPG Engines.
This build, nicknamed Solar Eclipse, is version 4.4.1.0-alpha.
- Written in Java 21
-
- OpenJDK "Temurin" version 21-0.3+9 (Eclipse Adoptium JDK)
- Built with: Gradle 8.12.x (Groovy configuration)
Currently tested on Windows(10/11 amd64), Linux (PikaOS amd64), and macOS (Tahoe M1).
Version strings follow the MAJOR(#?).MODEL(#??).CONTROLLER(#??).VIEW(#??)-MILESTONE format.
So, Solar Eclipse (v4) is currently using Model v4, Controller v1, View v0, and is in its alpha milestone.
The project's packages and modules exist within the dev.atomixsoft.solar_eclipse namespace. The only module is core - server, editor, and client sub-projects are comprised of a series of packages.
| Module | Package | Description |
|---|---|---|
| Core | Game | TODO |
| Core | Utils | TODO |
| Core | Network | TODO |
| N/A | Server | TODO |
| N/A | Editor | TODO |
| N/A | Client | TODO |
| N/A | ClientAudio | TODO |
| N/A | ClientGraphics | TODO |
| N/A | ClientScene | TODO |
| N/A | ClientUtil | TODO |
The core sub-project includes essential libraries and classes shared across the other sub-projects.
| Dependencies:
- apache-commons-configuration 2.10.1
- apache-commons-logging 1.3.2
- junit-jupiter 5.10.0
- netty-all 4.2.0 Final
- ashley 1.7.4
The server sub-project handles the back-end operations of the game.
| Dependencies:
:core- sqlite-jdbc 3.53.2.0
The editor sub-project provides tools for developers to create and manage game content.
| Dependencies:
:core
The client sub-project is the game front-end.
| Dependencies:
The gradlew script is the Gradle Wrapper. It is not Windows-specific. The w means "wrapper"; it pins the Gradle version used by the project so contributors do not have to rely on whatever gradle version is installed globally.
If this checkout does not include gradlew, create the wrapper once from the repository root with Java 21 selected:
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
export PATH="$JAVA_HOME/bin:$PATH"
gradle wrapper --gradle-version 8.12.1 --distribution-type allAfter that, use ./gradlew for project commands:
./gradlew --versionOn macOS, ./gradlew --version must report JVM 21. Gradle 8.12.x cannot run on Java 25. If Java 25 is your default shell Java, prefix commands with Java 21:
env JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home ./gradlew :client:runTo clean & build all sub-projects, execute the following:
./gradlew clean
./gradlew buildYou must build, preferably in a clean environment, the core sub-project before building server, editor, or client.
To clean & build only the core sub-project, execute the following:
./gradlew :core:clean
./gradlew :core:buildTo clean & build only the server sub-project, execute the following:
./gradlew :server:clean
./gradlew :server:buildTo clean & build only the editor sub-project, execute the following:
./gradlew :editor:clean
./gradlew :editor:buildTo clean & build only the client sub-project, execute the following:
./gradlew :client:clean
./gradlew :client:buildYou must run the server sub-project before editor or client.
To run the server, execute the following:
./gradlew :server:runTo run server in debug mode, execute the following instead:
./gradlew :server:debugTo run the editor, execute the following:
./gradlew :editor:runTo run editor in debug mode, execute the following instead:
./gradlew :editor:debugTo run the client, execute the following:
./gradlew :client:runTo run client in debug mode, execute the following instead:
./gradlew :client:debug| TODO
Current planned Milestones are alpha, beta, rc1, rc2, and rtm.
For a little background, take a look at these links:
Of course, make sure you also visit us at [atomixsoft.dev] !
If you would like to follow our development tasks, check that out at our Trello Board!
We hope you find Eclipse Origins 4: Solar Eclipse a very clean, somewhat nostalgic, highly performant, and infinitely flexible engine. For any issues or contributions, please refer to our issue tracker or contributing guide.
Enjoy!