Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - icela/FriceEngine: :video_game: JVM game engine based on Swing/JavaFX.
:video_game: JVM game engine based on Swing/JavaFX. - icela/FriceEngine
Visit SiteGitHub - icela/FriceEngine: :video_game: JVM game engine based on Swing/JavaFX.
:video_game: JVM game engine based on Swing/JavaFX. - icela/FriceEngine
Powered by 0x5a.live 💗
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
See FriceDemo And see TouhouDemo
Kotlin Resources
are all listed below.
Made with ❤️
to provide different kinds of informations and resources.