#
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:
[
][web_app]
Or download it for your device:
Android:
[
][google_play]
[
][f_droid]
[
][amazon_appstore]
iOS/macOS:
[
][app_store]
Windows:
[
][download_windows]
Linux:
[
][flathub]
[
][download_appimage]
[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).