Skip to content

Repository files navigation

🐱 Crypto Cats

A blockchain-powered, turn-based RPG where you capture, train, and battle unique feline NFTs!

https://ahthu-kiaaa-aaaap-akpza-cai.icp0.io

image


📖 Project Description

Crypto Cats combines the engaging gameplay of turn-based RPGs with the power of blockchain and NFT integration. Players can capture, train, and trade unique Crypto Cat NFTs while progressing through an exciting 2D battle system.

The combination of blockchain randomness and NFT-based economy ensures fair gameplay and real asset ownership that works seamlessly across platforms.

##✨ Key Features**

  • Turn-Based RPG Mechanics:
    Engage in strategic battles and train your Crypto Cats to become stronger.

  • Decentralized NFT System:
    Every Crypto Cat is a unique NFT minted on the Internet Computer, providing real ownership and interoperability across chains.

  • Blockchain-Backed Randomness:
    Battles, loot drops, and RNG mechanisms are built using tamper-proof randomness.

  • Level Progression:
    Gain XP through battles to level up your Crypto Cats, unlocking new abilities and generating rewards.

  • Censorship-Resistant Infrastructure:
    Decentralized hosting using the Internet Computer ensures reliability and scalability.


🛠️ Technologies Used

oaicite:6 oaicite:6

oaicite:6 oaicite:6 oaicite:6 oaicite:6 oaicite:6

Area Technology
Blockchain Backend Motoko
Backend Services Django
Game Logic & Design Unity (C#)
Authentication Internet Identity
Randomness Internet Computer blockchain randomness
NFTs NFT minting and transactions on the Internet Computer

📂 Folder Structure

Here's an overview of the file and folder structure in this repository:

CryptoCat/
│
├── Unity_ProjectFiles/              # Full Unity project files for the 2D game logic and environments
│   └── ...                          # All Unity source files, assets, scripts
│
├── main.mo                          # Main Motoko smart contract for the blockchain (Minting, randomness, etc.)
├── dfx.json                         # Internet Computer project configuration
├── LICENSE                          # License for the project
├── deploy.sh                        # Script for deploying blockchain components or contracts
├── commands.txt                     # Useful terminal commands used during development
├── UnityBuild/                      # Unity build files for deployment
│   └── ...                          # Prebuilt Unity game files (e.g., WebGL, desktop versions)
│
├── website/                         # Files for the decentralized website
│   └── ...                          # Frontend (HTML/CSS/JS, possibly linked to a React or similar framework)
│
├── node_modules/                    # Node.js dependencies (if a frontend or CLI framework is used)
├── runtemp.py                       # Temporary Python file (possibly for data migration or debugging tasks)
├── images/                          # Game-related images or screenshots
├── hackathon-2024-october.zip       # Development archives for submission
├── CHANGELOG.md                     # Tracks the version history and changes
├── nft_transfer_project_1.zip       # Archive related to NFT transfer tests or functionality
└── mops.toml                        # Motoko package manager configuration

🚀 How to Run the Project

1. Clone the Repository

git clone https://github.com/ahmedelasmai/CryptoCat.git
cd CryptoCat

2. Blockchain Setup

  1. Start dfx to initiate the local Internet Computer environment:
    dfx start
  2. Deploy the Motoko canisters (smart contracts):
    dfx deploy

3. Backend Setup

  1. Navigate to the backend/ folder (if applicable for Django backend).
  2. Create a virtual environment and install dependencies:
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  3. Run the Django server:
    python manage.py runserver

4. Unity Game Client

  1. Open the Unity_ProjectFiles/ folder using Unity Hub.
  2. Build the game for your platform (WebGL, PC, or Mobile):
    • Go to File > Build Settings and select your target platform.
  3. Alternatively, run the game in Unity Editor for testing.

5. Frontend Website

  1. Navigate to the website/ folder.
  2. Install dependencies (if using Node.js and a frontend framework like React):
    npm install
    npm run build
  3. Serve the website locally:
    npm start

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages