{"id":15175221,"url":"https://github.com/han-yaeger/yaeger","last_synced_at":"2025-10-26T10:31:22.366Z","repository":{"id":37947218,"uuid":"126814229","full_name":"han-yaeger/yaeger","owner":"han-yaeger","description":"Yaeger is Another Education Game Engine Runtime","archived":false,"fork":false,"pushed_at":"2025-01-10T09:33:12.000Z","size":36618,"stargazers_count":14,"open_issues_count":13,"forks_count":25,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-31T18:14:49.872Z","etag":null,"topics":["2d-game-engine","clean-code","engine","framework","game","guice","java","java-14","javafx","oop-principles"],"latest_commit_sha":null,"homepage":"http://han-yaeger.github.io/yaeger/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/han-yaeger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2018-03-26T10:46:14.000Z","updated_at":"2025-01-10T11:09:15.000Z","dependencies_parsed_at":"2023-09-22T14:28:10.906Z","dependency_job_id":"b6bb40bc-54a8-4bd0-91bf-c2a0c506a06d","html_url":"https://github.com/han-yaeger/yaeger","commit_stats":{"total_commits":1168,"total_committers":14,"mean_commits":83.42857142857143,"dds":"0.021404109589041043","last_synced_commit":"842c24c35db4356f61558e810946f2ae6ebe02c8"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/han-yaeger%2Fyaeger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/han-yaeger%2Fyaeger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/han-yaeger%2Fyaeger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/han-yaeger%2Fyaeger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/han-yaeger","download_url":"https://codeload.github.com/han-yaeger/yaeger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238310327,"owners_count":19450840,"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-game-engine","clean-code","engine","framework","game","guice","java","java-14","javafx","oop-principles"],"created_at":"2024-09-27T12:04:52.046Z","updated_at":"2025-10-26T10:31:22.361Z","avatar_url":"https://github.com/han-yaeger.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yaeger\n\n[![Java CI](https://github.com/han-yaeger/yaeger/workflows/Java%20CI/badge.svg)](https://github.com/han-yaeger/yaeger/actions?query=workflow%3A%22Java+CI+with+Maven%22)\n[![CodeFactor](https://www.codefactor.io/repository/github/han-yaeger/yaeger/badge)](https://www.codefactor.io/repository/github/han-yaeger/yaeger)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=han-yaeger_yaeger\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=han-yaeger_yaeger)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.han-yaeger/yaeger/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.han-yaeger/yaeger)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\nYaeger is Another Education Game Engine Runtime, and a fully functional 2D game-engine that\nrequires only a traditional Object-Oriented style of programming. It is based on JavaFX and\nrequires Java 21 or above to work.\n\n## Documentation\n\n* API: [https://han-yaeger.github.io/yaeger/](https://han-yaeger.github.io/yaeger/)\n* Manual: [https://han-yaeger.github.io/yaeger/book/](https://han-yaeger.github.io/yaeger/book/)\n* Tutorial: [Yaeger tutorial](https://github.com/han-yaeger/yaeger-tutorial)\n* Showcase: [Yaeger showcase](https://github.com/han-yaeger/yaeger-showcase)\n* Youtube: [Howto setup a new project with IntelliJ](https://www.youtube.com/watch?v=EvIrkw7VKO0)\n\n## Usage\nYaeger requires JDK21, and is available through the Maven Central Repository.\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.github.han-yaeger\u003c/groupId\u003e\n  \u003cartifactId\u003eyaeger\u003c/artifactId\u003e\n  \u003cversion\u003e2024.2025\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Modern Java, but an API with only traditional Object Orientation?\n\nYaeger is to be used in a course that is part of the first year at the HAN University of applied sciences. Students\njust learned to master Object Orientation in the traditional sense and therefore the API of Yaeger is only targeted\ntowards that use case. Fancy functional aspects (such as Streams and Lambda's) are used within Yaeger itself, but are not\nexposed through its API.\n\n## Versioning\n\nBecause Yaeger will be used in an educational context, versioning will be based on school years.\nThus version 2020.2021 will be used during the school year that start in September 2020 and ends in July 2021.\n\n### Breaking changes\n\nIt is likely that the API will break between different versions. This is partially intended, since it is to\nbe used in an educational context and there is no shame in preventing students from using previous iterations.\n\n## Contributions\n\nContributing to Yaeger is encouraged, and we would love to review your Pull Requests. Either\npick up one of the Issues or implement a feature you've been missing. Ensure that your feature does\nnot require modern Java features to be exposed through the API.\n\n## License\n\nThe code and documentation in this project are released under the [GNU General Public License v3.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhan-yaeger%2Fyaeger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhan-yaeger%2Fyaeger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhan-yaeger%2Fyaeger/lists"}