• Stars
    star
    338
  • Rank 122,426 (Top 3 %)
  • Language
    Kotlin
  • License
    GNU Affero Genera...
  • Created almost 8 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🎮 JVM game engine based on Swing/JavaFX.

FriceEngine

image

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

Download
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.

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

See DSL for FriceEngine

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