JavaRush/Courses/Claude Code SELF/A Big Project, Step by Step

A Big Project, Step by Step

Open

1. Step 1. Refining the spec to specifics

The portal is dismantled, the map is there — and Tommy, with a clear conscience, returns to the dream. In his hands he has a fair spec from Alex — five points: first-person view, movement, place a block, remove a block, a small enclosed world. But before handing it to Sam, Alex pushes the spec one more step — toward the things the agent really needs, so it doesn’t have to guess.

“Five points are the core,” Alex says. “But let’s add exactly what to control and where it lives, otherwise Sam will start asking follow-up questions again. The mouse turns the head, WASD — walking. Left click — break a block, right click — place one. The world is a flat 20×20 platform made of cubes, say, and a wall around the edge so you don’t fall into the void. And let it be one index.html; you open it with a double-click — like all your toys. And one last thing: 3D by hand from scratch is thousands of lines of wrestling with graphics. There’s a ready-made library for that — three.js. Name it right in the spec, otherwise the agent will decide on its own how to build it — and may start writing everything by hand.”

Tommy puts together the final spec — by himself now, Alex only tweaks the wording:

Build a browser voxel world in one index.html.
  - first-person view; mouse — look around, WASD — walk;
  - world: a flat 20×20 platform of cubes, with a wall around the edge;
  - left click — break the block I'm looking at; right click — place one;
  - opens with a double-click on the file, no installation required;
  - 3D — on the ready-made three.js library, load it via CDN.
Refine the spec: five points are the “what”, refining is the “how exactly”. Three questions refine any spec: what to control, what size and shape, where it lives and how to open it. First-person view — controlled by what? — the mouse looks around. Without this the agent may make you look around with the arrow keys. Movement — which keys? — WASD. Without this — any keys it likes. Place and remove a block — how exactly? — left click breaks, right click places the block you’re looking at. Without this — one click and a mode toggle. A small world — what shape? — a platform of cubes with a wall around the edge. Without this — you can fall into the void. New point: where does it live? — one index.html, opened with a double-click. Without this — a project with installation and a build that won’t open with a double-click. Refining the spec means answering in advance the questions the agent would otherwise ask or guess Refine the spec: from “what” to “how exactly” BEFORE (five points) AGENT’S QUESTION AFTER (refined spec) OTHERWISE THE AGENT GUESSES first-person view movement place / remove a block a small world — (none) Controlled by what? Which keys? How exactly? What shape? Where does it live? mouse — look around WASD — walk left click — break, right — place a platform of cubes, a wall around the edge one index.html, double-click looking around with arrow keys any keys it likes one click + a mode toggle the edge — and you fall into the void a project with install and build — won’t open with a double-click Three questions refine any spec: 1 what to control? 2 what size and shape? 3 where does it live and how to open it? Refining the spec means answering in advance the questions the agent would otherwise ask or guess.

2. Step 2. A ready-made library instead of an engine from scratch

Tommy presses Enter. Sam asks no questions — the spec is clear — and right away writes how he’s going to build it:

“I’m loading three.js with a classic tag from a CDN, not as a module: that way the page is guaranteed to open with a double-click, straight from the disk. I’ll do the mouse camera rotation myself — three.js does have a ready-made piece for that, but only as a module, and a module won’t run from the disk.”

Tommy grins — familiar story. Just like with chess: don’t write the rules of the game by hand, take a ready-made one chess.js, where everything is already figured out. Same here, only for 3D.

“Oh, I’ve already been through that,” he says out loud. “No need to reinvent the wheel — just take a ready-made one.”

He doesn’t even need to figure out what’s inside the library. The main lesson was learned back with chess: if the task is typical, then almost certainly someone has already written a library for it. Your job is not to write the engine, but to name the right ready-made one for the agent. And along the way, Sam noticed on his own something Tommy hadn’t even thought about: how to plug it in so that the “double-click” from the spec really works.

3. Step 3. The agent assembles the world step by step

From here Sam just does the work — and Tommy sees each step in the chat as a separate action:

The agent's session: a spec for a voxel world on three.js; the agent explains it will load three.js with a classic tag from a CDN, not as a module, so the file opens with a double-click via file://; then it writes index.html and patches it.

Tommy doesn’t pore over the names — Pointer Lock, raycast — they tell him nothing. But he catches the overall logic: the agent connected a ready-made library, wrote the file and then fixed it up itself — so the “crosshair” doesn’t lag behind when you aim at a cube. Not magic from nowhere, but understandable pieces assembled from ready-made parts.

And then “done” arrives. And right there Tommy is hit for a second: his finger hovers over launch.

“Well,” he says out loud. “Either now, or I dreamed the whole year for nothing.”

He clicks.

The screen goes dark. A black square, a fraction of a second.

And then the picture appears — and it is as if it pulls him inside. He doesn’t look at the world from above like a map — he’s standing right in it, seeing everything in first-person. In front of him are blocks. He presses “forward” — the world shifts, as if he really took a step. He turns — and around him the cubic landscape unfolds in every direction.

“No way,” he breathes.

He reaches to place a block — the block appears exactly where he aimed. He hits the neighboring one — it disappears, leaving a void. Tommy doesn’t believe it and checks: he places another, breaks one, places three in a row, builds a crooked little tower, walks around it in a circle — the tower stands there, doesn’t go anywhere, and he is really walking around it.

The finished voxel world in the browser: a first-person view of a grass platform, a stone wall around the edge and a crooked little tower of three different blocks; a crosshair in the centre and a block bar at the bottom.

“I stared at this picture for a year,” he says to the empty room, walking around the tower once more. “And now I’m walking on it with my own feet.”

Not “something like.” Not a demo for the sake of a checkmark, not a picture you can only look at. Exactly the thing he spent a year thinking of as unattainable — and it is obeying his hands, right now. At least its first part.

4. Result: a working project

And right in the middle of this, a thought jerks him. Without leaving the world, he opens a second tab nearby — that same morning video from day one. He rewinds to the wish board, to the crooked screenshot in the corner. He puts the two screens side by side.

On the left — the little cube from the board of his future. On the right — the thing he has just been walking on.

They are the same.

Tommy moves his eyes from one to the other and back. The same blocks. The same first-person view. The same cubic ground to the horizon. A year ago, the older Tommy brushed past that screenshot in a voice note, in passing, and let slip: “this could all be yours in the future.”

“‘In the future,’” Tommy repeats and smirks. “Well, here it is. Today.”

On the first day, between that little cube on the board and himself there was a chasm he couldn’t even measure: behind his back there were zero lines of code, not a single thing built. Back then he wouldn’t have believed it for a second. He would have snapped back and closed it.

But he didn’t get here by magic. The same road as to the snake, to the landing page, to the radar: wanted it, cut the dream down to a feasible spec, stated the task in words, the agent built it, launched it, checked it by hand. The same assembly line — just this time, at the other end there wasn’t a toy, but that same impossible dream.

The same assembly line — for any dream. Five steps: wanted it, cut it down to a spec, stated the task in words, the agent built it, checked it by hand. Four steps out of five are yours; the agent does one. Example from this lecture: I want GTA made of cubes; five points without trees or day and night; a spec with controls, a platform and one file; three.js, scene, floor, controls, crosshair; stepped into the world, placed and broke a block, walked around a tower. If it isn’t what you wanted — back to the spec; if something broke during the check — back to the agent with an exact description. Done means after the check, not on someone’s word. The snake, the landing page, the earthquake radar, chess and the voxel world have already gone through this assembly line. In the queue — GTA in cubes: cars, a city, pedestrians, day and night, missions — one feature per pass. Teams call this iteration: a big project differs not in method, but in the number of passes. The dream didn’t get simpler — it became a list of passes through the same assembly line The same assembly line — for any dream Wanted it Cut to a spec Set the task Agent built it Checked by hand THIS LECTURE: “I want GTAmade of cubes” five points,no trees, no day & night spec: controls,platform, one file three.js, scene, floor,controls, crosshair stepped in, placedand broke, circled a tower not what you wanted → back to spec broke → to the agent Four steps out of five are yours. The agent does one. Done means after the check, not on someone’s word. Already through the assembly line snake✓ landing page✓ earthquakeradar✓ chess✓ voxel world✓ In the queue: GTA in cubes cars city pedestrians day and night missions each one is a separate pass through the line Teams call this iteration: a big project differs not in method, but in the number of passes. The dream didn’t get simpler — it became a list of passes through the same assembly line.

“Maybe by the agent’s hands,” he says out loud. “Maybe small. Maybe a crooked tower of two or three blocks. But I built it. I wanted it myself, set the task myself, carried it through myself.”

A year ago he wouldn’t have said that without sarcasm. And now — he did it.

5. The same trick on bigger tasks

And here the second wave hits him — no longer about the past, but about the future. If a bare box of cubes was assembled in half an hour — then what if he doesn’t stop? He opens the chat and, not planning to launch anything yet, throws Sam the next dream, the full one from childhood:

A rough plan for the future. I want to grow this world into GTA in cubes:
  cars you can drive; a city of block buildings;
  pedestrians; day turns into night; missions.

Sam answers calmly, without “impossible”:

“Each item is a separate chunk of work, and each one is solvable: car physics, city generation, simple pedestrian bots, a day-and-night cycle. It builds the same way — one feature per pass, with ready-made libraries. Not in a day, but it builds.”

Tommy rereads it and feels a strange calm. A year ago, “GTA in cubes” was a magic spell, behind which there was — emptiness and “I’ll never be able to handle something like that.” And now, under the same words, there is a list of tasks, each within reach. The dream stopped being unattainable and became just work that needs to be done. He closes the chat: today — the core, the rest later. But now he is sure that “later” will really happen.

1
Task
Claude Code SELF,  10 level,  2 lecture
Locked
Trim the Dream Down to the Core ✂️
Trim the Dream Down to the Core ✂️
1
Task
Claude Code SELF,  10 level,  2 lecture
Locked
Build the voxel world according to the spec 🧊
Build the voxel world according to the spec 🧊
Комментарии
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны sign in
This page has no comments yet