The video game for Fonts of Power. A tabletop roleplaying game made in Rust with Bevy!

Related tags

Games fop-game
Overview

The code and rules for Fonts of Power, a tactical TTRPG / video game about exploring magical places.

You can follow its development in our Discord server!

Docs Build Instructions

  1. Install the current version of mdBook
  2. Navigate to the project root directory.
  3. Run mdbook serve docs.

Game Build Instructions

  1. Set up Bevy and Rust following the Bevy book.
  2. Run cargo run --release in the project root directory.
Comments
  • Add a LICENSE.md file

    Add a LICENSE.md file

    We want something that allows free use of parts of the code, no use of complete code, no use of assets.

    Core functionality will be spun out to small libraries whenever possible, which will be MIT.

    meta 
    opened by alice-i-cecile 15
  • Are the new height tier rules fast and interesting enough?

    Are the new height tier rules fast and interesting enough?

    What questions need to be answered?

    1. Does this accurately model the feel of various arenas?
    2. Do both ranged and melee characters care about holding the high ground?
    3. Are flyers too oppressive in arenas with lots of abrupt edges?
    4. Is falling damage tuned appropriately?

    What is the minimal viable test for this?

    Design standard height-tier arenas to capture common scenarios:

    • suspension bridge
    • hills and valleys
    • canyon
    • two-story house with balcony
    • warehouse with walkways
    • spiralling mountain path
    • castle siege with ladders
    • tight spiral staircase

    Why do we need to know this now?

    Powers which create height tiers need to be fun, interesting and balanced.

    This is needed to decide the visual style and geometry of the video game.

    prototype-needed 
    opened by alice-i-cecile 9
  • Ensure each class has subclasses or equivalent

    Ensure each class has subclasses or equivalent

    Essential for thematic + gameplay hooks for players.

    • [x] bladesworn
    • [x] conduit
    • [x] devout
    • [x] incarnation
    • [ ] inventor
    • [x] paragon
    • [ ] runescribe
    • [ ] runeseeker
    • [x] soulbinder
    • [x] touched
    • [x] trickster
    • [x] weaver
    • [x] wildshaper
    content-needed fluff 
    opened by alice-i-cecile 9
  • Certain ailments are more powerful than others

    Certain ailments are more powerful than others

    What problem does the current design create?

    Is a balance-wise problem, mostly because there are affixes that let you choose any ailments and, as currently, you will always select the most powerful ones and never the others.

    What solution would you like?

    Buffing or nerfing the ailments to make them more or less on the same level or classifying them into major or minor ailments and use the distiction to balance affixes/features that works for ailments.

    What alternative(s) have you considered?

    Another solutions could be to avoid affixes/features that let you freely choose the ailment and instead making them fixed (with maybe some exception if you want versatility to be a thing of that particular affix/feature, but still avoid a completely free choice of all the ailments).

    design 
    opened by pagnabros 5
  • Turn-based combat event architecture

    Turn-based combat event architecture

    User Stories

    Select an Action

    1. Actor previews actions. This shows, based on the information the actor currently has, what an action might do. This includes reactions that will trigger.
    2. Actor picks one of these actions. They select sub-options within it, commonly targets or where to move.
    3. Initial effects (e.g. movement, rolling for attack and damage) are added to the stack.
    4. Reactions trigger.
    5. Other actors decide whether or not to react. Reactions are added to the stack.
    6. Reactions resolve from new-to-old. Some effects are modified / rolled back (e.g. Grapple AoOs).
    7. Repeat 4-7 until all actions are complete.

    Action Planning

    1. An AI examines options, from step 1 above, and selects one.
    2. They repeatedly simulate how the world might respond, from the user story above.
    3. These may be nested to get further look-aheads.
    4. They use a learned or built-in heuristic to decide on a course of action based on these results.

    Tolerances

    • turn-based architecture: many frames between
    • AI decision making doesn't need to be particularly clever
    • we can share a ton of the code and behavior between players and AI

    Constraints

    • must use some form of caching: AI use case is very expensive
    • must be able to simulate game state
    • must be able to advance within a single frame
    • must be extremely easy to hook into various parts of this architecture to modify effects with affixes and abilities
    • predictions should differ based on available information. Only the internal architecture should have access to the True Predictions
    technical 
    opened by alice-i-cecile 5
  • Expertise feels not as impactful as the other stats

    Expertise feels not as impactful as the other stats

    What problem does the current design create?

    I'm afraid Expertise could become the dump stat for min-maxers.

    What solution would you like?

    A solution could be that the number of skills you have is 4+Expertise instead of a fixed 5, so that Expertise feels a little more rewarding.

    design 
    opened by pagnabros 4
  • Improve difficult terrain rules

    Improve difficult terrain rules

    What problem does the current design create?

    Rounding down or reducing by one causes strange edge cases with forced movement.

    What solution would you like?

    Forced movement reduced by half, rounded up.

    What alternative(s) have you considered?

    No effect on forced movement.

    bug design 
    opened by alice-i-cecile 4
  • Fix negative affixes

    Fix negative affixes

    We want to keep these because they are very cool and thematic, and let you take meaningful drawbacks on your build.

    Problems:

    • Fast swapping
    • Martial/caster division for free points
    • Compile-time hard countering

    Proposal 1: Restrict by class/species only

    • Add class and species restrictions to affixes
    • Open question: frontline/backline divide is very fuzzy for many classes. how to handle?
      • Can add stronger restrictions (an affix is only listed for your class if there's no way you can abuse it), but that's lame

    Proposal 2: Class talents

    • Remove combat talents
    • Add class talents: they're like combat talents, but for your class
    • Add negative class talents, aka "class drawbacks". Players can opt into these and they cancel out class talents 1:1 (letting you pick more talents)
    • Remove any negative affix that isn't a detriment to every build (might be all negative affixes)

    Regardless we want:

    • Class and species restrictions on affixes as a nice to have. They open up a lot of interesting design space.
    design 
    opened by plof27 4
  • Absorption feeling a little clunky

    Absorption feeling a little clunky

    What problem does the current design create?

    I think that the part "The only time this does not occur is when you gain absorption at a time when it was not your turn, such as when it was received as a boon from an ally" is not worthy the possible confusion that could arise at the table because of it.

    What solution would you like?

    I would personally remove that phrase but at the same I would make abilities that grant absorption granting more of it and make it disappear at the end of your next turn, not the start.

    design 
    opened by pagnabros 2
  • Add basic exploration feats

    Add basic exploration feats

    Species:

    • [x] automaton
    • [x] awakened
    • [x] crystalline
    • [x] fae
    • [x] fontborn
    • [x] human
    • [x] reclaimer
    • [x] slime
    • [x] sylvan
    • [x] undead

    Classes:

    • [x] bladesworn
    • [x] conduit
    • [x] devout
    • [x] incarnation
    • [x] paragon
    • [x] soulbinder
    • [x] touched
    • [x] trickster
    • [x] weaver
    • [x] wildshaper
    content-needed 
    opened by alice-i-cecile 2
  • Fontborn and Touched are confusingly similar, but not explicitly tied

    Fontborn and Touched are confusingly similar, but not explicitly tied

    What problem does the current design create?

    Flavorwise, the Fontborn Mutants and Touched share a very similar niche. Why do some creatures who have this happen to them become Touched, and others just Fontborn?

    What solution would you like?

    1. Replace arms / armor affix species feature + trinket species feature on Fontborn with picking Touched feats.
    2. Explain that some Touched are particularly affected Fontborn.

    What alternative(s) have you considered?

    Cut Fontborn. Force all Touched to be Fontborn species.

    fluff 
    opened by alice-i-cecile 2
  • System should evolve from binary results to a three-four results system

    System should evolve from binary results to a three-four results system

    Which type of content is this?

    • Game system

    What's the idea?

    • I think the game will benefit a lot from stop being binary on results and introduce instead a four result variability, being it failure, half success, full success and critical success, with a codified list of possibilities for each possibility (instead of being enirely up to the DM). It will make the game much more interesting and each roll exciting without slowing too much the game and being an excessive burden to the DMs.
    design 
    opened by pagnabros 0
  • The rows for the Features in the Character Sheet are too many and too small

    The rows for the Features in the Character Sheet are too many and too small

    What problem does the current design create?

    Since the rows are so small, it is hard to write the full names and descriptions of the feats in legible handwriting and a lot of unused rows remain, which take up about a fourth of the sheet at higher levels and almost half at lower levels.

    What solution would you like?

    Having less slots, but allocating more space to each of them.

    What alternative(s) have you considered?

    Alternatively, Features could be written on separate cards like Actions.

    design 
    opened by Mibanfi 0
  • Markdown lintings

    Markdown lintings

    I am procrastinating so hard.

    But this is important! Consistency is needed for the sake of going from markdown-to-[csv/xml]! That consistency will be enforced in part by markdown lints.

    Yes, that's what I tell myself.

    opened by bzm3r 0
  • The Defense Action feels like it is underdeveloped in respect to Block and Dodge

    The Defense Action feels like it is underdeveloped in respect to Block and Dodge

    I would like to have more affixes/feats/class feature that interact more with this Actions, otherwise it feels like the "lesser" version of both Block and Dodge

    design content-idea 
    opened by pagnabros 1
  • Focus should affect something else beside essence points, at least for monsters

    Focus should affect something else beside essence points, at least for monsters

    What problem does the current design create?

    Since certain categories of monsters (if not all) will not use Essence Points, Focus should influence something else to make the stat be useful for them instead of being only defensive.

    What solution would you like?

    Honestly I don't know yet, but I read that there is a rule in which Presence will enhance monster attacks when they are nearly dead so maybe something similar?

    design 
    opened by pagnabros 0
  • Design review: crafting systems

    Design review: crafting systems

    How exactly do we want this to work? What happened to trinkets? How are consumables going to work?

    We need to do another refresh as a team to figure out next steps.

    design 
    opened by alice-i-cecile 0
Owner
null
Pong-like videogame made with Rust and Bevy

Rust pong Pong-like videogame made with Rust and Bevy Features Correct Physics AI Score Wasm TO DO Score Wasm Multiplayer How to run For the desktop v

Hector Pulido 6 Aug 22, 2022
Fish Game for Macroquad is an online multiplayer game, created as a demonstration of Nakama, an open-source scalable game server, using Rust-lang and the Macroquad game engine.

Fish Game for Macroquad is an online multiplayer game, created as a demonstration of Nakama, an open-source scalable game server, using Rust-lang and the Macroquad game engine.

Heroic Labs 130 Dec 29, 2022
👾 The classic Space Invaders game made in rust!

?? Invaders The classic space-shooter game now in your terminal! And the good part: made in Rust! ❕ This game was made during the course Ultimate Rust

João Augusto Perin 1 Feb 8, 2022
A block game made in Rust and SFML

septadrop A block game made in Rust and SFML. For packaging instructions, see the build folder. Game Controls ??/?? arrow keys: horizontal movement ??

Elnu 1 Dec 19, 2022
A space shooter game made with Amethyst and Rust.

Theta Wave Project Introduction This game was made with the Amethyst engine. It is inspired by games like Raiden and The Binding of Isaac. Game Introd

Theta Wave 192 Oct 7, 2022
UnravelSports repository to display Football/Soccer tracking data in 3D using Rust & Bevy

Introduction This project is a proof-of-concept by UnravelSports to show football/soccer data in 3D using the Rust programming language and the Bevy g

null 10 Apr 9, 2023
Red Light, Green Light is a traditional Korean children's game, popularised by the Squid Game TV series.

Red Light, Green Light Red Light, Green Light is a traditional Korean children's game, popularised by the Squid Game TV series. This project is the di

Cedric Chee 1 Jan 10, 2022
A game inspired by the classic atari game: demon attack

rusty_demon_attack A game inspired by the classic atari game: demon attack You can play the game in the web!

null 58 Jan 4, 2023
A roguelike game in Rust

A fantasy deathcrawl in Rust Work in progress. To run, with Rust compiler and Cargo package manager installed: cargo run --release When building on W

Risto Saarelma 347 Nov 21, 2022
😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust

Zemeroth is a turn-based hexagonal tactical game written in Rust. Support: patreon.com/ozkriff News: @ozkriff on twitter | ozkriff.games | facebook |

Andrey Lesnikóv 1.3k Jan 5, 2023
⬡ Zone of Control is a hexagonal turn-based strategy game written in Rust. [DISCONTINUED]

Zone of Control The project is discontinued Sorry, friends. ZoC is discontinued. See https://ozkriff.github.io/2017-08-17--devlog.html Downloads Preco

Andrey Lesnikóv 354 Nov 14, 2022
This is a simple implementation of the classic snake game in rust

My snake game Looks like this. This is with Roboto Mono Nerd Font. If you use a different font it may look different or distorted. Install rust In ord

Konstantinos Kyriakou 16 Apr 4, 2021
The classic tetris game written in Rust using ncurses

tetris.rs This is the classic tetris game I wrote to have a bit of fun with Rust. Installation and playing cargo install --

null 71 Jul 25, 2022
A refreshingly simple data-driven game engine built in Rust

What is Bevy? Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever! WARNING Bevy is still in the ve

Bevy Engine 21.1k Jan 3, 2023
Data-oriented and data-driven game engine written in Rust

What is Amethyst? Amethyst is a data-driven and data-oriented game engine aiming to be fast and as configurable as possible. Principles These principl

Amethyst Engine 7.9k Dec 31, 2022
Rust library to create a Good Game Easily

ggez What is this? ggez is a Rust library to create a Good Game Easily. The current version is 0.6.0-rc0. This is a RELEASE CANDIDATE version, which m

null 3.6k Jan 4, 2023
Minesweeper game developed with Rust, WebAssembly (Wasm), and Canvas

?? click here to play the game ?? Minesweeper game Revealing all the cells without hitting the mines is the task. Each number in the cell denotes how

Karthik Nedunchezhiyan 23 Dec 28, 2022
Snake Game in rust for the web

About This template shows how to create a web app using Yew and wasm-pack. ?? Usage ??️ Build When building for the first time, ensure to install depe

PsiAphex 1 Oct 24, 2021
A solver for the popular Wordle game written in Rust.

Wordle Solver A solver for the popular Wordle game written in Rust. It does not attempt to be the most efficient solver possible but tries to avoid us

William Hoggarth 2 Jul 1, 2022