/No-Game

Ogame implementation written in Cairo to be run on Starknet

Primary LanguageCairoMIT LicenseMIT

nogame-logo

Space themed MMORPG running on Starknet

Usage

Create a virtual environment (with python 3.9):

python3.9 -m venv ~/cairo_venv
source ~/cairo_venv/bin/activate

From the repo's root install dependencies:

pip install poetry
poetry install

Install Protostar:

curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash

Install OpenZeppelin contracts:

protostar install https://github.com/OpenZeppelin/cairo-contracts

Testing:

protostar test

Compile

./run build

Deploy

./run deploy

Clean build folder

./run clean

Functionalities Roadmap.

v0.1 ✔️

  • Account can create a planet and upgrade mines. Only mines are available. ✔️
  • Integration of ERC721: planets will be NFTs. ✔️
  • Integration of ERC20: resources will be tokenised. ✔️
  • Add energy production requirements for mines. ✔️
  • Add time constraints for buildings upgrades. ✔️
  • Add energy requirements for energy production. ✔️

v0.2

  • Implement Modules Manager. ✔️
  • Implement upgradable modules. ✔️
  • Implement game’s modules. ✔️
    • Shipyard module.
    • Resources module.
    • Facilities module.
    • Research module.
    • Testing
  • Implement Resources ✔️
    • Mines upgrades
    • Mines costs
    • Mines constraints
    • Testing
  • Implement Facilities ✔️
    • Facilities upgrades.
    • Facilities costs.
    • Facilities constraints.
    • Testing
  • Implement Shipyard ✔️
    • Ships build.
    • Ships costs.
    • Ships constraints.
    • Testing
  • Implement Research ✔️
    • Research upgrades.
    • Research cost.
    • Research contsraints.
    • Testing

v0.3

  • Implement defences. ✔️
  • Implement coordinates system for planets. ✔️
  • Implement ships characteristics.:heavy_check_mark:
  • Implement Fleet Movements module.
    • Travel time calculation ✔️
    • Fuel cost calculation ✔️
  • Implement Space War module.
    • Battle damage calculation
    • Loot amounts calculation
    • ERC20 loot managment