GitPedia

FriceEngine

:video_game: JVM game engine based on Swing/JavaFX.

From icela·Updated March 16, 2026·View on GitHub·

CI|status :---|:---: Travis CI| AppVeyor| CircleCI| CodeShip| The project is written primarily in Kotlin, distributed under the GNU Affero General Public License v3.0 license, first published in 2016. Key topics include: engine, frice-engine, game, game-engine, java.

Latest release: v1.8.5Some functionality updates
August 7, 2018View Changelog →

FriceEngine

image

CIstatus
Travis CIBuild Status
AppVeyorBuild status
CircleCICircleCI
CodeShipCodeShip


Download
<br/>
Awesome Kotlin Badge
ktlint

An easy, light, native game engine running on JVM.

  • Why easy? <br/>
    A flappy bird game uses just 56 lines of Java code only.<br/>
    Written in Kotlin, also work on Java, JRuby, Groovy, Scala and other JVM languages.

  • Why light? <br/>
    The release build jar is about 1.6mb (with a 1mb Kotlin runtime) only.

  • Why native? <br/>
    This engine is completely platform-independent: no JNI linkage, no native methods.

View Document to learn how to use Frice Engine.

Screenshots

  • <img src="https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-01.gif">
  • <img src="https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-02.gif">
  • <img src="https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-03.gif">
  • <img src="https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-04.gif">
  • <img src="https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-05.gif">

Build

Gradle:

gradle
repositories { jcenter() } dependencies { compile 'org.frice:engine:1.8.5' }

Alternatively, you can follow the instruction from JitPack.<br/>
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.

FeatureSwingJavaFX
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

Contributions

Feel free to open issue for feature request, bug reports, etc. <br/>
This is generally a personal project, so please do give your genuine suggestions.

This project is using Issue-Driven-Development. <br/>
Issues are well organized and used to managed tasks.

Demos

See FriceDemo <br/>
And see TouhouDemo

Contributors

Showing top 4 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from icela/FriceEngine via the GitHub API.Last fetched: 6/13/2026