aMytho / brave-frontier-godot

A simple implementation of Brave Frontier in the Godot Engine
18 stars 8 forks source link
bravefrontier godot godot-engine

Brave Frontier Godot

This is a partial remake of the mobile game Brave Frontier. Brave frontier shutdown within the last year. This project implements many of the same features and structure.

Home screen, team selector, and battle scenes

We are not remaking the full game. This project solely exists so we can practice with the Godot game engine. If you want to play the full game again, have a look at Brave Frontier Recoded.

*Side note, if any of the BFR folks want to use this project, they are more than welcome to!

Key Differences

This project has several features. Many are different compared to the original. Unlike the ReCoded project, we do not intend to complete the full game. Instead, we will build the base systems and allow the players to create what they want.

Users can:

The project is open source so changes that require code (such as adding a new feature) could also be added.

Main Features

Creating Custom Levels/Units/Animations

All related info is on our Wiki

Requirements

Brave-Frontier-Godot can run on Windows, Mac, and Linux. However, only Windows and Linux have been tested. Mobile may work, but it would require that the game be ran from the engine instead of the production build.

Production builds for Linux and Windows can be found here. Use these if you have no interest in custom levels/units. If you want to create custom units/levels/features, read the below section.

Installation

You must download the Godot Engine v4.2.x (normal installation) and this project to play the game. Once both are downloaded, open Godot and import the project. It will take a few minutes. Once complete, hit the play button near the top right of the editor and the game will begin.

image

You will have to sit through the Lucius cutscene (Sorry!), create an account, choose a starter unit, and beat the first level. Then you are able to move between the existing levels.

For development purposes, we only have a few levels in the in-game selector, but you can easily add more with Godot resources. This is a very beginner friendly engine, and we highly suggest you tinker with it! If you have any questions, create an issue to receive support. We are all volunteers, but we will do our best to respond in a timely fashion.

Tech Stack

Most of the data (Units, animations, etc) is stored as Godot resource files. For example, each unit works off of the unit_base and extends it with its own properties. This differs from the JSON and CSV data that the original game used.

Player data is stored in an SQLite database. Rather than keep a full record of all player units, items, and other data, the database only contains what data the player has modified. For example, when the player acquires a unit it is added to the DB. When the player views the unit, we load the data from the DB and override the godot resource.

DB and Godot Resource

Unlike the original game, this is a purely offline implementation. There are no plans to add multiplayer of any kind. As noted above, this project is just for practice with the Godot engine.

Contributing

We do accept contributions for new levels, units, and features. We ask that you try to follow our coding guidelines. If you want to add a feature but are not sure how, open an issue! We would be happy to discuss ideas and implementation details.

If you have received any value from the project, consider starring it on Github. This boosts its discoverability and allows others to find the project.

Copyright Notice

We do not own any of the assets. They are owned by Gumi / Alim and the Brave Frontier team. This project earns no revenue and is purely for educational purposes.