Case study
A 2000s family computer you can sit down at, holding five original browser games on its desktop.
Personal project. I wrote the brief, designed the games, directed the art, wrote every document and built the front end. Behind the screenshots below sit about 37,000 words of design writing, 127 TypeScript files, and 449 pieces of original art.
The trailer
Nothing on this page shows the part that actually sells it, which is the machine in motion. The cut follows the same reveal the product does: a desk, a monitor warming up, a desktop, a browser, a town, an arcade, a document nobody told you to open.
Placeholder. The cut is not finished yet.
How it was made
Eight stages, each a real folder in the project. Open any node to read what happened there.
01The questionWhere the whole project starts, and the test every feature had to pass.
02ResearchNine archived games studied, ten worlds scoped, five kept.
03The machineThe desktop that holds everything else.
04DocumentationEvery world specified in writing before a line of it was built.
05Art directionOne hand, three distinct looks, held across every world.
06EngineeringA shell, then a pattern every world plugs into.
07Five worldsThree built, two in design, all on one desktop.
08Audit and releaseHow a world gets called finished, and what happens after.
01 Premise
This started as a spec piece for this portfolio. One page, a good idea, a week of work. It became a year.
Millsberry closed in 2010. Club Penguin closed. Webkinz changed. What is left is screenshots, a few wiki pages, and a lot of people describing the same feeling to each other in comment sections.
There is a mechanical problem underneath the nostalgic one. Flash is gone, so a great deal of what people are actually picturing does not run anywhere any more. What survived mostly became a download, or an emulator, or something you need to already understand to get working. The web those games lived on was open and easy and the current version of it is neither.
Most attempts to bring that era back are archives. You look at them. You do not play them. Welcome Back started from the opposite instinct: build the machine, not the exhibit.
People do not remember the graphics. They remember having a house.The finding that set the scope
The feeling I was chasing is a specific one. Seeing a thing you had completely forgotten and hearing yourself say I remember that. It is rare on purpose, because most of what would trigger it has been switched off, and it is rarer still when the thing is from childhood. Everything in this project is aimed at that half second.
That distinction did most of the design work. It meant the art style mattered less than the daily routine, and it gave every feature a pass or fail test: if it did not make a world feel more lived in, it did not ship.
02 The container
The first decision was structural. Rather than build five game sites, I built one machine and made every game an application on it. The desktop is the navigation. The browser inside it is the content layer. The worlds are apps.
This is the choice the whole project rests on. It gives five unrelated games a reason to sit together, and every new world inherits an audience already sitting at the machine.
It also set the tone. No onboarding, no tooltip, no press start. You are handed a room and left to work out what is clickable.
My favorite thing in the whole project is also the smallest. The login screen asks for a password, and there is no correct one. Whatever you type opens the machine. Because you had to guess at it, getting in feels like getting in, and people reliably decide they worked it out. Nothing on screen ever admits otherwise, because explaining it is the only way to spend it.
There is no right password. That is the whole trick.The first thirty seconds
03 The worlds
Each world answers a different childhood memory: a town, a picture riddle, an underwater mystery, a horse, an island. Three are built and playable. Two are honest coming soon pages inside the browser, because a dead bookmark would have broken the machine.
They look nothing alike on purpose, and underneath they are identical: the same 25 section design document, the same save architecture, the same measured hotspot rules, the same review process. That is what made three finished games possible instead of one, and it is the part of this project that would transfer to any product team.
Together they hold more than the desktop admits to. Someone who opens everything once is there for an afternoon. Someone playing properly is there for a week of evenings. Someone who wants all of it is there considerably longer.
Estimated against what is built today, from the content itself rather than from watching anybody play. The first real numbers arrive with the first strangers.
A town you live in, where the progress you make is a nicer chair.
Pick a resident, move into a starter house, earn Maple Bucks, decorate rooms, shop, play the arcade and read the town paper. There is no plot and nothing to save.
Nine districts, each a painted scene. Fifteen residents with their own conversations, friendship, gift preferences and letters they mail you. A town hall, a bank, a post office, shops, a cafe, a school, a newspaper and a six cabinet arcade.
The progression is deliberately domestic. You are not leveling up. You are finishing a sticker set, fishing at Lakeville, sitting a class at the academy, eating something out of your own pantry, and noticing the shop stock has changed since yesterday. It resets when you shut the computer down, on purpose. It is a day at the family computer, not a save file.
A game of picture riddles. Everything the rhyme names is somewhere in the photograph.
A cluttered photographic scene, a rhyming clue on a strip below it, and every object named in the rhyme hidden somewhere in the picture. Click it and the words strike through. One round per scene, finished when the rhyme is empty.
The clock is sized to the work rather than fixed: twelve seconds to read the rhyme, plus a per object budget by difficulty, so a scene stays fair when it gains or loses an object. A wrong click costs two seconds. A hint costs five and rings the object. You finish on stars, not a score.
It looks nothing like the town on purpose. Dark stained wood, brass, parchment, and an inscriptional Roman serif.
Four of the six rooms are the house I grew up in. The bedroom, the kitchen, the office and the garage, rebuilt from photographs down to the wallpaper border, the tile, the bookshelves and the cat. Nothing in the game says so. The riddles never mention whose house it is and my name is nowhere in it. It is simply the most personal thing in the project, sitting in plain sight as a puzzle about noticing things.
The office is the one that closes the loop. There is a computer on that desk, and it is the computer this whole project is built inside.
The photographs sit inside a frame rather than filling the width, and that is a decision rather than a shortfall. Filling it would crop almost thirty percent off the height of every picture, and in a hidden object game that means losing objects outright. One scene hides a brass elephant low enough that it would have been cut in half. So the picture stays whole and the bars are dressed as what they are: wood, a vignette and a shadow.
The only world with a beginning, a middle and an end, and a mystery that has a real answer.
A point and click adventure under the water. Swim between rooms, talk to the people who live there, pick things up, and solve problems by carrying the right object to the right place. Five Moon Pearls are missing and the town has decided somebody took them.
Everything in it is a record rather than a component. A scene, a character, an item and a puzzle are all data, and a single engine file is the only place a requirement is ever checked or an effect ever applied, so a hotspot, a line of dialogue, an exit and a gift all behave identically. A new room needs no new code.
There is no modern quest interface. No objective markers, no map, no floating labels. The room name is captioned small in the corner, object names appear on hover, and a notebook page called Things I'm Wondering About is the entire quest system, with three escalating hints you have to choose to open.
It is also the one world that remembers you. The town and the riddles are an afternoon on a website and wipe when the computer shuts down. Finn is an adventure with a save file, the same exception a real adventure disc on that machine would have had.
Nothing in it beeps. The rest of the machine speaks in plain sine tones, which made the reef sound like a spreadsheet, so this world got two sound generators of its own: a bubble, which is a tone that jumps up in pitch very fast and dies just as fast, and a sweep of water moving past you. Every sound in the game is built from those two. Picking something up is three bubbles climbing. A wrong answer is two going down.
Stand still for ten seconds and fatter bubbles start up the edges of the frame with a quiet puff of sound. Any click resets it. The room notices you are there.
The first world that actually moves.
Eighteen frames, drawn as one pose set and cut apart, then timed until the gait reads as a horse rather than a slideshow.
Every other world on this computer is still art. A painted scene, invisible boxes measured over the top of it, characters that hang in place and lean in when they speak. It works because a browser game from 2004 mostly did not move either.
This one is the exception, and it changes the job. A horse has to walk, trot, canter, graze and stand, and it has to stay the same horse through every frame of all of it. That is a different production problem from anything else here: pose sets rather than single images, frames cut and aligned to a consistent baseline, cycles that loop without a visible seam, and timing tuned by eye until the weight looks right.
It replaces the pet world that was originally scoped for this slot. Same instinct, something small that needs you to come back, but built on animation rather than a static room, which is the part I want to learn to do properly.
No design document for it yet. The animation pipeline came first on purpose, because until a horse can move convincingly there is no point writing about what it does.
An island that feels busy even when nobody else is there.
Wander snowy locations, play minigames, furnish an igloo, and turn up to seasonal parties. The most social feeling world, built without a multiplayer server.
The trick is atmosphere: crowds in the paintings, a party calendar that actually changes, and locations that look like somewhere people just left.
Last on purpose. It leans on the minigame framework, the room system and the seasonal calendar that the worlds before it already paid for.
09 The personal layer
The family whose computer this is has a calendar, an inbox, a buddy list, a grocery list and a standing argument about ground beef. None of it is invented. It is mine.
That was not the original plan. The plan was a period accurate family, written the way a set designer would write one. It turned out that inventing a convincing family is much harder than remembering a real one, and that the real one was better. So the machine quietly became a place to put things I did not want to lose, and almost none of it is announced.
Nothing below is labelled in the product. There is no about page, no author note in the calendar, no wink. You would have to already know.
My mom planted morning glories on a trellis on the side of the house. Before the bus we would go out and see whether any had opened.
Mom counts them for you in the messenger, most mornings. A typing passage tells you the blue ones open first.
My sister taught me to tie my shoes by giving me a cheese cube every time I got it right.
Sarah brings it up in the messenger and has never once let it go.
Sarah had a blue star nightlight.
She will lend it to you. For one night. She says do not get used to it.
Walking to the gas station for hot dogs and Funyuns, and almost missing the bus.
A conversation with Sarah that neither of us gets to win.
Halloween decorations went up with the windows open and ABBA on, every year.
Sarah, in the messenger. She already has the CD ready.
My mom made me chocolate milk in the middle of the night when my sister had friends over and I was too young for sleepovers.
Tell Mom you cannot sleep and she offers.
I could not eat ground beef. Once I threw up all over the kitchen table.
A grocery list in My Documents, and both parents mentioning the kitchen table without ever explaining it.
My dad's favorite was red velvet.
October 7 on the calendar. He will also tell you himself, and ask you to tell your mother.
He watched every NASCAR race.
Message him during one and he is not really available.
Farkle with him, which he never once let anybody win.
A typing passage, and he brings it up unprompted.
He coached my t ball team.
A typing passage about what a t ball coach actually needs, which is mostly patience.
He set up a treasure hunt every Valentine's Day.
February 14 on the calendar.
He made homemade fried donuts once and the oil burned me.
July 11 on the calendar, written as: Dad's donuts, stay away from the oil.
Craft days at the kitchen table with Mom.
February 21. Popsicle sticks.
Family bike rides, all four of us.
Four of them across the year, including one in November marked if no snow.
My grandma babysat us constantly.
She is on the buddy list, she types with one finger, and she is on the calendar more than anyone.
Block parties our parents threw, with a projector screen set up in the street.
On the calendar, and a typing passage about dragging lawn chairs out once it is dark enough for the movie.
Lemonade stands.
A typing passage with the pricing and the corner by the stop sign.
Sarah played piano growing up and hated it.
Every other week on the calendar, all year, without comment.
Power Rangers.
An answer in the quiz, and a shirt listed in a file somebody wrote.
I was obsessed with horses.
World four.
The house itself.
Four rooms of it are the scenes in iFind.
The fun plates, the plastic ones shaped like animals.
Not in yet.
Everybody on the messenger is offline when the machine boots. That is not a technical shortcut. It is the state the computer is actually in: nobody has signed on in years. A buddy only appears online once you message them and they answer.
My dad is on that list. He died when I was ten. He is the reason there is a red velvet birthday on October 7, a treasure hunt every February, donuts in July with a warning next to them, and a sticky note on the monitor telling whoever sits down not to install anything.
I did not build this to be sad about. Those are good memories and this is somewhere they can sit, in a machine that feels exactly like the one they happened around. If somebody plays it and never notices any of this, that is the correct outcome. It is a game about a family computer. It just happens to be a real family.
10 Interface
A game that looks like 2004 and is wrapped in a modern interface is a costume. So there is no global design system across the worlds. Each one gets the interface its own software would have had, and the only thing they share is a set of rules about how clicking works.
The rules exist because the art is photographic or painted, which means nothing on screen is a real element. Everything clickable is a box measured against the picture, and every one of these rules is the answer to a bug that shipped once.
No tutorial, no tooltip, no press start. You are handed a room and left to work out what is clickable, because that is what using a family computer felt like. The login password is the first thing the machine lets you think you solved.
Every clickable area is a percentage box against the painting or photograph itself, using offset sizes rather than the bounding rectangle, because the machine applies a zoom transform that the rectangle reports twice. Found and fixed three times before it went into the build notes.
A hidden object scene sits inside a frame instead of filling the width. Filling it would cut almost thirty percent off the height of every photograph, and in a game about finding things that means losing objects outright. The bars are dressed as wood, a vignette and a shadow.
Exits are invisible until you hover, at which point a character icon fades in at the cursor with the name of where it leads. Objects and exits sit above characters in the layer order, so somebody standing near a thing can never swallow the click on it.
No objective markers, no map, no floating labels. The room name is captioned small in a corner, object names appear on hover, and the entire quest system is a notebook page called Things I'm Wondering About, with three escalating hints you have to choose to open.
Picking something up, getting something wrong, finding something hidden: these are sounds rather than banners. One world gets its own two sound generators so it stops sharing a voice with the rest of the machine.
Drag, stack, minimize, maximize, close. Deleted files really go to the recycle bin and can be read there. Nothing is a mockup of an application, which is why sixteen of them are independently usable.
The adventure world shows a single intro card for the conventions a first time player has no reason to know, once per save, and never again. Everything else is learned by clicking.
11 Visual system
The temptation with a project holding several games is to unify them. That would be the wrong call here. Half the pleasure of a family computer is that the software on it did not match: one program is bright and flat, the next is dark and serious, and the mismatch is what makes it feel like a machine with things on it rather than a product with modes.
So each world is allowed its own look, and the discipline is in holding each one steady rather than blending them.
Bold outlines, warm light, saturated color, nothing that reads as modern or three dimensional. Painted scenes rather than tile maps, blue interface chrome, rounded yellow price plates. The target is a browser game somebody loved in 2006.
Stained wood, metal fittings, a vignette, and an inscriptional Roman serif for the titles and plates. It has to feel like a different piece of software entirely, because it is.
Saturated coral and lantern light, soft edges, painted panels with ornate corners built as border images so they never stretch flat at another size.
The operating system chrome, the icons, the wallpaper, the manufacturer, the processor. Nothing is copied from a real product. The shape is accurate, the thing itself belongs to nobody.
Icons are produced as sets rather than one at a time, which is the only way lighting and line weight stay consistent across hundreds of items. A furniture piece drawn alone always looks like it came from somewhere else.
A two figure sheet split down the middle sliced a hand off. Cutting by connected component instead, then cropping tight to the artwork so the file aspect matches the drawing, fixed it and fixed the soft edges that came with it.
A later batch came back photoreal while the first eighteen were painted. That is a style failure rather than a quality one. All thirteen were replaced until the set reads as one hand again.
Converting backgrounds to progressive JPEG took one scene set from twenty four megabytes to four, with no visible loss. A world nobody can load is not a world.
12 Systems
Three finished games with nothing in common on the surface, built on one set of mechanics that never changes. This is the part that made a second and third world affordable, and the part that would let somebody else add a fourth.
Each world owns its own state, its own save key, its own version number and its own migration path, and is registered as a dynamic import. Nothing a world does can reach into another world, and nothing a world costs is paid by somebody who never opens it.
Scenes, characters, items and puzzles are records in one content file. A single engine file is the only place a requirement is ever checked or an effect ever applied, so a hotspot, a line of dialogue, an exit and a gift all behave identically. A new room needs no new code.
The town and the riddles are session scoped and wipe at shutdown, because they are an afternoon on a website. The adventure keeps a save file, because a real adventure disc would have. The shutdown routine deliberately spares it.
Maple Bucks from jobs, classes, fishing and the arcade, plus arcade tickets that only buy prizes. Fifteen residents with friendship, gift preferences and letters they mail you. A house with three rooms, furniture you buy and place, and wallpaper. Collections across groceries, stickers, trading cards and fish, a pantry that moves five stats depending on what you eat, seasonal events, and a town paper that tells you the world moved without you.
Twelve seconds to read the rhyme, then a per object budget set by difficulty, so a scene stays fair when it gains or loses an object. A wrong click costs two seconds, a hint costs five and rings the object. It scores in stars, not points.
An inventory, characters who want things, and twelve puzzles that resolve by carrying the right object to the right place. Sixteen notebook entries stand in for a quest log. Every item in the catalog is awarded by something, so nothing is unobtainable.
Six arcade cabinets inside the town and six browser games on the fake games portal, all built on the same small framework and all finished.
A cross world store for secrets, completion flags and clues. Built early and deliberately left empty, so the first thing that links two worlds does not require rewriting either of them.
13 Development
Next.js exported as a static site, React and TypeScript, Zustand for state, Tailwind for layout, deployed from a repository to a host. That is the whole stack, and the constraint is the point: everything in here has to work as files on a server, the same way the sites it is imitating did.
127 TypeScript files, about 23,600 lines, 83 components and seven state stores, grown across three archived build generations. The shell stopped growing at generation three, which is when the work moved into worlds, which is exactly what the architecture was built to allow.
Around 220 documentation blocks sit at the top of files and functions, and almost none of them describe what the code does. They describe why it is like that, what was tried first, and what breaks if somebody changes it back.
An architecture file that is the authority when it and the readme disagree, per world build notes recording what is actually built, a deployment checklist, and a copyright notice. The prompt and audit documents are kept out of what gets published.
The machine applies a zoom transform, so the bounding rectangle reports a scaled number and every hotspot lands in the wrong place. This cost three separate debugging sessions before it was written down.
Anything that animates does it with a CSS transform, because animating layout moves a measured hotspot out from under the thing it belongs to.
Positions that look random are hardcoded, because a value generated during render does not match between the server and the browser and the whole page throws.
Three public environment variables are compiled into a static export. Setting them after a deploy does nothing until a rebuild, which is how a launch once went out silently with no analytics and no counter and nothing warned anybody.
14 Decisions
A personal project has no deadline to force decisions, so the constraints had to be written down and then honored. Each of these closed a door on purpose.
A parts based builder needs every hair and top drawn to work together, and it never stops growing. Presets cost one sheet of art, ship immediately, and let the clothes shop sell whole looks. The old builder code was deleted rather than left dormant.
Minigames are the most fun thing to build and the easiest place to lose a year. One duplicate was cut and the set was closed. The painted cabinets that are not playable stay as set dressing, which makes the room feel bigger than the feature is.
Fixed early and never renegotiated. A world that keeps being redrawn cannot accumulate small details, because every change invalidates the art, the routing and the writing at once.
A composition rule that turned into a technical simplification. It is also why a written character with no free slot got caught in the audit instead of shipping invisibly.
One state store per world, its own save key, its own version and migration, registered as a dynamic import. The cost of world five is paid by the people who open world five.
The town and the riddles are session scoped and wipe when the computer shuts down, because they are an afternoon on a website. The adventure keeps a save file, because a real adventure disc on that machine would have. Shutdown deliberately spares it.
Scenes, characters, items and puzzles are records in one data file, and one engine file is the only place a requirement is checked or an effect applied. Everything behaves the same way because there is only one implementation of behaving.
The operating system, the hardware, the messenger, every shop and every sender in the inbox are made up. What gets borrowed is the shape of the thing, never the thing itself. It keeps the machine an homage rather than a replica, and it lets the details be period plausible without pretending to be any one product.
The calendar, the inbox and the sticky note on the monitor all reference the same few weeks of one family's June. None of it is signposted. A detail nobody notices is still the reason the whole thing feels real.
The two unbuilt worlds are real pages in the browser saying they are not ready. A bookmark that went nowhere would have broken the illusion that this is a working computer, which is the only thing the whole project is selling.
15 Method
The design writing is the part I would show first in an interview, because it is the part that made the rest finishable.
It starts with a template of 25 fixed sections, so every world begins from a structure rather than a blank page. World one filled it to about 21,700 words: every system specified before it was built, from the economy and inventory to the school, the careers and the town paper.
Seven design pillars sit at the front, written as tests rather than values. Would a resident actually do this. Does it give people a new way to improve their home. A feature that fails several of them does not get built, and that sentence is in the document so the answer is decided in advance instead of in the moment.
Alongside the design documents sit the build notes, which are the more useful half. They record what is actually built rather than what was planned, every decision and the reason for it, and the traps worth not repeating. One of them exists purely because a launch once went out with no analytics and no visitor counter, silently, because three build time variables were never set.
| Document | Length | What it does |
|---|---|---|
| GDD template | 25 sections | The reusable spine for every world |
| Maple Grove design document | ~21,700 words | World one, specified system by system |
| Master world brief | 10 worlds | Scope and shared goals across the whole project |
| iFind design document | ~3,000 words | World two, written before development |
| Finn the Fish design document | Full template | World three: the mystery, seven regions, the cast |
| Architecture | Living | The authoritative rules. When it and the README disagree, it wins |
| Per world build notes | One per world | What is actually built, what is not, and every decision behind it |
| Deployment checklist | Living | Written after a launch shipped silently with no analytics |
| Audits | One per world | Verification that a world is genuinely finished |
16 Review
The most useful habit in this project was treating my own work like a client deliverable. Each build got a numbered review document: notes written against specific screens, screenshots with the problem marked, and a clear line between what was broken and what was a decision I wanted revisited.
One round was structural: the viewport was wrong, the icons were too large, two card games were unplayable, and the whole thing did not work on a tablet. Another was almost entirely copywriting, cutting written gags out of the family documents in favor of things a real family would actually have typed.
Written rounds do two things mental notes never do. They create a record, so nothing quietly stays broken across three builds. And they separate taste from defect, which is the difference between a list of complaints and a usable brief.
A real mother writing a grocery list is funnier than a written gag.Review round four
That note is a good example of the value. It is not a bug. It is a decision about voice that arrived halfway through, got written down once, and has applied to every string written since.
The most recent round is the clearest case for doing it at all. Two hint lines still told the player that part of the mystery was not built yet, months after the ending had been written. The game was finished and was still saying it had stopped. Nobody playing it would have reported that as a bug; they would just have quit. It got found by reading, not by testing, and the note now says to search for that exact phrase after any change to the content.
17 Proof
Personal projects usually end by being abandoned. Each world here ended with an audit instead, because I wanted the word finished to mean something specific.
The check runs against the game data rather than by clicking around. Every id in the catalog is matched to a real file on disk, and every image path referenced anywhere in the code is resolved.
The last line matters more than the clean ones. The audits record what is deliberately left undone as well as what is finished, with the reasoning attached, so the next world starts from a truthful picture instead of an optimistic one. The list shrinks as things get fixed: a batch of late scenes that had drifted toward photoreal has since been regenerated to match the rest, and every item in that world now has a puzzle that awards it, so nothing in its catalog is unobtainable.
18 Analytics
Measuring things is the day job, so the temptation was to build a dashboard for a game nobody has played. What exists instead is the smallest honest setup: the page is instrumented, the counter is real, and the event layer is specified but not built, because events you designed before watching anybody are usually the wrong events.
There is also no conversion here. Nothing is sold, nothing is signed up for, there is no funnel. That makes it a cleaner measurement problem than most commercial work: the only question is whether somebody explores, and for how long, and how far in they get.
Page level measurement is wired into the static export and switched on by a build time variable. It reports sessions, sources and pages, and nothing about what happens inside the machine yet.
The homepage of the fake internet shows a counter reading a real endpoint, offset by a fixed number so it starts where it should. It is the only number in the product that means anything, and it is period appropriate that it sits on a homepage.
A deploy went out with no analytics and no counter, because three build time variables were never set on the new host and nothing warns you they are missing. The site looked completely normal. That is now the first item on a written deployment checklist.
The event layer is specified and not implemented. Instrumenting before watching anybody use it produces a dashboard full of numbers that measure the assumptions rather than the behavior.
Written, not built. Each one exists to answer a question the design is currently guessing at.
19 Behavior
A product with no instructions is a product making a lot of assumptions. Every one of these is a bet, and the review rounds already lost a few of them.
The site opens on a desk with no interface at all. The whole product depends on somebody being curious enough to click an object in a photograph rather than waiting to be told.
There is no correct one and anything works. The bet is that a login screen is familiar enough that people type something instead of leaving.
Most of the content is behind one icon on the desktop. A person who never opens it sees maybe a fifth of what is there, which is the single biggest risk in the whole layout.
The architecture, the retention argument and the entire commercial case assume somebody who finishes one thing goes looking for another. Nothing currently proves it.
A calendar full of one family's year reads as set dressing to everybody except the family. That is the intended experience and it is also unverified.
Each of these was a design decision that somebody's actual behavior overruled, and every one of them was found by using the thing rather than by reading the specification.
The honest state of all of this is that it has been tested by one person who already knew the answers. The experiment that would actually settle it is in section 21.
20 Scope
People see a finished game and read it as one skill. It is not. Below is the actual work, grouped by the job it belonged to, across the machine, the fake internet and every world.
Nothing here was delegated. Every line was mine.
Game designer
11World builder
15Photographer, set designer
10Art director
9Copywriter, narrative designer
17Illustrator, retoucher
22Producer
10UX designer
25Front end developer
39Developer
21Web developer
17QA tester
26Project manager
14The newest part of the job
18All of the above, at once
6Roles switched between, often in one afternoon
Creative director UX designer Art director Photographer Copywriter Game designer Developer QA tester Project manager
21 The commercial case
Walking a finished prototype into a publisher does not get you a check. It gets you about ten questions, and none of them are about the art.
These are the questions, with the answers I would actually give. I have marked which ones the build has already settled and which ones are still a hypothesis, because the fastest way to lose a room is to present an assumption as a proven thing.
Adults roughly 25 to 40 who grew up on a family computer and a browser full of free games. The emotional target is narrower than that and the real market is wider: people who miss finding things on the internet before it was optimized, social and personalized for them. There is a second audience underneath it, younger players who never lived through any of this and read the whole aesthetic as novel, and that matters because nothing durable can rest on one generation remembering one thing.
Most of them recreate a destination. This recreates the machine that connected you to all of the destinations. Build a town game and you compete with people's memories of that town. Build the computer and there is nothing to compare it against, because the product is the whole ecosystem: you sit down, explore a desktop, find applications, open a browser, find games, read documents nobody told you were there. The worlds inside it can then be completely different from each other, which is a far broader foundation than one genre.
There is no log in, daily quest, collect reward, come back tomorrow loop, and bolting one on would damage the thing that makes it worth opening. The model is discovery driven instead: explore the computer, find something, finish or advance in a world, uncover something else, go back out and keep looking. At the scale of months it becomes simpler than that. A new world ships and the people who already have the machine come back to find it. The computer is the persistent layer, not any one game inside it.
This one is not fully answered and I would not pretend it is. The strongest honest answer is content discovery: with enough worlds, applications, hidden interactions, collectibles and documents there is always a reason to look further. The shape I would argue for is that the first visit runs on nostalgia, the second on curiosity, and every visit after that on new content. That tells you exactly what a finished version needs, which is a release schedule.
This is where the architecture stops being a technical detail. Worlds are modular, scenes and characters and puzzles are records rather than components, and a new room needs no new code. The claim is not that one person can make infinite games. It is that content can be added incrementally without rebuilding the product underneath it. There is a real ladder behind that: a full world takes months, a minigame weeks, a room days, a collectible set hours.
The product is the advertisement. A desk, a CRT warming up, a desktop, a browser, a town, an arcade, a strange document, a hidden interaction: that is already a reveal structure, and unlike a normal trailer the thing being shown is the hook rather than a summary of it. Short video, development diaries, nostalgia and indie communities, press and creators. The framing that works is somebody finding something on a childhood computer, not an ad about a game.
This is the biggest unknown and the honest answer is no. Nostalgia is the acquisition hook. The thing cannot depend on it to survive. The nostalgia gets somebody to click, the exploration gets them to play, the worlds give them something to do, and new content gives them a reason to return. The broader idea, exploring a strange personal computer that belongs to somebody else, is the part that can reach people who do not share the references. That is the hypothesis. It has not been tested.
Not a nostalgia game that keeps getting bigger. A living collection of small worlds housed inside a persistent fictional computer, where the computer is the platform and the worlds are the content. One year it holds a town, a game of picture riddles and an underwater mystery. Another year it holds a music game, a cooking game, a digital pet, something with other people in it. The computer accumulates history the whole time, and the proposition moves from remember this to what is on this computer, which is a far more durable thing to hold.
Two honest shapes. A lean version is me plus a couple of developers and freelance art and audio, enough to polish what exists, harden the infrastructure, make more content and launch it properly. A studio version is a full team across engineering, art, design, UX, audio, QA, production, marketing, community and a content pipeline that never stops. I would not start with the second one. The order matters more than the size: finish it, put it in front of strangers, find out whether people want more, and only then build the thing that makes more.
Describing it as five games undersells the part that took the longest. The accurate description is a fictional family computer holding an expanding collection of playable worlds: I recreated the feeling of finding things on a 2000s family computer, then built an architecture that lets completely different games live inside the same machine.
Said that way, every piece of the project has a job.
Everything above is reasoning. The only thing that turns it into evidence is watching people who had nothing to do with making it try to use it, with no explanation first. That experiment is simple enough to run as soon as the thing is public, and the analytics and the visitor counter are already wired in so the first answers arrive as data rather than as a feeling.
What I would be watching for:
The order matters. Finish it, show it, find out whether anybody wants more, and only then build the machinery to make more. The other way around is how a good idea turns into an expensive one.
Here is what I built. Here is why I built it this way. Here is what I have proven, and here is what I have not.The only pitch worth making
22 Why it is here
Nobody has to play this. No contract, no captive user, no procurement process. That makes it a fair test of what a marketing and design role actually runs on: deciding what a thing is for, writing the specification, directing the art, building the front end, and verifying that what shipped matches what was promised.
The transferable part is not the pixel art. It is that a project this size stayed coherent because the thinking was written down, the scope was cut on purpose, review happened in rounds, and the finish line was an audit rather than exhaustion.
It is also the clearest example I have of designing for a feeling and then defending that feeling against every good idea that would have diluted it.