https://github.com/icela/friceengine
:video_game: JVM game engine based on Swing/JavaFX.
https://github.com/icela/friceengine
engine frice-engine game game-engine java javafx jvm kotlin platform-independent swing
Last synced: 6 months ago
JSON representation
:video_game: JVM game engine based on Swing/JavaFX.
- Host: GitHub
- URL: https://github.com/icela/friceengine
- Owner: icela
- License: agpl-3.0
- Created: 2016-08-13T12:58:22.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-12-28T15:45:18.000Z (almost 6 years ago)
- Last Synced: 2025-04-07T15:08:35.327Z (6 months ago)
- Topics: engine, frice-engine, game, game-engine, java, javafx, jvm, kotlin, platform-independent, swing
- Language: Kotlin
- Homepage: https://icela.github.io/#getting-started
- Size: 1.18 MB
- Stars: 344
- Watchers: 22
- Forks: 32
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# FriceEngine

CI|status
:---|:---:
Travis CI|[](https://travis-ci.org/icela/FriceEngine)
AppVeyor|[](https://ci.appveyor.com/project/ice1000/friceengine)
CircleCI|[](https://circleci.com/gh/icela/FriceEngine)
CodeShip|[](https://app.codeship.com/projects/214712)[](https://jitpack.io/#icela/FriceEngine)
[  ](https://bintray.com/ice1000/FriceEngine/engine/_latestVersion)
[](https://jitpack.io/#icela/FriceEngine)
[](https://github.com/KotlinBy/awesome-kotlin)
[](https://icela.github.io)An easy, light, native game engine running on JVM.
+ Why easy?
[A flappy bird game](https://github.com/icela/FriceDemo/tree/master/1.7.9/Demo7.java) uses just 56 lines of Java code only.
Written in Kotlin, also work on Java, JRuby, Groovy, Scala and other JVM languages.+ Why light?
The release build jar is about 1.6mb (with a 1mb Kotlin runtime) only.+ Why native?
This engine is completely platform-independent: no JNI linkage, no native methods.**View [Document](https://icela.github.io/#getting-started) to learn how to use Frice Engine.**
## Screenshots
-
![]()
-![]()
-![]()
-![]()
-## Build
Gradle:
```gradle
repositories { jcenter() }
dependencies { compile 'org.frice:engine:1.8.5' }
```Alternatively, you can follow the instruction from [JitPack](https://jitpack.io/#icela/FriceEngine).
Alternatively, you can download a jar from the [release page](https://github.com/icela/FriceEngine/releases).## Features
This engine is based on Java's built-in GUI framework, both Swing and JavaFX.
"Platform" here refers to Swing/JavaFX.### Platform dependent
These features are differently implemented in Swing/JavaFX.
Since this project is still in progress, the unsupported features will soon be available.Feature|Swing|JavaFX
:---|:---:|:---:
Life cycle|√|√
Dialogs|√|√
Cursor overriding|√|√
Screenshot|√|√
Buttons|√|√
Full screen|√|√
Always on top|√|√
Text font/size|√|√
Multi-instances|√|×
Resizability|√|√
Key listener|√|√
Text measuring|√|√### Platform independent
- Animations (moving, scaling, rotating, accelerating, chasing, approaching, etc.)
- Audio playing (\*.wav, \*.mp3) by JavaSound/JavaFX Media
- Clock system, timers
- Delayed event manager
- Automatic garbage collection (optional, objects far from the screen will be removed)
- Resource manager (caching IO)
- File/Image/Color/URL utils
- Game objects
- Frame animations
- Key-value database
- Particle effects
- Attaching game objects
- Collision detection with collision box## DSL
See [DSL for FriceEngine](https://github.com/icela/FriceEngine-DSL)## Contributions
Feel free to open issue for feature request, bug reports, etc.
This is generally a personal project, so please do give your genuine suggestions.This project is using Issue-Driven-Development.
Issues are well organized and used to managed tasks.## Demos
See [FriceDemo](https://github.com/icela/FriceDemo)
And see [TouhouDemo](https://github.com/ice1000/TouhouDemo)