Welcome to Argonvale Adventures, an exciting multiplayer online game where users can create companions, embark on adventures, chat with other players, train their companions, and engage in epic turn-based battles. Dive into a world of medieval fantasy, magic, and adventure as you build your team of companions and explore the realm of Argonvale.
- Introduction
- Project Description
- Features
- Technologies Used
- Getting Started
- API Endpoints
- Authentication
- Database
- Training System
- Contributing
- License
Argonvale Adventures is a virtual companion multiplayer online game designed for mobile devices and web browsers. This repository contains the backend server code that powers the game. It handles user registration and authentication, companion management, training, battles, and more.
In the world of Argonvale, players can:
Create Companions: Users can create unique companions with distinct names, attributes, and abilities. Each companion is your loyal ally in battles and adventures.
Embark on Adventures: Explore the enchanting realm of Argonvale, where you'll encounter mythical creatures, hidden treasures, and challenging quests. Use your companions' abilities to overcome obstacles and claim victory.
Train Companions: Improve your companions' strength, defense, and speed by sending them to the training school. Higher-level companions require more training time, offering a strategic edge in battles.
Engage in Battles: Challenge other players to real-time turn-based battles. Your companions' stats and abilities will determine your success in combat. Strategic planning and quick decision-making are key to victory.
Collect Rare Items: Discover rare and valuable items during your adventures. Expand your collection and use them to enhance your companions' abilities.
Trade in User Shops: Set up your own shop and trade items with other players. Build your wealth and acquire unique items to gain an advantage in battles.
Join the Trading Post: Participate in a bustling marketplace where players buy, sell, and trade items. Hunt for bargains or negotiate deals with fellow adventurers.
- User Registration and Authentication
- Companion Creation and Management
- Adventure Exploration
- Training School for Companions
- Real-Time Turn-Based Battles
- Item Collection and Trading
- User Shops and Trading Post
- Medieval Fantasy Theme
- Python: The backend server is written in Python 3.
- Sanic: A fast asynchronous web framework for building APIs.
- MongoDB: A NoSQL database for storing user and game data.
- Motor: An asynchronous driver for MongoDB, used for database interactions.
- JSON Web Tokens (JWT): Used for user authentication and session management.
To set up and run the Argonvale Adventures backend server on your local machine, follow these steps:
Clone this repository to your local environment.
Create a
.env
file in the project directory and configure it with your MongoDB connection details and secret key.MONGODB_HOST=#for development use localhost MONGODB_PORT=# usually 27017 MONGODB_DBNAME=# i call mine game_database in development SECRET_KEY=# this one is up to you
Install the required Python packages by running
pip install -r requirements.txt
.Run the server using
python app.py
. The server will start onhttp://localhost:8000
.
The server provides various API endpoints for user registration, authentication, companion management, training, battles, and more. Refer to the code comments and documentation for details on each endpoint.
Argonvale Adventures uses JSON Web Tokens (JWT) for user authentication. Users can register and log in to obtain an access token, which they must include in the Authorization
header when making authenticated requests.
User and game data are stored in a MongoDB database using the Motor asynchronous driver. Companions, items, and user details are managed in the database to ensure a seamless gaming experience.
Companions can be sent to the training school to improve their attributes. The training duration varies based on the companion's level, providing a strategic element to the game.
We welcome contributions from the community to help enhance Argonvale Adventures. Feel free to open issues, suggest improvements, or submit pull requests.
This project is licensed under the MIT License. See the LICENSE file for details.
Join the adventure in Argonvale, where mystical creatures, epic battles, and rare treasures await. Dive into the code, explore the realm, and embark on your journey today!