Skip to content

NoMariusz/Praeteritum

Repository files navigation

Praeteritum

Web browser multiplayer strategy card game

Online game combining original battle strategy games with fast-paced card games in turn-based form

Match UI

⚠️ Project is in very early stage of development

Features

  • Match: you can combat against other player by your cards to capture his base or destroy his units and gain glory
  • Cards: each card describe unit with different properties like: rarity, category, health points
  • Units relations: every unit is unique in some way, units categories affect in different way on each other
  • Strategy: arrangement of your units in board is important to win
  • Accounts: to information about your deck, collection etc. was safely stored

Built with

Installation

Praeteritum requires Python 3.9.1, pip >= 20.2.3 and Redis >= 5.0

Clone repository from github

git clone https://github.com/NoMariusz/Praeteritum.git

After that if you want, make venv for packages and install dependencies by pip install

pip install -r requirements.txt

It will be good to make now .env file with all necessary environment variables

echo > .env

⚠️ Redis service should be active to django-channels can run correctly, here is how to install

Now run migrate to django create database

py manage.py migrate

And before run, it is good to have some admin account, so make it

python manage.py createsuperuser

Finally you can run server

py manage.py runserver 127.0.0.1:80

Hint! If you want to play a match, don't forgot add some cards from admin page

Example of minimal .env file content

SECRET_KEY=someSecretKey
DJANGO_DATABASE=dev
MAIN_REDIS_CONNECT_STRING=127.0.0.1:6379
DJANGO_CHANNEL_LAYER=dev
MAIN_DB_NAME=
MAIN_DB_USER=
MAIN_DB_PASSWORD=
MAIN_DB_HOST=
MAIN_DB_PORT=

Contributing

Praeteritum code should be viewed and edited with your editor set to use four spaces per tab. In Python part of code please follow PEP 8. JavaScript / React part is written mostly at function components and tries to follow Airbnb React/JSX Style Guide.

Images are mostly from Pixabay

Testing

Application uses pytest with pytest-asyncio and pytest-django. That combination help a lot to test asyncronous code and threads which needs to access django ORM.

License

Project is made available under the terms of the MIT license

Made by NoMariusz

nomariusz27@gmail.com

Releases

No releases published

Packages

No packages published