{"id":16980133,"url":"https://github.com/danirod/rectball","last_synced_at":"2025-03-17T08:38:14.041Z","repository":{"id":37602309,"uuid":"42364632","full_name":"danirod/rectball","owner":"danirod","description":"Puzzle game for Android made using libGDX. Download for free from the Play Store.","archived":false,"fork":false,"pushed_at":"2024-01-31T20:35:08.000Z","size":16930,"stargazers_count":68,"open_issues_count":3,"forks_count":22,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-27T21:49:44.303Z","etag":null,"topics":["android","game","gradle","libgdx","puzzle-game"],"latest_commit_sha":null,"homepage":"https://rectball.danirod.es/","language":"Kotlin","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/danirod.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.txt","contributing":null,"funding":null,"license":"COPYING","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":"2015-09-12T16:41:40.000Z","updated_at":"2025-01-26T01:56:31.000Z","dependencies_parsed_at":"2024-01-17T19:13:18.966Z","dependency_job_id":"f7af5ea2-7f99-41c6-8506-7ceb4bf9f1a5","html_url":"https://github.com/danirod/rectball","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Frectball","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Frectball/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Frectball/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Frectball/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danirod","download_url":"https://codeload.github.com/danirod/rectball/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243853683,"owners_count":20358461,"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":["android","game","gradle","libgdx","puzzle-game"],"created_at":"2024-10-14T01:49:38.174Z","updated_at":"2025-03-17T08:38:10.763Z","avatar_url":"https://github.com/danirod.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/danirod/rectball/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/tag/danirod/rectball.svg\"\u003e\u003c/a\u003e\n    \u003ca href=\"http://www.gnu.org/licenses/gpl-3.0.html\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-GPL3-blue.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"skin/posters/header.svg\" width=\"500px\" alt=\"Rectball\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href='https://play.google.com/store/apps/details?id=es.danirod.rectball.android'\u003e\u003cimg alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png' style='width: 25%; height: 25%;'/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nRectball is a colorful puzzle game for Android.\nMake selections, clear rectangles and make points before the time runs out.\nRectball is open source and runs on Android 4.0.3+.\n\nYou can join the beta on your mobile phone or visiting [this link in your computer](https://play.google.com/apps/testing/es.danirod.rectball.android).\n\n# Contributing\n\nThank you for your interest in helping to make Rectball better!\n\nHave a suggestion or an idea? Hold it temporally to yourself.\nOr carry it to the [discussions](https://github.com/danirod/rectball/discussions), but keep in mind that I won't be addressing feedback until the current roadmap is finished and version 1.0 is finally released.\n\n# Development requirements\n\nCurrently, **JDK 17 is required**.\nOlder versions will not work, newer versions will not work.\nThe plugins will look for any JDK 17 in the system.\nIt is suggested that you use the Temurin JDK, but the decision on the vendor is yours.\n\n_(In the future, I'd like to change this behaviour and test the Java versions I accept in my build.gradle files because I honestly still don't know)_\n\nTo build Android versions, the Android SDK is required and it should be configured.\n**You should not need to install the Android SDK to build the desktop or HTML 5 version; if it fails, it is a bug**.\nThe build process should work on most host operating systems.\n\n# Gradle projects\n\n* :lwjgl3 - the desktop version (powered by LWJGL 3, runs on most desktop environments)\n* :teavm - the HTML5 version (uses TeaVM since Rectball is using Kotlin)\n* :android:gpe - the Android Google Play Edition (used to deploy to Google Play)\n* :android:osp - the Android Open Source Project (does not use privative components, fully GPL)\n\n# Useful Gradle commands\n\n## PC version\n\n* Run: `./gradlew lwjgl3:run`\n* Pack into a JAR: `./gradlew lwjgl3:jar`. Generates .jar in `lwjgl3/build/lib`.\n* Create self-contained package: `./gradlew lwjgl3:jpackage`. Generates package in `lwjgl3/build/jpackage`\n\n## Android version\n\nReplace `X` with `osp` for the open source version or `gpe` for the Google Play version.\n\n* Compile open source APKs:\n  * Debug: `./gradlew android:X:assembleDebug`, generates .apk in `android/X/build/outputs/apk/debug`\n  * Release: `./gradlew android:X:assembleRelease`, generates .apk in `android/X/build/outputs/apk/release`\n  * Both: `./gradlew android:X:assemble`, generates .apk in both directories.\n* Install in the connected devices (use `adb devices` to check devices):\n  * Debug version: `./gradlew android:X:installDebug`\n  * Release version: `./gradlew android:X:installRelease`\n\n## Web version\n\n* Create HTML5: `./gradlew teavm:build`, generates output in `teavm/build/dist/webapp`\n* Run server: `./gradlew teavm:run`, runs in http://localhost:8080\n\n# Common and known issues\n\n## JPackage cannot pack Rectball (\"The first number in an app-version cannot be zero or negative\")\n\nJPackage refuses to create an .app for macOS because macOS doesn't let apps have a zero as first version number.\nUntil I release Rectball 1.0, the workaround is to hardcode version 1.0 when building the application:\n\n    ./gradlew -PversionFamily=1.0 lwjgl3:jpackage\n\n## Application signing on Android\n\nVerify the signatures of the app with `./gradlew android:osp:signatureReport` and `./gradlew android:gpe:signatureReport`.\nFor the GPE edition, the Google Play Games will not work unless the signing key matches the one uploaded to Google Play Console.\n\nSigning can be done interactively from Android Studio.\n\nWhen using Gradle, the applications are not signed by default, and must be signed later using `apksigner`:\n\n    apksigner sign --ks [keychain] [path to the APK to sign]\n\nAlternatively, the following four Gradle properties can be injected to sign automatically the generated applications:\n\n* `keysign.storeFile` for the path to the keystore file\n* `keysign.storePassword` for the main password of the keystore file\n* `keysign.keyAlias` for the key alias in the keystore to use\n* `keysign.keyPassword` for the password of the key alias\n\nFor instance, in your $GRADLE_HOME/gradle.properties.\nIf these four settings are set, the signing keys will be automatically configured, and both debug and release APKs will be signed with these.\nAgain, always check the output of the `signatureReport` task to confirm.\n\n## Google Play Games IDs\n\nFor the Google Play edition, the achievement and leaderboard IDs should be downloaded from Google Play Console and placed into `android/gpe/res/values/game-ids.xml`.\n\nThis XML file is not confidential (I assume), since these strings are public and placed in the APK anyway, but I prefer to keep this out of the repository to force myself to use fresh data.\n\n# License\n\nRectball is published under the terms of the GPL v3 (or later) license. Check the [COPYING](COPYING) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanirod%2Frectball","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanirod%2Frectball","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanirod%2Frectball/lists"}