{"id":15055669,"url":"https://github.com/icela/friceengine","last_synced_at":"2025-04-07T15:08:47.234Z","repository":{"id":73115250,"uuid":"65617268","full_name":"icela/FriceEngine","owner":"icela","description":":video_game: JVM game engine based on Swing/JavaFX.","archived":false,"fork":false,"pushed_at":"2019-12-28T15:45:18.000Z","size":1238,"stargazers_count":344,"open_issues_count":0,"forks_count":32,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-07T15:08:35.327Z","etag":null,"topics":["engine","frice-engine","game","game-engine","java","javafx","jvm","kotlin","platform-independent","swing"],"latest_commit_sha":null,"homepage":"https://icela.github.io/#getting-started","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/icela.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-08-13T12:58:22.000Z","updated_at":"2025-03-06T08:38:12.000Z","dependencies_parsed_at":"2023-09-19T02:48:36.272Z","dependency_job_id":null,"html_url":"https://github.com/icela/FriceEngine","commit_stats":null,"previous_names":[],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icela%2FFriceEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icela%2FFriceEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icela%2FFriceEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icela%2FFriceEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icela","download_url":"https://codeload.github.com/icela/FriceEngine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247675597,"owners_count":20977376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["engine","frice-engine","game","game-engine","java","javafx","jvm","kotlin","platform-independent","swing"],"created_at":"2024-09-24T21:45:31.594Z","updated_at":"2025-04-07T15:08:47.202Z","avatar_url":"https://github.com/icela.png","language":"Kotlin","readme":"# FriceEngine\n\n![image](https://avatars1.githubusercontent.com/u/21008243)\n\nCI|status\n:---|:---:\nTravis CI|[![Build Status](https://travis-ci.org/icela/FriceEngine.svg?branch=master)](https://travis-ci.org/icela/FriceEngine)\nAppVeyor|[![Build status](https://ci.appveyor.com/api/projects/status/75d7wx28u3tgtnat?svg=true)](https://ci.appveyor.com/project/ice1000/friceengine)\nCircleCI|[![CircleCI](https://circleci.com/gh/icela/FriceEngine.svg?style=svg)](https://circleci.com/gh/icela/FriceEngine)\nCodeShip|[![CodeShip](https://codeship.com/projects/a1d7bc60-0a30-0135-8b3c-6ed4d7e33e57/status?branch=master)](https://app.codeship.com/projects/214712)\n\n[![](https://jitpack.io/v/icela/FriceEngine.svg)](https://jitpack.io/#icela/FriceEngine)\n[ ![Download](https://api.bintray.com/packages/ice1000/FriceEngine/engine/images/download.svg) ](https://bintray.com/ice1000/FriceEngine/engine/_latestVersion)\n[![](https://jitpack.io/v/icela/FriceEngine/month.svg)](https://jitpack.io/#icela/FriceEngine) \u003cbr/\u003e\n[![Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg)](https://github.com/KotlinBy/awesome-kotlin)\n[![ktlint](https://img.shields.io/badge/code%20style-%E2%9D%A4-FF4081.svg)](https://icela.github.io)\n\nAn easy, light, native game engine running on JVM.\n\n+ Why easy? \u003cbr/\u003e\n[A flappy bird game](https://github.com/icela/FriceDemo/tree/master/1.7.9/Demo7.java) uses just 56 lines of Java code only.\u003cbr/\u003e\nWritten in Kotlin, also work on Java, JRuby, Groovy, Scala and other JVM languages.\n\n+ Why light? \u003cbr/\u003e\nThe release build jar is about 1.6mb (with a 1mb Kotlin runtime) only.\n\n+ Why native? \u003cbr/\u003e\nThis engine is completely platform-independent: no JNI linkage, no native methods.\n\n**View [Document](https://icela.github.io/#getting-started) to learn how to use Frice Engine.**\n\n## Screenshots\n\n- \u003cimg src=\"https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-01.gif\"\u003e\n- \u003cimg src=\"https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-02.gif\"\u003e\n- \u003cimg src=\"https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-03.gif\"\u003e\n- \u003cimg src=\"https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-04.gif\"\u003e\n- \u003cimg src=\"https://coding.net/u/ice1000/p/Gifs/git/raw/master/frice/frice-05.gif\"\u003e\n\n## Build\n\nGradle:\n\n```gradle\nrepositories { jcenter() }\ndependencies { compile 'org.frice:engine:1.8.5' }\n```\n\nAlternatively, you can follow the instruction from [JitPack](https://jitpack.io/#icela/FriceEngine).\u003cbr/\u003e\nAlternatively, you can download a jar from the [release page](https://github.com/icela/FriceEngine/releases).\n\n## Features\n\nThis engine is based on Java's built-in GUI framework, both Swing and JavaFX.\n\"Platform\" here refers to Swing/JavaFX.\n\n### Platform dependent\n\nThese features are differently implemented in Swing/JavaFX.  \nSince this project is still in progress, the unsupported features will soon be available.\n\nFeature|Swing|JavaFX\n:---|:---:|:---:\nLife cycle|√|√\nDialogs|√|√\nCursor overriding|√|√\nScreenshot|√|√\nButtons|√|√\nFull screen|√|√\nAlways on top|√|√\nText font/size|√|√\nMulti-instances|√|×\nResizability|√|√\nKey listener|√|√\nText measuring|√|√\n\n### Platform independent\n\n- Animations (moving, scaling, rotating, accelerating, chasing, approaching, etc.)\n- Audio playing (\\*.wav, \\*.mp3) by JavaSound/JavaFX Media\n- Clock system, timers\n- Delayed event manager\n- Automatic garbage collection (optional, objects far from the screen will be removed)\n- Resource manager (caching IO)\n- File/Image/Color/URL utils\n- Game objects\n- Frame animations\n- Key-value database\n- Particle effects\n- Attaching game objects\n- Collision detection with collision box\n\n## DSL\nSee [DSL for FriceEngine](https://github.com/icela/FriceEngine-DSL)\n\n## Contributions\nFeel free to open issue for feature request, bug reports, etc. \u003cbr/\u003e\nThis is generally a personal project, so please do give your genuine suggestions.\n\nThis project is using Issue-Driven-Development. \u003cbr/\u003e\nIssues are well organized and used to managed tasks.\n\n## Demos\nSee [FriceDemo](https://github.com/icela/FriceDemo) \u003cbr/\u003e\nAnd see [TouhouDemo](https://github.com/ice1000/TouhouDemo)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficela%2Ffriceengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficela%2Ffriceengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficela%2Ffriceengine/lists"}