Skip to content

1v1 online multiplayer platform fighter game with more than just two platforms

License

Notifications You must be signed in to change notification settings

nicopujia/biome_fighters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Biome Fighters

Overview

Biome Fighters is a 1v1 online multiplayer platform fighter game with a retro aesthetic, where there are more than just two platforms and every corner is an opportunity for the victory. It is inspired in Spelunky's deatchmath, but taken to a competitive online multiplayer environment.

Please note that the current version is prototype, so a lot of initial ideas for the game are not implemented. It only includes a minimal playable experience in a map with some platforms, with one biome (the desert) and one character (the cactus).

Gameplay video

Screenshots

User authentication Main menu Gameplay 1 Gameplay 2 End of match

Features

  • User authentication with JWTs
  • Basic matchmaking
  • Character movement and animations
  • Punches, life points and end of fights
  • Deployed on a server

Tech stack

  • Aseprite for the graphics.
  • Godot Engine for the client and for the match synchronization.
  • Python and FastAPI for the backend.
  • MongoDB Atlas for the database.
  • GCP's Compute Engine for the deployment (running live right now!).

Getting Started

To try out the game, call a friend or anyone else to play with and both of you download the client executable (for either Windows or Android) from the releases. After that, just hit the play button and try to beat each other!

If you want to run the game server locally for development, see below on the contributions section.

Contributions

Contributions are not being actively sought at the moment, as the game is not expected to undergo significant development.

However, if you are interested in the project, feel free to continue it by your own. Below I leave a guide to run the server locally in case you want to develop it. Besides, you can check out the issues section to get some ideas to start with.

(And don't forget to tell me if you do, as I would be very curious to see how the game evolves!)

How to run locally

  1. Make sure you have these programs installed on your computer and added to the PATH:

  2. Execute the following commands in the command line (if you are on Windows, do it with Git Bash and not with CMD):

# Clone the repository
git clone https://github.com/nicopujia/biome_fighters.git

# Move to the server folder
cd biome_fighters/server

# Create a Python environment
python -m venv env

# Activate the environment
source env/bin/activate # (Linux / MacOS)
source env/scripts/activate # (Windows)

# Install the dependencies
pip install -r requirements.txt

# Create the environment variables file
touch .env
  1. Setup environment variables in server/.env:

    • SECRET_KEY=<The key you generate>: Generate a JWT secret key with the HS256 algorithm (you can do it with this website).

    • DB_URI="<Your database connection string>": Create a MongoDB database (either local or with MongoDB Atlas) with a cluster called database and paste its connection string.

  2. Run the server: python main.py.

  3. Change the flag IS_LOCAL to true in client/global/api/api.gd.

  4. Run 2 (or more) instances of the client. You can achieve this by setting Debug -> Run multiple instances -> Run 2 instances in the Godot editor and then executing the project.

License

This project is licensed under the MIT License.

Acknowledgments

Thank you for checking out Biome Fighters! Your interest is appreciated, and feel free to explore the prototype. Please note that this project may not see further updates.