{"id":15030178,"url":"https://github.com/almasb/fxgl","last_synced_at":"2025-05-12T13:07:31.877Z","repository":{"id":29229306,"uuid":"32761091","full_name":"AlmasB/FXGL","owner":"AlmasB","description":"Java / JavaFX / Kotlin Game Library (Engine)","archived":false,"fork":false,"pushed_at":"2025-05-10T10:09:35.000Z","size":90172,"stargazers_count":4602,"open_issues_count":146,"forks_count":616,"subscribers_count":103,"default_branch":"dev","last_synced_at":"2025-05-12T13:06:47.055Z","etag":null,"topics":["2d","2d-framework","2d-game-engine","2d-game-framework","3d","3d-game-engine","android","framework","fxgl","game","game-development","game-engine","gamedev","ios","java","javafx","jvm","kotlin","mobile","web"],"latest_commit_sha":null,"homepage":"http://almasb.github.io/FXGL/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlmasB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"AlmasB"}},"created_at":"2015-03-23T21:55:07.000Z","updated_at":"2025-05-12T10:11:19.000Z","dependencies_parsed_at":"2025-04-23T00:10:31.473Z","dependency_job_id":null,"html_url":"https://github.com/AlmasB/FXGL","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlmasB%2FFXGL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlmasB%2FFXGL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlmasB%2FFXGL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlmasB%2FFXGL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlmasB","download_url":"https://codeload.github.com/AlmasB/FXGL/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253745152,"owners_count":21957317,"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":["2d","2d-framework","2d-game-engine","2d-game-framework","3d","3d-game-engine","android","framework","fxgl","game","game-development","game-engine","gamedev","ios","java","javafx","jvm","kotlin","mobile","web"],"created_at":"2024-09-24T20:12:40.052Z","updated_at":"2025-05-12T13:07:31.817Z","avatar_url":"https://github.com/AlmasB.png","language":"Kotlin","readme":"![promo](https://raw.githubusercontent.com/AlmasB/git-server/master/storage/images/fxgl_promo.jpg)\n\n## Languages\n\n\u0026emsp;\u0026emsp;English\n\n\u0026emsp;\u0026emsp;[简体中文](https://github.com/AlmasB/FXGL/blob/dev/README_CN.md)\n\n\u0026emsp;\u0026emsp;[Русский](https://github.com/AlmasB/FXGL/blob/dev/README_RU.md)\n\n## About\n\n\u003cimg src=\"https://raw.githubusercontent.com/AlmasB/git-server/master/storage/images/fxgl_logo.png\" width=\"128\" /\u003e\n\nJavaFX Game Development Framework\n\n[![Maven Central](https://img.shields.io/maven-central/v/com.github.almasb/fxgl.svg)]()\n[![Build Status](https://github.com/AlmasB/FXGL/workflows/Java%20CI%20with%20Maven/badge.svg)](https://github.com/AlmasB/FXGL/actions)\n[![codecov](https://codecov.io/gh/AlmasB/FXGL/branch/dev/graph/badge.svg)](https://codecov.io/gh/AlmasB/FXGL)\n[![sponsor](https://img.shields.io/badge/sponsor-%241-brightgreen)](https://github.com/sponsors/AlmasB)\n[![JFXCentral](https://img.shields.io/badge/Find_me_on-JFXCentral-blue?logo=googlechrome\u0026logoColor=white)](https://www.jfx-central.com/libraries/fxgl)\n\n### Why FXGL?\n\n* No installation or setup is required\n* \"Out of the box\": Java 8-21, Win/Mac/Linux/Android 8+/iOS 11.0+/Web\n* Simple and clean API, higher level than other engines\n* Superset of JavaFX: no need to learn new UI API\n* Real-world game development techniques: Entity-Component, interpolated animations, particles, and [many more](https://github.com/AlmasB/FXGL/wiki/Core-Features)\n* Games are easily packaged into a single executable .jar, or native images\n\n### Good for:\n\n* Any 2D game (side-scroller / platformer / arcade / RPG)\n* Any business application with complex UI controls / animations\n* Experimental 3D\n* Hobby / academic / commercial projects\n* Teaching / learning / improving game development skills\n* Fast prototyping of app ideas\n\n### Minimal Example\n\n```java\npublic class BasicGameApp extends GameApplication {\n\n    @Override\n    protected void initSettings(GameSettings settings) {\n        settings.setWidth(800);\n        settings.setHeight(600);\n        settings.setTitle(\"Basic Game App\");\n    }\n\n    public static void main(String[] args) {\n        launch(args);\n    }\n}\n```\n\n## Getting Started\n\nFor a quick dive into code, see standalone [basic examples](https://github.com/AlmasB/FXGL/tree/dev/fxgl-samples/src/main/java/basics).\n\nOtherwise, see:\n\n* [FXGL book](https://link.springer.com/book/10.1007/978-1-4842-8625-8?sap-outbound-id=3352BB472E8E602B4B29844F1A86CCC4374DDF6E)\n* [Showcase Trailer](https://youtu.be/fuDQg7W0v4g)\n* [Use FXGL with IntelliJ](https://youtu.be/LhmlFC6KE2Q)\n* [Wiki \u0026 written tutorials](https://github.com/AlmasB/FXGL/wiki)\n* [YouTube tutorials](https://www.youtube.com/playlist?list=PL4h6ypqTi3RTiTuAQFKE6xwflnPKyFuPp)\n* [Sample code demos](fxgl-samples)\n* [FXGL games](https://github.com/AlmasB/FXGLGames) (with source)\n* [Published demos](https://fxgl.itch.io/) on itch.io\n\n### Maven\n\n* [Maven](https://github.com/AlmasB/FXGL-MavenGradle) template project if you use Java and/or Kotlin\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.almasb\u003c/groupId\u003e\n    \u003cartifactId\u003efxgl\u003c/artifactId\u003e\n    \u003cversion\u003e21.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n\n* [Gradle](https://github.com/AlmasB/FXGL-MavenGradle) template project if you use Java and/or Kotlin\n\nPlease refer to the template if there are any errors.\n\n```gradle\nrepositories {\n    jcenter()\n}\n\ndependencies {\n    compile 'com.github.almasb:fxgl:21.1'\n}\n```\n\n### Modularity\n\nIf you wish to develop a modular application, here's a complete example of your `module-info.java`:\n\n```java\nopen module app.name {\n    requires com.almasb.fxgl.all;\n}\n```\n\n### Uber jar\n\nDownload the latest uber jar from [Releases](https://github.com/AlmasB/FXGL/releases)\n\n## Community\n\n* University of Brighton, UK\n* University of Nottingham, UK\n* Georgia Institute of Technology, USA\n* kidOYO, USA\n* Walton High School, USA\n* Conant High School, USA\n* Zealand Institute of Business and Technology, Denmark\n* Federal Institute of Education, Science and Technology of Rio Grande do Sul, Brazil\n* FHNW School of Engineering / Computer Science, Switzerland\n* Johann-Andreas-Schmeller-Gymnasium Nabburg, Germany\n\nIf your institution wants to use or is using FXGL, add a note via [GitHub Discussions](https://github.com/AlmasB/FXGL/discussions) to be added to the list.\n\nCommunity tutorials:\n\n- [Space Ranger](https://www.journaldev.com/40219/space-rangers-game-java-fxgl) at journaldev\n- [Geometry Wars](https://webtechie.be/post/2020-05-07-getting-started-with-fxgl/) at webtechie\n- [Mazela-Man](https://dykstrom.github.io/mazela-man-web/home/) by dykstrom\n\nCommunity projects (identified using `fxgl` topic): \n\n- [SOFTKNK.IO](https://github.com/softknk/softknk.io)\n- [Consume](https://ergoscrit.itch.io/consume)\n- [FXGL Sliding Puzzle](https://github.com/beryx/fxgl-sliding-puzzle)\n\nIf you'd like your project featured here, just add a note via [GitHub Discussions](https://github.com/AlmasB/FXGL/discussions).\n\n### Development Team\n\nA description of roles is given in the [Contribution Guide](CONTRIBUTING.md).\n\nMaintainers (Collaborators):\n\n* [Almas Baimagambetov](https://github.com/AlmasB)\n\nCoordinators:\n\n* [Chengen Zhao](https://github.com/chengenzhao)\n\nTesters:\n\n* [Carl Dea](https://github.com/carldea)\n* [Frank Delporte](https://github.com/FDelporte)\n\n### Contribution \u0026 Support\n\nIf you want to build FXGL from the source code or want to contribute,\nplease see the [Contribution Guide](CONTRIBUTING.md) (including non-code).\nFXGL is fully modular, so new contributors do not need to understand the entire codebase, only the module to which the contribution is made.\nContributions will be reviewed in accordance with the [Code of Conduct](CODE_OF_CONDUCT.md).\n\nYou can support the FXGL development or show interest by simply starring the repo or becoming a [sponsor](https://github.com/sponsors/AlmasB).\n\n### Sponsors\n\nUsers:\n\n* @Marsl10\n* @SergeMerzliakov\n* @mbains\n* @sabit86\n* @hendrikebbers\n* @ImperaEtConquer\n* @thejeed\n* @chikega\n\nCompanies:\n\n* @karakun\n\n### Contact\n\n* Ask questions via [GitHub Discussions](https://github.com/AlmasB/FXGL/discussions) \n* Ask via [StackOverflow](https://stackoverflow.com/search?q=fxgl) with tags `javafx` and `fxgl`\n* Tweet with [#fxgl](https://twitter.com/search?src=typd\u0026q=%23fxgl)\n","funding_links":["https://github.com/sponsors/AlmasB"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falmasb%2Ffxgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falmasb%2Ffxgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falmasb%2Ffxgl/lists"}