FriceEngine
CI
status
Travis CI
AppVeyor
CircleCI
CodeShip
An easy, light, native game engine running on JVM.
Why easy?
A flappy bird game 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 to learn how to use Frice Engine.
Screenshots
Build
Gradle:
repositories { jcenter() }
dependencies { compile 'org.frice:engine:1.8.5' }
Alternatively, you can follow the instruction from JitPack.
Alternatively, you can download a jar from the release page.
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
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