Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aliscode/am4lgam8
Ludum Dare 54 - Rust + Bevy - 2048-style Puzzle game
https://github.com/aliscode/am4lgam8
1-bit bevy game puzzle puzzle-game rust
Last synced: about 1 month ago
JSON representation
Ludum Dare 54 - Rust + Bevy - 2048-style Puzzle game
- Host: GitHub
- URL: https://github.com/aliscode/am4lgam8
- Owner: AlisCode
- License: mit
- Created: 2023-10-01T18:41:46.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-05T10:32:24.000Z (about 1 year ago)
- Last Synced: 2023-10-06T06:57:20.372Z (about 1 year ago)
- Topics: 1-bit, bevy, game, puzzle, puzzle-game, rust
- Language: Rust
- Homepage: https://opinon.itch.io/am4lgam8-ludum-dare-54
- Size: 118 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AM4LGAM8 - Ludum Dare #54
> AMALGAMATE (Intransitive verb) : To combine into a unified or integrated whole
![Splashart](splash.png)
A game made in 48 hours for the [Ludum Dare](ldjam.com) Game Jam using Rust+Bevy. The theme was "Limited Space".
AM4LGAM8 is a simple Puzzle-game, and a tribute to 2048 (hence the numbers in the name). The goal is to score as many points as possible by exploding tiles using bombs. As you have very limited space, you can combine tiles so that they take up less space. Combining bombs together will explode the tiles and add their value to your score. As you progress in your run, walls will start appearing, further reducing your already limited space, until you eventually lose.
The game ends when you have no more possible moves.
The game is playable on the Web here : https://opinon.itch.io/am4lgam8-ludum-dare-54.
# Screenshots
![Screenshot](screen1.png)
![Screenshot](screen2.png)# Tech
I used Rust and Bevy, Aseprite for the graphics.
The codebase is not exactly what I would call "clean code" (it is a game jam, what do you expect ?), and therefore there are bugs, I'm sure.
I've written a few unit tests that have actually proven to be useful.I have tried to keep the core of the game logic decoupled from Bevy as much as possible (see the `game` module), so that Bevy just acts as a frontend.
For convenience, I ended up having to implement Bevy's traits for `Resource`, `Components` and `Events` anyway, but that's about it for the strictly Bevy-related stuff.For the plugins used, have a look inside `main.rs`. There are a couple of interesting hacks for pixel-art games in Bevy, as well as a `bevy_mod_picking` backend hacked
together from a Github thread.The UI is mostly just handplaced sprites to decorate a bit.
# Changelog
01/10/2023: Initial release for LD #54
04/10/2023: Various bug fixes
* It is now impossible for a tile to spawn under another one that has just been moved
* Tiles now correctly merge with each other when getting pushed