Skip to content

This project has purpose to help rust game dev to implement a full turn-based combat into their game.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Fabinistere/bevy_turn-based_combat

Repository files navigation

Bevy Turn-Based Combat

v0.6.1 Bevy tracking MIT/Apache 2.0

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.

cuted-2023-07-12.13-41-00.mp4

Features

  • Phases
    • Roll Initiative
    • Execute in order Actions
  • Mecanics
    • Force Respect of the selected skill's TargetOption
    • 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
    • Nice, Smoother and intuitive ui inputs
    • TODO: CouldHave - Outline while Hover
    • TODO: MustHave - Visual - Character's Sheet (impl UI Sprites, Base Scroll)
    • Fighting Hall
      • Place Fighters corresponding of their tactical position (diamond shape)
      • Update fighters' transform % window's size
      • TODO: MustHave - Display all basic stats on the Fighting Hall (Hp/Mp under all entities)
      • Display alteration's icon
    • Initiative Vertical Bar
      • Display all action in the Initiative Vertical Bar
    • Character Sheet
      • Display all skill per entity (when selected)
      • Scrolling Logs
      • Display Job, Title, Stats
      • Display current stuff
      • 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:
    • 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, and this project adheres to Semantic Versioning.

This project also follows to 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

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:

See the very good reasons for including both here.

About

This project has purpose to help rust game dev to implement a full turn-based combat into their game.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Languages