friceengine - ๐ŸŽฎ JVM game engine based on Swing/JavaFX. - Kotlin Resources



CI status
Travis CI Build Status
AppVeyor Build status
CircleCI CircleCI
CodeShip CodeShip

icela by friceengine Download icela by friceengine
Awesome Kotlin Badge ktlint

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.


  • icela by friceengine
  • icela by friceengine
  • icela by friceengine
  • icela by friceengine
  • icela by friceengine



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.


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


See DSL for FriceEngine


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.


See FriceDemo
And see TouhouDemo

compile "com.github.icela:FriceEngine:1.8.5"

Related Libraries


Headless Chrome DevTools Protocol Client (RxJava2 + Kotlin)

Last updated 3 mins ago


A small framework for writing client-side web-applications in Kotlin

Last updated 3 mins ago


Kotlin logging, both js and jvm

Last updated 3 mins ago


A native version of pixi

Last updated 3 mins ago


Develop browser games in Kotlin

Last updated 3 mins ago