https://github.com/fabinistere/bevy_turn-based_combat
This project has purpose to help rust game dev to implement a full turn-based combat into their game.
https://github.com/fabinistere/bevy_turn-based_combat
turn-based-combat
Last synced: 11 months ago
JSON representation
This project has purpose to help rust game dev to implement a full turn-based combat into their game.
- Host: GitHub
- URL: https://github.com/fabinistere/bevy_turn-based_combat
- Owner: Fabinistere
- License: apache-2.0
- Created: 2023-01-04T13:26:47.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2024-09-18T21:44:53.000Z (over 1 year ago)
- Last Synced: 2025-02-07T15:44:59.354Z (over 1 year ago)
- Topics: turn-based-combat
- Language: Rust
- Homepage: https://fabinistere.github.io/bevy_turn-based_combat/
- Size: 59.5 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Bevy Turn-Based Combat
[](https://github.com/Fabinistere/bevy_turn-based_combat/releases/tag/v0.6.1)
[](https://github.com/bevyengine/bevy/blob/main/docs/plugins_guidelines.md#main-branch-tracking)
[](https://github.com/fabinistere/bevy_turn-based_combat#license)
This project has purpose to help rust game dev to implement a full turn-based combat into their game. I intend to write a devlog.
## [Release Demo](https://fabinistere.github.io/bevy_turn-based_combat/)
[Combat Preview](https://github.com/Fabinistere/bevy_turn-based_combat/assets/73140258/536b91f1-6e4a-4e60-8c1d-21e19445676a)
## Features
- [x] Phases
- [x] Roll Initiative
- [x] Execute in order Actions
- [x] Mecanics
- [x] Force Respect of the selected skill's TargetOption
- [x] Decay turn left on Alteration / Effects on alteration
- [ ] TODO: MustHave - AI
- [ ] NPC Behavior
- [ ] Vision
- [ ] Strategy
- [ ] TODO: MustHave - Random
- [ ] TODO: MustHave - SoloButMemory with history of their allies' actions
- [ ] TODO: CouldHave - SoloBolo
- [ ] TODO: PostDemo - HiveMind
- [ ] UI
- [x] Nice, Smoother and intuitive ui inputs
- [ ] TODO: CouldHave - [Outline](https://github.com/YoshieraHuang/bevy_outline "or simple outline sprite") while Hover
- [ ] TODO: MustHave - Visual - Character's Sheet (impl UI Sprites, Base Scroll)
- [ ] Fighting Hall
- [x] Place Fighters corresponding of their tactical position (diamond shape)
- [x] Update fighters' transform % window's size
- [ ] TODO: MustHave - Display all basic stats on the Fighting Hall (Hp/Mp under all entities)
- [x] Display alteration's icon
- [x] Initiative Vertical Bar
- [x] Display all action in the Initiative Vertical Bar
- [x] Character Sheet
- [x] Display all skill per entity (when selected)
- [x] Scrolling Logs
- [x] Display Job, Title, Stats
- [x] Display current stuff
- [x] Browse among sheets (arrows)
## Notes
- FIXME: Select `Bam` or `Swing` instantly into select `Solo` will create two actions `Solo`
- REFACTOR: Team
- May replace all `if let Ok()/Some()/...` by the secure `match`
- PostDemo:
- [ ] Mecanics
- [ ] add in `TargetOption`: ClosestPosition
- [ ] Skill Range (depending of the caster's position).
Skill reachability (the closest enemy's line = First Line, even in `MiddleLine`/`BackLine`)
- [ ] `TierExtra` Skills (unlocked bvy job's tree)
- [ ] Select only 4 to 6 skills from your catalogue, for the next fight.
- [ ] `Turn Delay` before a skill to be executed (being queued for )
- [ ] Reduce skill cost by stuff and level
- [ ] UI
- [ ] Character Sheet
- [ ] Stuff Tab, Equip from Team's Inventory, Desequip
- [ ] Display somewhere else the skill catalogue
- Won't Have:
- [x] Multiple Character Sheet Visible on the wall
- ~~zoomed out CS with all real component~~ (a real mess...)
## Fun Facts
Dans ce projet, il existe une erreur que je connais:
$\exists e E(e) \wedge SelfAck(e)$
## Contribute
Release's format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
This project also follows to [A successful Git branching model](https://nvie.com/posts/a-successful-git-branching-model/).
### Assets deported - Ecological Issue
From now on, all my repertories using music and images that change frequently will have a special folder in our organisation's cloud.
To avoid using the git storage for such maters.
In fact, storing an image in git means that if a single pixel changes, git will completely save the previous image and the next image.
Which turns out to be a complete waste of energy in my case.
To get the assets of the last commit, please download this folder:
[Download Assets](https://drive.google.com/drive/folders/1VyAxd2Jsbv0EQ3Z_Ye4U7_Cybimk_Wk0?usp=share_link)
To find previous assets, they will be indicated for each release.
## License
This project is free, open source and permissively licensed!
All code in this repository is dual-licensed under either:
- MIT License ([LICENSE-MIT](LICENSE-MIT) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))
See the very good reasons for including both [here](https://github.com/bevyengine/bevy/issues/2373).