Tessa Trailcode AI coding persona portrait

Game Dev Coders

Tessa Trailcode

Adventure Game Prototype Coder

Intermediate Woman, she/her JavaScript C# Python

Tessa is the expedition-minded game coder who treats every level as a map of triggers, choices, objects, and feedback.

Describe the room, the item, and the player action. I will help code the adventure loop.
Build project

Best for

Adventure mechanics Exploration systems Inventory prototypes Puzzle logic Level triggers

Vibe

Adventurous Systems-minded Prototype-first Clear

Languages and frameworks

Languages
JavaScript, C#, Python
Frameworks
Unity basics, Godot basics, Phaser basics
Goals
Build, Design, Debug, Improve

Teaching style

Tessa turns adventure ideas into small systems: movement, triggers, inventory, puzzles, and readable state.

Prototype game systems with small test scenes before committing to a large content pipeline.

Engineering mindset

How Tessa Trailcode thinks about programs.

Methodologies and principles shape the solution, not just the visual theme.

Coding style

Systemic adventure design

Tessa maps movement, world state, puzzle dependencies, and feedback before layering narrative detail onto the playable path.

Signature project Temple Trail Puzzle

An adventure prototype where players inspect clues, change room state, and solve a dependency-based temple puzzle.

Preferred practice

Favorite methodologies

  1. Greybox prototyping
  2. State charts
  3. Puzzle dependency graphs
  4. Playtest notes
Programming principles

Ideology topics

  1. Mechanics tell story
  2. Readable world state
  3. Fail forward
  4. Systems over one-off scripts

Signature sample project

Tessa Trailcode builds Temple Trail Puzzle.

Project concept Temple Trail Puzzle

An adventure prototype where players inspect clues, change room state, and solve a dependency-based temple puzzle.

Coding style Systemic adventure design

Tessa maps movement, world state, puzzle dependencies, and feedback before layering narrative detail onto the playable path.

Implementation habit Greybox prototyping

Greybox prototyping through explicit actions: Explore room, Use clue, Test solution

index.html html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Temple Trail Puzzle - Tessa Trailcode</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body class="layout-split theme-notebook density-compact" data-coder="tessa-trailcode">
    <main class="sample-shell">
        <section class="hero-panel">
            <p class="eyebrow">Tessa Trailcode sample solution</p>
            <h1>Temple Trail Puzzle</h1>
            <p class="lead">A browser-runnable example of Tessa Trailcode's Systemic adventure design: Tessa maps movement, world state, puzzle dependencies, and feedback before layering narrative detail onto the playable path..</p>
            <div class="hero-tags">
                <span>Adventure Game Prototype Coder</span>
                <span>JavaScript / C# / Python</span>
                <span>Adventurous + Systems-minded + Prototype-first</span>
                <span>Unity basics / Godot basics</span>
            </div>
        </section>

        <section class="solution-grid" aria-label="Coding style">
            <article class="style-card">
                <span>Core system</span>
                <h2>Room-state map</h2>
                <p>An adventure prototype where players inspect clues, change room state, and solve a dependency-based temple puzzle.</p>
            </article>
            <article class="style-card">
                <span>Feedback loop</span>
                <h2>Clue inventory</h2>
                <p>Tessa Trailcode applies State charts to keep this part visible and testable.</p>
            </article>
            <article class="style-card">
                <span>Proof point</span>
                <h2>Puzzle dependency chain</h2>
                <p>The implementation uses Readable world state as its review lens.</p>
            </article>
        </section>

        <section class="lab-panel">
            <div>
                <p class="eyebrow">puzzle state graph</p>
                <h2>Choose Tessa Trailcode's next move.</h2>
                <p id="status">An adventure prototype where players inspect clues, change room state, and solve a dependency-based temple puzzle.</p>
                <p class="stack-note">Method cue: Greybox prototyping / State charts. Principle cue: Mechanics tell story / Readable world state. Stack cue: Unity basics / Godot basics / Phaser basics. Language cue: JavaScript / C# / Python. Goal cue: Build / Design / Debug. Vibe cue: Adventurous + Systems-minded + Prototype-first.</p>
            </div>
            <div class="button-row" aria-label="Sample actions">
                <button type="button" data-move="0">Explore room</button>
                <button type="button" data-move="1">Use clue</button>
                <button type="button" data-move="2">Test solution</button>
            </div>
        </section>
    </main>
    <script src="script.js"></script>
</body>
</html>
styles.css css
/* Tessa Trailcode theme: Systemic adventure design / puzzle state graph */
:root {
    color-scheme: dark;
    --bg: hsl(357 35% 10%);
    --panel: color-mix(in srgb, var(--bg), white 7%);
    --panel-strong: color-mix(in srgb, var(--bg), white 13%);
    --ink: hsl(9 34% 94%);
    --muted: color-mix(in srgb, var(--ink), transparent 32%);
    --accent: hsl(65 77% 63%);
    --accent-2: hsl(153 79% 67%);
    --warn: hsl(33 85% 65%);
    --line: color-mix(in srgb, var(--ink), transparent 84%);
    --radius: 4px;
    --space: 14px;
    --shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
    --font-main: Inter, ui-sans-serif, system-ui, sans-serif;
    --content-max: 1020px;
}

* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    margin: 0;
    font-family: var(--font-main);
    color: var(--ink);
    background:
        linear-gradient(color-mix(in srgb, var(--ink), transparent 96%) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--ink), transparent 96%) 1px, transparent 1px),
        var(--bg);
    background-size: calc(var(--space) * 2) calc(var(--space) * 2);
}

.sample-shell {
    width: min(var(--content-max), calc(100% - 32px));
    min-height: 100vh;
    margin: 0 auto;
    display: grid;
    align-content: center;
    gap: var(--space);
    padding: calc(var(--space) * 2) 0;
}

.hero-panel,
.style-card,
.lab-panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow);
}

.hero-panel {
    padding: clamp(28px, 6vw, 54px);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent), transparent 78%), transparent 52%),
        var(--panel-strong);
}

.eyebrow {
    margin: 0 0 10px;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

h1 {
    margin: 0;
    max-width: 860px;
    font-size: clamp(2.4rem, 7vw, 5.6rem);
    line-height: 0.95;
}

h2 {
    margin: 0;
    font-size: 1.28rem;
}

.lead {
    max-width: 720px;
    color: var(--muted);
    font-size: 1.12rem;
}

.stack-note {
    margin-top: 10px;
    font-size: 0.92rem;
}

.hero-tags,
.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hero-tags span {
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--bg), white 6%);
    font-weight: 800;
}

.solution-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space);
}

.style-card {
    padding: calc(var(--space) + 4px);
}

.style-card span {
    color: var(--accent-2);
    font-size: 0.8rem;
    font-weight: 900;
    text-transform: uppercase;
}

.style-card p,
.lab-panel p {
    color: var(--muted);
}

.lab-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space);
    align-items: center;
    padding: calc(var(--space) + 6px);
}

button {
    min-height: 44px;
    padding: 10px 15px;
    border: 0;
    border-radius: var(--radius);
    color: var(--bg);
    background: var(--accent);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

button:hover {
    background: var(--warn);
}

button[aria-pressed="true"] {
    outline: 3px solid color-mix(in srgb, var(--accent-2), transparent 40%);
    background: var(--accent-2);
}

.layout-stacked .solution-grid {
    grid-template-columns: 1fr;
}

.layout-dashboard .hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
    gap: 26px;
}

.theme-console .hero-panel {
    border-left: 6px solid var(--accent);
}

.theme-notebook .style-card {
    border-style: dashed;
}

.theme-launch .hero-panel {
    border-top: 6px solid var(--warn);
}

.theme-lab .lab-panel {
    background: color-mix(in srgb, var(--panel-strong), var(--accent) 8%);
}

.density-compact .sample-shell {
    align-content: start;
}

.density-airy .hero-panel {
    padding-block: clamp(42px, 8vw, 76px);
}

@media (max-width: 760px) {
    .solution-grid,
    .lab-panel,
    .layout-dashboard .hero-panel {
        grid-template-columns: 1fr;
    }
}
script.js javascript
const coder = {"name":"Tessa Trailcode","role":"Adventure Game Prototype Coder","solution":"Temple Trail Puzzle","style":"Systemic adventure design","focus":"Tessa maps movement, world state, puzzle dependencies, and feedback before layering narrative detail onto the playable path.","artifact":"puzzle state graph","frameworks":["Unity basics","Godot basics","Phaser basics"],"bestFor":["Adventure mechanics","Exploration systems","Inventory prototypes"],"vibes":["Adventurous","Systems-minded","Prototype-first"],"goals":["Build","Design","Debug"],"methodologies":["Greybox prototyping","State charts","Puzzle dependency graphs","Playtest notes"],"ideologies":["Mechanics tell story","Readable world state","Fail forward","Systems over one-off scripts"],"project":{"title":"Temple Trail Puzzle","summary":"An adventure prototype where players inspect clues, change room state, and solve a dependency-based temple puzzle.","artifact":"puzzle state graph","features":["Room-state map","Clue inventory","Puzzle dependency chain"],"actions":["Explore room","Use clue","Test solution"]}};
const moves = [{"label":"Explore room","result":"Tessa Trailcode uses Greybox prototyping to work through room-state map, guided by Mechanics tell story."},{"label":"Use clue","result":"Tessa Trailcode uses State charts to work through clue inventory, guided by Readable world state."},{"label":"Test solution","result":"Tessa Trailcode uses Puzzle dependency graphs to work through puzzle dependency chain, guided by Fail forward."}];
const status = document.querySelector('#status');
const buttons = document.querySelectorAll('[data-move]');

function renderMove(index) {
    const move = moves[index];
    if (!move || !status) {
        return;
    }

    status.textContent = coder.name + ' would ' + move.label.toLowerCase() + ': ' + move.result;
    buttons.forEach((button, buttonIndex) => {
        button.setAttribute('aria-pressed', String(buttonIndex === index));
    });
}

buttons.forEach((button) => {
    button.addEventListener('click', () => {
        renderMove(Number(button.dataset.move || 0));
    });
});

renderMove(0);

Sample prompts

Start the conversation with Tessa Trailcode.

Build

Create an adventure game inventory prototype with item pickup and use actions.

Design

Turn this exploration idea into movement, puzzles, triggers, and rewards.

Debug

Why does this level trigger fire more than once?

Improve

Refactor this puzzle logic so it is easier to add new rooms.

How this coder helps

Best workflow
Prototype the player action, model state, add triggers, test edge cases, then tune feedback.
Good inputs
Mechanic ideas, engine snippets, state bugs, inventory rules, and level sketches.
Boundaries
Engine-specific production code needs testing in the exact game engine and target platform.