Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spacemen0/fishmans-adventure
https://github.com/spacemen0/fishmans-adventure
bevy rust
Last synced: 12 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/spacemen0/fishmans-adventure
- Owner: spacemen0
- Created: 2024-12-17T14:56:46.000Z (23 days ago)
- Default Branch: main
- Last Pushed: 2024-12-27T14:29:20.000Z (13 days ago)
- Last Synced: 2024-12-27T14:32:09.633Z (13 days ago)
- Topics: bevy, rust
- Language: Rust
- Homepage: https://spacemen0.github.io/fishmans-adventure/
- Size: 596 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fishmans Adventure
This is a 2d top-down shooter written in [Rust](https://www.rust-lang.org/) using the [Bevy](https://bevyengine.org/) game engine. It's currently under development## Usage
- Clone the repo
```bash
git clone [email protected]:spacemen0/fishmans-adventure.git
cd fishmans-adventure
```
- Run
```bash
cargo run
```## Configurations
- The project config file is located at `src/configs.rs`## Credits
- Game assets - [https://0x72.itch.io/dungeontileset-ii](https://0x72.itch.io/dungeontileset-ii)
- Monogram Font - [https://datagoblin.itch.io/monogram](https://datagoblin.itch.io/monogram)## Controls
- `WASD` for movement
- `Q` for weapon switching
- `P` for pausing/unpausing game
- `R` for restarting game
- `1,2` for using potions
- Mouse wheel to change camera zoom## Todo
### Gameplay Mechanics
- [x] **Automatic Player Fire**
- [x] Implement automatic firing mechanism for the player.
- [x] Define fire rate and control options for automatic firing.- [X] **Re-engineer Enemy Spawning Logic**
- [x] Implement wave-based spawning system.
- [x] Define wave progression and difficulty scaling.
- [X] Add enemy spawn patterns for different waves.- [x] **Enemy Projectiles and Collision**
- [x] Add functionality for enemies to fire projectiles.
- [x] Implement collision detection between player and enemy projectiles.
- [x] Prevent overlap between sprites of specific entities- [x] **Implement invincible time**
- [x] **Enhance Enemy Diversity**
- [x] Create new enemy types with varying behaviors.
- [x] Define attributes and projectiles firing abilities for each new enemy type.- [ ] **Loot System**
- [x] Design loot drop mechanics (e.g., probability, loot pools).
- [x] Define loot types (potions, weapons, armors, etc.).
- [X] Implement loot dropping logic for enemies and events.
- [x] Implement potion usage mechanics and effects.
- [ ] Implement loot picking logic### User Interface
- [ ] **On-Screen Information**
- [x] Display wave counts on screen.
- [ ] Implement switch to toggle on/off on-screen debug messages.- [ ] **Loot Display GUI**
- [ ] Design and implement GUI elements for displaying loot information.
- [ ] Add functionality for showing item details and usage options.- [x] **Pause Game and Settings**
- [x] Implement pause game functionality and render pause game screen
- [ ] Spawn setting screen when pausing game
### World and NPC Features
- [x] **Portal to NPC Town**
- [ ] Design and implement a portal or transition system to the NPC town.- [ ] **NPC Town Map**
- [ ] Create a visual map for the NPC town.
- [ ] Implement navigation and interaction within the town.- [ ] **Trade System**
- [ ] Develop a trading system for buying and selling loot.
- [ ] Implement NPC interactions for trade.
- [ ] Define tradeable items and pricing mechanisms.### Bug Fix
- [ ] Health should reset when starting new game
- [ ] Enemy number is not correctly set to 0### Balance Game