Bevy_ggf

Crates.io license Crates.io

What is this?

Bevy Grid Game Framework (Bevy_ggf), is a framework for creating grid based tactics and strategy games in the Bevy game engine. This framework is intended to provide easy to use yet extensible systems for quickly putting together basic grid based tactics games and allow them to be customized and extended as deeply as needed. If you run into a problem with something that goes against this goal, open an issue and we will work to address it!

Currently the focus is on building the framework for tactics games in the style of Advance Wars or Final Fantasy. Long term goals are to extend the framework to support larger and more complex strategy games like Civilization.

Crate Status

This crate is actively being developed however it is still very early in development. Any advice, opinions, pull requests, issues, etc would be greatly appreciated!

Check out the help wanted section of the mdbook if you want to see where your efforts might be msot helpful, however we appreciate any help even if its not from this list!

Version Compatibility Table:

Bevy VersionCrate Version
0.9main

Current Features

  • Massively inprogresss

In Progress Features

  • Mapping
  • Movement
  • Combat
  • Units

MVP Requirements

In no particular order, here are the features required for a true 1.0 release. These features would provide all the fundamentals needed to create a game in the style of Advance Wars.

  • Mapping
  • Movement
  • Combat
  • Units
  • Buildings
  • Camera
  • Selection
  • Win/Lose Conditions
  • Game management
  • Saving/Loading
  • Built in scene/map editor

Helpful Links

To learn how to use Bevy_ggf see the wiki:

Wiki Tutorial

If you are interested in helping develop the project, check out the design mdbook

bevy_ggf mdbook


Dependencies

Bevy_ggf depends on the outstanding community of developers and their excellent crates that have helped to make Bevy_ggf what it is. Some of the bigger crates that this project depends on are listed below. Thank you to everyone who has contributed to these crates!

Overview

Development Reference

Simple guide if you are looking for something to help out with!

Large Projects

The entire project! All pull requests, bugs, documentation, issues, whatever are highly appreciated no matter if they are in a specific area or not.

Networking

Ultimately the framework should support networking. Unfortunately building this currently is to much for me to handle by myself along with actually building out the rest of the framework. If you are interested or have any design recommendations that would make networking easier in the future, please open an issue and fill me in on it!

- Networking Requirements

  • Cross platform support (Web, Windows, Mac, Linux)
    • The framework should make every effort not to limit anyone using it. Instead it should give more functionality and ease development. Therefore if Networking was to be added then it must be cross platform.

Particular Issues

The Absolute Basics

Core

Bevy_GGFs goals are to make creating grid based games easier.

With that being said, the underlying goals are to create an easily used yet extensible ecosystem of systems to enable as many different types of grid based games as possible. Initially the design goal is to actively support Advance Wars style games, however that should not be construed to lock the framework into that one type of game.

Goals

  • Provide a game runtime that handles players, turns, game ticks, player actions, extra phases, and more.
  • The runtime should provide systems that can handle keeping track of players in the game, updating them when its their turn, running registered systems at the beginning, during, and end of players turns, etc.

Ideas: