Back

Activity 1.24: Creative Artifact — The Plan

divider

Activity 1.24

Creative Artifact — The Plan

Key Concepts

What You Are Making

Scope Is the Whole Skill

A Plan Somebody Else Could Read

Three Sessions, One Program

Today you plan it. Next session you build it.

Three Sessions, One Program

Today you plan it. Next session you build it.

Then you write about it and show it to the room.

No code today. Not one line.

Why the Gate

You have one session to build.

A plan that cannot be built in one session is not a plan, and the time to find that out is now.

In Quarter 3 you get eight sessions and the same problem, at eight times the size.

This Is Not a Plan

A multiplayer role-playing game with a world map,
an inventory system, save files, and boss fights.

This Is Not a Plan

A multiplayer role-playing game with a world map,
an inventory system, save files, and boss fights.

Every word of it is something you have never built, and none of it fits in an hour.

This gets written every year, by somebody good.

This Is

A target-practice game. Targets appear at random
places, you click them, and you get one point each
until the timer runs out.

This Is

A target-practice game. Targets appear at random
places, you click them, and you get one point each
until the timer runs out.

Every piece of it is something you built between sessions 13 and 23.

Small and finished beats ambitious and broken. Every time.

The Five Requirements

  1. Something on screen that moves or responds
  2. Input from the keyboard or the mouse
  3. A table that the program actually uses
  4. A function you wrote, with parameters, called from more than one place
  5. A decision and a loop inside that function's body

Number Five Is the Awkward One

local function drawTarget(x, y, size)
-- decision: a hit target looks different
-- loop: draw the rings
end

Not somewhere in the program. Inside that function.

It is the Create Task's requirement, shrunk. Meeting it now makes Quarter 3 an easier conversation.

"Actually Uses" a Table

Storing three names and printing one of them is not using a list.

The test: delete the table. Does the program break?

If it still works with the table gone, the table was decoration.

Name the Thing You Will Cut

Every plan needs one feature marked "cut this first."

Deciding it today, calmly, is worth ten times deciding it next session with fifteen minutes left.

Today's Objectives

  • Describe a program in one sentence
  • Check it against the five requirements
  • Name what you will cut if you run short
  • Get it approved before you write any code

Key Terms

Scope
How much a project is trying to do.
Artifact
The thing you made. The program itself, not the plan for it.
Requirement
Something the finished program has to have, whatever else it has.
Purpose
The problem being solved or the interest being pursued. The exam's word.

'F' → Fullscreen

divider

Build

No code this session. VS Code stays closed. Everything below goes on the planning sheet, in prose, in sentences.

Task 1: One Sentence

Write what your program is in one sentence that says what a person does with it and what happens.

"A game where you dodge things" is not enough. Who moves? What appears? How does it end?

Read it to the person next to you. If they ask a question you cannot answer, the sentence is not finished.

Task 2: The Five Requirements

Go through the list one at a time and write down which part of your program satisfies each. Not "it will have a table" — what is in the table, and what the program does with it.

RequirementWhich part of your program
Moves or responds
Keyboard or mouse input
A table the program uses
Your function, with parameters, called twice
A decision and a loop inside it

Run the delete test on paper. If your table were gone, would the program still work? If yes, the table is decoration and the plan needs changing now, not next session.

Task 3: Sketch the Screen

Draw the window on your sheet. Put everything on it that will be there. Label what moves, what the player controls, and where any text goes.

You are drawing at 800 by 600, and y still points down. Put a couple of approximate coordinates on the sketch — you will thank yourself next session.

Task 4: Three Steps, In Order

Break the build into three stages that each run. Not three features — three programs, each one bigger than the last:

  1. The smallest version that puts something on screen and responds
  2. That, plus the table and your function
  3. That, plus scoring, ending, polish

Stage 1 has to be something you could finish in fifteen minutes. If it is not, it is stage 2.

Task 5: Name the Cut

Write down the one feature you will drop first if you run out of time, and sign next to it.

This is not pessimism. Every real project has this list; most people just write it in a panic instead of in advance.

Task 6: The Gate

Bring the sheet to me before you open VS Code. I will read it and either approve it or hand it back with one thing to change.

Getting handed back is normal and it is not a mark against you. Getting approved with a plan that was too big is what actually costs you, because you find out next session with no time to recover.

Approved early? Sketch a second screen for the state after the game ends, or write out the exact lines of your function's header and what each parameter is for. Still no code.
divider

Checkpoint

  • One sentence that says what a person does and what happens
  • All five requirements matched to a named part of your program
  • A screen sketch with labels and some coordinates
  • Three stages, each of which runs
  • A named cut, signed
  • The plan is approved
divider

Reflection

Answer the following questions before submitting your work.

  1. Describe the first version of your idea, before you cut anything down. Say what you removed and what convinced you to remove it.
  2. Requirement five puts a decision and a loop inside your own function. Explain what that forced you to change about the design, and say whether the program is better or worse for it.
  3. You named a feature to cut before writing any code. Explain what makes that easier to decide now than it will be next session.
divider

Submit

Submit the approved planning sheet to the appropriate dropbox. Keep a copy — you build from it next session and you write about it the session after.

Activity Complete