Concept

Concept sketches and notes

It all started with a course assignment where our professor challenged us to create something “interesting”. Playing to my strengths in web development, I began brainstorming and landed on a concept involving the Chrome Dinosaur.

My professor loved the narrative angle of digital pets, which led me to wonder: do digital pets deserve to be remembered?

Context

It always felt so sad when a pet in our MC world just vanished, their story ending in an instant. This project started there, with that real-life pang of loss.

Context reference 1 Context reference 2

A Real Death

Inspired by the film Coco, I wanted to give these digital companions in games a soul, to be remembered is to truly exist.

References

Kittens Game reference

Kittens Game, is a text-based raising game excels at building attachment to abstract concepts. Players develop a deep connection to their civilization of kittens, not through complex graphics but accumulated effort and the emergent narrative of survival and growth.

Incremental Investment

Players invest hours nurturing their kitten society, turning simple numbers into a meaningful history. This gradual, long-term investment fosters a powerful sense of ownership.

Companion Cube reference

The Companion Cube is a masterclass in creating emotional attachment through narrative framing. It proves that the meaning of a companion is defined by shared experience, not inherent complexity.

Engineered Loss

The subsequent requirement to “euthanize” the cube is a powerful emotional climax. It creates a genuine sense of loss for an object the player was just told to love.

Research

Microsoft's Minecraft Bedrock Script API Documentation

Official docs for Bedrock scripting, event listeners, and entity management.

Bedrock Creator Wiki

Creator-focused guides, debugging tips, and community solutions.

Bedrock.dev — Unofficial Documentation

Practical examples for advanced Script API features.

Game Version: Minecraft 1.21.100

Work Flow

From peaceful beginnings to a final farewell — track bonding, battles, and milestones into a permanent record.

Workflow step 1 Workflow step 2 Workflow step 3 Workflow step 4
In-game UI screenshot

Data Recorded

  • Rarity (Common, Rare, Epic, Legendary)
  • Mob Type (e.g. Zombie, Wolf, Ender Dragon)
  • Survival Time (hours, minutes, seconds)
  • Affection (0–100)
  • Kill Statistics (players, mobs)
  • Detailed battle log (type and count)
  • Times fed / times petted / times healed
  • Spawn information (dimension, coordinates)
  • Health (current/max), Owner (if any)
  • Achievements (with icon and description)
  • Recorded time (when the record was created)

Main Function

The addon runs automatically once enabled. It tracks a named mob’s lifecycle (spawn → interactions → death), and on death drops an info Name Tag that preserves the mob’s story.

Event Handling

  • Listen to spawn/death/interactions and update stats in real time
  • Increase affection via feeding, petting, healing, etc.
  • When a named mob dies, generate and drop the info Name Tag

What The Tag Contains

  • Survival time, affection (0–100), kill stats, location, health, owner
  • Rarity (Common/Rare/Epic/Legendary) and unlocked achievements
Main function code snippet

Data Management

The data layer stores and formats all lifecycle records. It serializes/deserializes the info stored in Name Tags and builds readable descriptions for players.

Core Components

  • MobDataManager: stores records, CRUD ops, persistence, formatting
  • NametagHandler: creates/reads special tags, compresses data, builds display text
  • EventHandler: routes game events to updates and drop logic

Rarity & Achievements

Tags gain rarity (Common → Legendary) based on achievements like long survival, max affection, kill milestones, or being a rare boss mob. Higher rarity can unlock special effects and rewards.

Data management code snippet