Loading

Pedro Tamburro is a product designer & design engineer crafting digital products end to end.

●Rio de Janeiro, BR
●Your time
Let's Talk

Veradice

Produto próprioGame DesignFull-Stack
Imagem principal do projeto Veradice

Browser fantasy RPG with hybrid narrative, tactical combat and multiple endings.

Overview

Full-featured browser RPG with a hybrid narrative system: decision tree combined with dynamic templates and random events. The player creates a character, chooses race and class, explores 5 acts with multiple paths, and unlocks different endings based on their choices.

Details

Year
2026
Role
Game Designer & AI Engineer
Duration
MVP · continuous iteration
Team
Solo
Tools
Next.jsClaude APIVercel

In motion

The problem

Browser text RPGs tend to be either shallow binary choices or a rules system that scares off anyone who isn't a hardcore player.

My role

Game Designer & AI Engineer, solo: a full design document before any code, systems and implementation.

The outcome

An RPG live in two days, with narration in three layers: a 40-node tree for coherence, dynamic templates and random events for surprise, and four endings.

The Problem

Text-based browser RPGs tend to fall into two extremes: either they're simple binary choices without depth (linear visual novels) or rule systems so complex that the onboarding repels anyone who isn't a hardcore gamer. The challenge was to create a game with real mechanical depth (classes, attributes, tactical combat, progression) that anyone could play without reading a manual. The core hypothesis: a hybrid narrative system combining predictable structure (decision tree) with unpredictable variation (dynamic templates + random events) can deliver both coherence and replayability.

Hybrid Narrative System

Decision tree with 5 actsDynamic templates with placeholdersRandom events between scenesState flags across sessions

Veradice's core innovation is the triple-layer narration system. The first layer is the decision tree: 40+ nodes with choices that have real consequences in the game state. The second is dynamic templates: texts with placeholders ({name}, {race}, {time}, {weather}) that change every scene, creating variation without extra writing cost. The third is random events with 40% chance every 3-4 nodes: merchants, traps, treasures, riddles, and ambushes that keep the player alert even on already-explored paths. State flags (knows_ritual, knows_lyria, knows_verath_weakness) persist and affect dialogues, combats, and all 4 possible endings.

  • 40+ decision tree nodes with branching paths per act
  • Dynamic templates with adaptive tone: epic, humor, dark, mystery
  • 10 types of random events with attribute checks and consequences
  • 4 distinct endings based on flags accumulated throughout the adventure

Mechanics Design

The turn-based combat system uses d20 + attribute modifier against enemy defense, familiar for D&D players, simplified enough for newcomers. Each of the 6 classes has 3 unique abilities reflecting its archetype: the Warrior hits harder, the Mage deals ranged damage, the Rogue applies poison, the Cleric heals. Level progression is visible and rewarding: each level, HP grows and a new attribute improves. The inventory system with purchased, found, and crafted items gives the player a sense of growth beyond combat. Difficulty affects the entire campaign: Legendary mode reduces gold gained and increases enemy HP by 30%.

Built with AI Coding

Claude API as pair programmerNext.js App RouterContinuous deploy via Vercel

Veradice was built in 2 days using Claude as pair programmer at every stage. The game specification was written first as a complete design document (systems, enemies, node tree, events, progression mechanics) and then used as context to generate code in a structured way. The approach was modular: global game state in a single object, pure functions for attribute checks, node rendering system separate from combat logic. The biggest challenge was maintaining state coherence in a game with so many flags and paths, solved with a centralized reducer.

  • Spec-first development: complete design document before a single line of code
  • Game state in centralized reducer tracking 20+ state flags
  • Combat system decoupled from the narrative system
  • Dice animation with Web Audio API: 12 frames, 80ms each

Results & Learnings

The key learning was about the value of writing the specification before the code. In a project with so much interdependence (flags that affect dialogues that affect endings), writing the full design doc first allowed Claude to generate coherent code across the entire codebase, without state contradictions. The second discovery: the hybrid narrative system delivered on its promise. Players who played twice reported different experiences, not by chance, but through genuine choices. The decision tree ensures coherence; random events and dynamic templates ensure surprise.

2 daysfrom zero to deploy
40+nodes in the decision tree
4distinct endings