Great game, love the writing, love the art!
### Memory leak
There is a memory leak when running on Ubuntu. Memory usage climbs until the process is killed or the system crashes - I have seen ToA use 6GB+.
Could be loaded resources are not being released?
### Borked Linux packaging
When attempting to run the Linux version, the following error occurs. Note that running the jar directly using the system-installed Java works just fine.
```
$ ./TalesOfAndrogyny
jre/lib/amd64/server/libjvm.so: cannot open shared object file: No such file or directory
Error: failed to load VM runtime library!
### System info
Ubuntu 21.04, OpenJDK 1.8.0_292, with OpenJFX installed.
Note that the game will not run using OpenJDK 11 due to JavaFX not being bundled with the JDK anymore.
### Suggestions
I am a software engineer, so I have a couple of suggestions if you are interested:
1) Bump the Java version to latest LTS release. Java 11 is supported through 2026, Java 17 (the next LTS version) will be released in a few days.
- This may or may not fix the memory issue, but newer versions of Java do bring other nice things - language features, packaging, etc.
2) Pull in JavaFX dependencies via gradle. There is a gradle plugin for doing this that you may be interested in: https://openjfx.io/openjfx-docs/#gradle
- Newer versions of JavaFX have many new features and bug fixes, potentially improving memory usage.
3) The `jpackage` tool was introduced in Java 14. This tool can create installers for any platform and bundles the JRE with the application. This is very nice from a user perspective since ToA would behave like any other app - no need to download Java first, able launch from spotlight/start menu, etc.
- I have used a gradle plugin to package JavaFX applications and it went very smoothly: https://badass-jlink-plugin.beryx.org/releases/latest/
4) Place save/config data in the expected platform-specifc directories instead of dropping data in the current directory. There's even a library to fetch these directories:: https://github.com/harawata/appdirs