Skip to content

ArcaneAssemblers/spellcrafter

Repository files navigation

Arcane Assembly - A Spell Crafting game

Discord Stargazers Issues

Arcane Assembly is both a physical card game and an on-chain game set in the Realms Autonomous World.

We are proud to be part of the Frontinus House Genesis Builders Program supported by Bibiotheca DAO

About

Arcane Assembly is a single player time and resource management survival game. You play as a mage trying to craft the most powerful spell the world has ever seen. Spells are crafted by sourcing and adding rare components from across the world.

Unfortunately searching for components takes time and while not attended to a spell will become increasingly chaotic, eventually spiralling out of control and destroying it's creator.

Players must carefully manage their time while foraging, summoning helpers and researching new abilities in order to keep their spell under control while increasing its power.

Play with cards at home or play on-chain in the Realms Autonomous World to showcase your strongest spells for all to see.

Roadmap

  • Outline all cards/components and their effects
  • Physical Card Game
    • Script to generate card images from cards sheet
    • Play-test card layouts
    • Forage mechanic
    • Familiars mechanic
    • Study mechanic
    • Final art and layout
  • Dojo/Starknet Contracts
    • Code generation of contracts from cards sheet
    • Spell interaction
    • Forage mechanic
    • Familiars mechanic
    • Unmanipulatable randomness
    • Real-time Gameplay
  • Web Client
    • Basic client for rapid prototyping
    • Mobile first game interface
      • Game loop design
      • Music
      • Background/character art
      • UI Art
      • Phaser/Renjs Integration with Dojo/Starknet
  • Refine parameters for balance and fun

Development

Prerequisites

This repo uses just for running commands. It is like a modern version of Make.

Running locally

Requirements

Steps

First build the contracts

just build_contracts

It is best to run 3 separate shells to run the game locally. Run each of the below commands in a new terminal

  • Katana local devnet:
just start_devnet
  • Migrate contracts and start indexer:
just start_indexer
  • Client webserver
just start_client

If everything ran correctly this should open your browser with the game ready to play!

Updating generated code

The code in the contracts/properties directory is generated from the cards.csv. If you make any changes to cards stats you can regenerate these using

just codegen

Generating cards images

If you want to play test the physical version you can produce all the cards from the cards.csv table.

Requires:

  • python3
  • just

Run the command

just cardgen

This will dump the images in cards-output.

Follow this guide to print them at the desired size https://www.wikihow.com/Print-Multiple-Images-on-One-Page-on-PC-or-Mac

Contact

Willem Olding - @willemolding1 - willemolding@gmail.com

Project Link: https://github.com/ArcaneAssemblers/spellcrafter