Generate, populate, and display procedurally-generated fantasy worlds. A limited demo can be found here.
- Java 17
- Project is built using the Gradle Build Tool, with a provided wrapper file.
- Gradle will self-install, requiring no specific action other than using the wrapper to perform a task, e.g.
./gradlew build
.
- Run the web application with the gradle application plugin:
./gradlew app:run
- Application can then be interacted with at: http://127.0.0.1:5000/
- The Shadow Gradle plugin can be used to package the application and dependencies together as a 'Fat' or 'Uber' Jar:
./gradlew app:shadowJar
. - This Jar can then be deployed and run with
java -jar path/to/jar
.
- While the application is designed to generate worlds on request, in some instances limiting generation to a specific seed is desired.
- The following environment variables control activation of demo mode:
- DEMO_MODE - defaults to
false
, set totrue
to enable limiting of world to a specific seed. - DEMO_SEED - controls the seed to which generation is limited.
- DEMO_MODE - defaults to
- Example:
DEMO_MODE=true DEMO_SEED=98765 ./gradlew run
- The application uses a name-generating API by Pamela Fox which requires credentials. Set environment variable PLANET_NAME_GENERATOR_KEY to the appropriate header value for "Ocp-Apim-Subscription-Key" (See api documentation.)