Puzzle game for Android made using libGDX. Download for free from the Play Store.
GPL-3.0 License
Rectball is a colorful puzzle game for Android. Make selections, clear rectangles and make points before the time runs out. Rectball is open source and runs on Android 4.0.3+.
You can join the beta on your mobile phone or visiting this link in your computer.
Thank you for your interest in helping to make Rectball better!
Have a suggestion or an idea? Hold it temporally to yourself. Or carry it to the 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.
Currently, JDK 17 is required. Older versions will not work, newer versions will not work. The plugins will look for any JDK 17 in the system. It is suggested that you use the Temurin JDK, but the decision on the vendor is yours.
(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)
To build Android versions, the Android SDK is required and it should be configured. You should not need to install the Android SDK to build the desktop or HTML 5 version; if it fails, it is a bug. The build process should work on most host operating systems.
./gradlew lwjgl3:run
./gradlew lwjgl3:jar
. Generates .jar in lwjgl3/build/lib
../gradlew lwjgl3:jpackage
. Generates package in lwjgl3/build/jpackage
Replace X
with osp
for the open source version or gpe
for the Google Play version.
./gradlew android:X:assembleDebug
, generates .apk in android/X/build/outputs/apk/debug
./gradlew android:X:assembleRelease
, generates .apk in android/X/build/outputs/apk/release
./gradlew android:X:assemble
, generates .apk in both directories.adb devices
to check devices):
./gradlew android:X:installDebug
./gradlew android:X:installRelease
./gradlew teavm:build
, generates output in teavm/build/dist/webapp
./gradlew teavm:run
, runs in http://localhost:8080
JPackage refuses to create an .app for macOS because macOS doesn't let apps have a zero as first version number. Until I release Rectball 1.0, the workaround is to hardcode version 1.0 when building the application:
./gradlew -PversionFamily=1.0 lwjgl3:jpackage
Verify the signatures of the app with ./gradlew android:osp:signatureReport
and ./gradlew android:gpe:signatureReport
.
For the GPE edition, the Google Play Games will not work unless the signing key matches the one uploaded to Google Play Console.
Signing can be done interactively from Android Studio.
When using Gradle, the applications are not signed by default, and must be signed later using apksigner
:
apksigner sign --ks [keychain] [path to the APK to sign]
Alternatively, the following four Gradle properties can be injected to sign automatically the generated applications:
keysign.storeFile
for the path to the keystore filekeysign.storePassword
for the main password of the keystore filekeysign.keyAlias
for the key alias in the keystore to usekeysign.keyPassword
for the password of the key aliasFor instance, in your $GRADLE_HOME/gradle.properties.
If these four settings are set, the signing keys will be automatically configured, and both debug and release APKs will be signed with these.
Again, always check the output of the signatureReport
task to confirm.
For 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
.
This 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.
Rectball is published under the terms of the GPL v3 (or later) license. Check the COPYING file.