Dave
Learning music in public, building a kinder world, and bringing everybody with him.
Class: Bard BuilderThese are the five characters of the E2 games: Dave, Harsh, Sally, Dinesh and Chadwick. Each one has a full character page that tells their story, and one character file that carries their look, their powers and their voice into any game we make.
Start here. Read a card, tap Play, and you are that person in the game. Or open their full character page and get to know them properly first.
Learning music in public, building a kinder world, and bringing everybody with him.
Class: Bard BuilderEarly, prepared, and already helping. He notices what you need before you do.
Class: All-Rounder HelperSings the songs she needed to hear as a kid, and writes new ones in a notebook under her mattress.
Class: Artist SingerBuilds the thing, ships it twice, and keeps the music playing. His chai is somehow always steaming.
Class: EngineerThe load-bearing wall of The Studio. Shows up, listens, lifts heavy things, and believes in you first.
Class: Mentor Gem HunterThree steps, and they are the same in every game. No new character to create, no starting over.
Choose one of the five on the game’s start screen. That is the whole sign-up.
The game reads that person’s one character file: their look, stats, special move and the things they say.
Same person, new world. A 3D island today, a pixel runner next, a racing game after that.
Dave’s big question: can one 3D character move around from game to game, instead of being rebuilt every time? Yes. Here is exactly how it works, and where we already are.
The trick is to stop thinking of a character as part of a game. A character is a folder of files: a 3D model, pictures, and one small text file that says who they are. Games come and go. The folder travels.
Each of the five already has painted front, back and side pictures. The same sprite files walk the 3D island in E2 World and run in Super E2. Nobody redrew them for the second game. That is the travelling idea, already working in 2D.
E2 World also builds people in true 3D from a short recipe: shirt colour, hair style, skin, glasses, hat. That recipe for each of the five is inside their character file on this page, so any new game can build the same 3D person from it.
The full 3D version is a single .glb file (the universal 3D format) with a standard human skeleton inside, plus a .vrm twin for avatar worlds. One rigging job, six standard animations (idle, walk, run, jump, wave, dance), and the file drops straight into web games, Unity, Unreal and Godot with no rework.
Our plan: build Dave first as the test pilot. Prove his one GLB walks in E2 World and in a second, different game. Then make Harsh, Sally, Dinesh and Chadwick from the same skeleton, so all five share the animations and only the person changes. When a master is ready, its link goes into that person’s character file below, and every game that reads the file gets the 3D person automatically.
This is the small text file at the heart of it all. One per person, free to download from their card above, written in JSON so any game, in any engine, can read it. It holds their identity, look, stats, special move, voice lines, picture links, and the place where their 3D model will live. Here is Dinesh’s, in full:
{
"e2_character": 1,
"id": "dinesh",
"name": "Dinesh",
"full_name": "Dinesh",
"role": "The Engineer",
"class": "Engineer",
"one_line": "Builds the thing, ships it twice, and keeps the music playing. His chai is somehow always steaming.",
"character_page": "https://e2.life/people/dinesh/",
"game_character_page": "https://e2.life/game-characters/",
"look": {
"shirt": "#1c1d22",
"jacket": "#141519",
"pants": "#22242b",
"skin": "#cf8a5c",
"hair": "#0f0e0e",
"hair_style": "messy",
"sleeves": "long",
"decal": ">",
"shoes": "#151518"
},
"stats": {
"speed": 9,
"jump": 7,
"power": 6,
"heart": 8,
"tech": 10
},
"special": {
"name": "Chai and Code",
"what_it_does": "Dinesh fixes or builds anything broken on screen, instantly. Bugs get stomped, machines come back to life."
},
"voice_lines": [
"The Library never really closes.",
"Try the Vibe Coding lesson in the Innovation Labs.",
"The VR Lab has Mars. Actual Mars."
],
"home_in_e2_world": "Starvard University",
"sprites_2d": {
"front": "https://e2.life/e2world/sprites/dinesh_front.png",
"back": "https://e2.life/e2world/sprites/dinesh_back.png",
"face": "https://e2.life/e2world/faces/dinesh.png",
"portrait": "https://e2.life/e2world/dinesh.png"
},
"model_3d": {
"glb": null,
"vrm": null,
"status": "next step: one rigged GLB master per character, built to the standard below, then this field points at it and every game loads the same file",
"rig_standard": "standard human skeleton (hips, spine, chest, head, upper/lower arms and legs), the same joint set E2 World's built-in rig uses",
"animations_standard": [
"idle",
"walk",
"run",
"jump",
"wave",
"dance"
]
},
"playable_in": [
{
"game": "E2 World (3D island)",
"url": "https://e2.life/e2world/",
"how": "pick this character on the start screen"
},
{
"game": "Super E2 (pixel runner)",
"url": "https://e2.life/e2world/supere2.html",
"how": "choose this runner"
},
{
"game": "Chai and Code (their own game)",
"url": "https://e2.life/chaicode/"
}
]
}
Making a new E2 game? Load the full roster file, let the player pick one of the five, and read their stats and look from their file. Please do not invent a second Dinesh.
Want the whole story on a person? Every card above links to their full character page at e2.life/people.
New here? Start with E2 World, pick Dave, and go to the beach.