# Ricochlime Ricochlime is a casual game for every platform where you defend yourself against waves of monsters with your ricocheting projectiles. I originally built this game as something to do with my hands while I focused on lectures during my computer science degree. It's designed as a calm, relaxed alternative to the fast-paced, high-stimulation games that dominate the app stores. You can play it online: Web:   [Launch as web app][web_app] Or download it for your device: Android:   [Get it on Google Play][google_play]   [Get it on F-Droid][f_droid]   [Available at Amazon Appstore][amazon_appstore] iOS/macOS:   [Get it on the App Store][app_store]   Windows:   [Download for Windows][download_windows]   Linux:   [Download on Flathub][flathub]   [Get it as an AppImage][download_appimage] Game screen with a player at the bottom facing multiple monsters [google_play]: https://play.google.com/store/apps/details?id=com.adilhanney.ricochlime [f_droid]: https://f-droid.org/packages/com.adilhanney.ricochlime/ [amazon_appstore]: https://www.amazon.co.uk/Adil-Hanney-Ricochlime/dp/B0CFK76XNX/ [app_store]: https://apps.apple.com/app/ricochlime/id6459539993 [web_app]: https://ricochlime.adil.hanney.org [flathub]: https://flathub.org/apps/com.adilhanney.ricochlime [download_windows]: https://github.com/adil192/ricochlime/releases/download/v1.14.0/RicochlimeInstaller_v1.14.0.exe [download_appimage]: https://github.com/adil192/ricochlime/releases/download/v1.14.0/Ricochlime-1.14.0-x86_64.AppImage ## Licenses - This repo (excluding assets) is licensed under the [AGPL-3.0](LICENSE.md) license. - Ricochlime uses third party works including audio assets, visual assets, and code packages, which are licensed independently. All licenses are available in the app: Go to Settings >> App Info >> View Licenses. Here is a non-exhaustive subset of those licenses: | Asset | Purpose | License | | --- | --- | --- | | Abstraction - Music Loop Bundle | Background music | [CC0](assets/audio/bgm/LICENSE.txt) | | HitWood by [NoisyRedFox](https://freesound.org/people/NoisyRedFox/sounds/759825/) | Sound effect | [CC0](assets/audio/sfx/LICENSE) | | Zelda-like tilesets and sprites by [ArMM1998](https://opengameart.org/content/zelda-like-tilesets-and-sprites) (modified by me) | Sprite images | [CC0](assets/images/LICENSE.md) | ## Technical The game is made with the [Flame](https://flame-engine.org/) game engine and [Flutter](https://flutter.dev/), allowing it to be deployed to a wide variety of platforms from a single codebase. ### Why Flutter and Flame? I chose Flame because of its integration with Flutter. It is much easier to produce a good user interface in Flutter than with game engines like Unity. Additionally, Flame is lightweight and performant, making it the best fit for a simple 2D game like this. Ricochlime launches in less than a second and easily runs at 60fps+ on low-end devices while sipping very little battery. ### Project structure ``` RICOCHLIME ├── assets Game assets │ ├── audio Background music files │ ├── google_fonts Fonts │ ├── icon Icon variants for different platforms │ └── images Spritesheets for the character, monsters, etc. │ ├── lib Main source code │ ├── ads In-app purchase handling (ads were removed v1.11.6) │ ├── flame Game engine specific code │ ├── i18n Translations │ ├── nes Retro themed components, extending from the nes package │ ├── pages App pages (home, settings, etc.) │ └── utils Misc code │ ├── patches Patches to remove development/proprietary code before publishing ├── scripts Development scripts (e.g. for generating icons or updating versions) └── test Unit and widget tests ``` ### Build To build this project yourself, see [BUILD.md](BUILD.md).