Ricochlime
Satisfying monster shooter
Install / Use
/learn @adil192/RicochlimeREADME
<img src="assets/icon/icon.png" width="30" height="30" alt="" aria-hidden="true"> 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: <img src='assets_raw/pwa-badge.png' alt='Launch as web app' height=50>
Or download it for your device:
Android: <img src='assets_raw/google-play-badge.png' alt='Get it on Google Play' height=50> <img src='assets_raw/f-droid-badge.png' alt='Get it on F-Droid' height=50> <img src='https://images-na.ssl-images-amazon.com/images/G/01/mobile-apps/devportal2/res/images/amazon-appstore-badge-english-black.png' alt='Available at Amazon Appstore' height=50>
iOS/macOS: <img src='assets_raw/app-store-badge.svg' alt='Get it on the App Store' height=50> Windows: <img src="assets_raw/windows-badge.png" alt="Download for Windows" height=50> Linux: <img src="assets_raw/flathub-badge.svg" alt="Download on Flathub" height=50> <img src="assets_raw/appimage-logo.png" alt="Get it as an AppImage" height=50>
<img src='metadata/en-US/images/flathubScreenshots/2_play.png' alt='Game screen with a player at the bottom facing multiple monsters' />Licenses
-
This repo (excluding assets) is licensed under the AGPL-3.0 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 | | HitWood by NoisyRedFox | Sound effect | CC0 | | Zelda-like tilesets and sprites by ArMM1998 (modified by me) | Sprite images | CC0 |
Technical
The game is made with the Flame game engine and Flutter, 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.
