# Open Eggbert Free recreation of the computer game Speedy Eggbert. ## Development A [libGDX](https://libgdx.com/) project generated with [gdx-liftoff](https://github.com/libgdx/gdx-liftoff). This project was generated with a template including simple application launchers and an `ApplicationAdapter` extension that draws libGDX logo. ## Requirements - Java 17 is installed ## Platforms - `core`: Main module with the application logic shared by all platforms. - `lwjgl3`: Primary desktop platform using LWJGL3. - `android`: Android mobile platform. Needs Android SDK. - `html`: Web platform using GWT and WebGL. Supports only Java projects. - `teavm`: Experimental web platform using TeaVM and WebGL. ## Gradle This project uses [Gradle](https://gradle.org/) to manage dependencies. The Gradle wrapper was included, so you can run Gradle tasks using `gradlew.bat` or `./gradlew` commands. Useful Gradle tasks and flags: - `--continue`: when using this flag, errors will not stop the tasks from running. - `--daemon`: thanks to this flag, Gradle daemon will be used to run chosen tasks. - `--offline`: when using this flag, cached dependency archives will be used. - `--refresh-dependencies`: this flag forces validation of all dependencies. Useful for snapshot versions. - `android:lint`: performs Android project validation. - `build`: builds sources and archives of every project. - `cleanEclipse`: removes Eclipse project data. - `cleanIdea`: removes IntelliJ project data. - `clean`: removes `build` folders, which store compiled classes and built archives. - `eclipse`: generates Eclipse project data. - `html:dist`: compiles GWT sources. The compiled application can be found at `html/build/dist`: you can use any HTTP server to deploy it. - `html:superDev`: compiles GWT sources and runs the application in SuperDev mode. It will be available at [localhost:8080/html](http://localhost:8080/html). Use only during development. - `idea`: generates IntelliJ project data. - `lwjgl3:jar`: builds application's runnable jar, which can be found at `lwjgl3/build/lib`. - `lwjgl3:run`: starts the application. - `teavm:build`: builds the JavaScript application into the build/dist/webapp folder. - `teavm:run`: serves the JavaScript application at http://localhost:8080 via a local Jetty server. - `test`: runs unit tests (if any). Note that most tasks that are not specific to a single project can be run with `name:` prefix, where the `name` should be replaced with the ID of a specific project. For example, `core:clean` removes `build` folder only from the `core` project. ## FAQ ### How to clean Gradle cache `./gradlew clean build --refresh-dependencies` ### Deploy HTML to localhost Change directory to html/build/dist and run: `python3 -m http.server 8000`