Privacy-respecting analytics

Joh uses Google Analytics to understand which stories and portfolio pages are useful. Advertising storage stays off. Read the privacy notice.

Joh Azores

All projects
Game DevelopmentPrototypeFeatured project

Crypt of Greed

A browser-based turn-based deckbuilding roguelite prototype built to validate a bank-or-risk Greed mechanic before moving to a production game engine.

Current portfolio record

Verified against the public repository and current documentation

Next.jsReactTypeScriptTailwind CSSNextAuthMongoDBPrismanode:test

Purpose and use case

Why this project was built

Built for validating whether the core deckbuilding and Greed loop is understandable and enjoyable before investing in a native engine, larger content pipeline, audio, controller support, and platform integrations.

Overview

What the project is

Crypt of Greed is a playable web prototype for testing combat rules, room progression, rewards, equipment, and the central decision to bank progress or risk continuing. The repository is intentionally positioned as a gameplay and product-validation environment rather than a release-ready Steam or console build.

Problem

What it is designed to solve

A commercial game concept needs more than a design document, but building a complete native game before proving the main loop creates unnecessary cost. The original prototype also mixed gameplay with abandoned blockchain ideas and duplicated domain behavior.

Approach

How the project addresses it

The active application removes wallet and NFT behavior, centralizes important combat and progression rules, adds deterministic tests for core systems, and documents a staged path from the web prototype to a production game engine.

Key features

  • Turn-based card combat with health, block, energy, enemy intent, and rewards
  • Room progression across combat, rest, merchant, and event experiences
  • Deterministic shop inventory and authenticated atomic purchases
  • Character creation, equipment slots, revival rules, and server-side validation
  • Responsive keyboard-accessible desktop and mobile interfaces
  • Automated domain tests and a documented Unity or Godot migration path

Architecture highlights

  • Game-domain rules are isolated under lib/game and tested outside React rendering
  • Server-side ownership and transaction checks protect purchases, revival, and character changes
  • The active codebase is separated from the removed blockchain experiment
  • The web build is treated as disposable validation rather than the final multi-platform architecture

Engineering challenges

  • Centralizing combat and room progression after duplicated logic had developed across managers and screens
  • Keeping transient run state, persisted character state, and client presentation responsibilities separate
  • Deciding when to stop refining the web prototype and move proven rules into a production game engine

Implemented outcomes

  • Removed custodial wallet, private-key, NFT, Hardhat, and blockchain runtime behavior from the active product
  • Added tests for combat turns, rewards, revival, progression, shops, equipment, and character creation
  • Produced a clear game-design, engineering, platform, and migration roadmap for the next development stage