Back

Activity 1.25: Creative Artifact — Build

divider

Activity 1.25

Creative Artifact — Build

Key Concepts

Stage by Stage, Always Running

The Twenty-Minute Rule

Cutting Is Not Losing

One Session

You have your approved plan and one period.

Everything below exists to make sure you have something running at the end of it.

Rule One

It runs at every step.

Rule One

It runs at every step.

Not "it will run when I finish this bit". Running now, with less in it.

A program that has run in the last two minutes has a bug you can find. One that has not run in twenty has several, and they are tangled together.

Which Is Why You Have Three Stages

  1. Something on screen that responds
  2. The table and your function
  3. Scoring, ending, polish

Each one runs. Each one is a program you would not be ashamed to hand in.

Rule Two: The Twenty-Minute Rule

Twenty minutes on one bug and you stop and ask.

Not because you cannot solve it. Because today the clock is the thing that beats people, not the difficulty.

Rule Three: Cut Early, Not Late

You named the cut last session. Take it at the halfway mark if you are behind, not at the end.

A cut made with thirty minutes left is a decision. The same cut with five minutes left is damage.

Save a Version That Works

When a stage runs, copy the whole folder and call it stage1, stage2.

Ten seconds. It means the worst thing that can happen today is going back to something that worked.

Where to Look When It Breaks

Blue screen, names a line
Read the message. It says what it wanted and what it got.
Nothing on screen
Are you calling your function, or only defining it?
Nothing moves
Is the variable above both boxes, or inside one?
A number climbing wildly
Something is counting every frame that should count once.
nil where a number should be
A misspelling, a missing argument, or an index past the end.

And Then Everybody Plays Everybody's

The last twenty minutes are a gallery walk. Every program left running, everybody else walking around.

Which means the build stops with twenty minutes on the clock, not at the bell.

Today's Objectives

  • Build the approved plan, stage by stage
  • Keep a running version at all times
  • Meet all five requirements
  • Finish with something that works, and show it

'F' → Fullscreen

divider

Build

Copy the template your plan needs to 1-25-artifact. Almost everybody wants template-game.

main.lua
-- 1-25-artifact / main.lua
-- variables
function love.update(dt)
end
function love.draw()
end
function love.keypressed(key)
if key == "escape" then
love.event.quit()
end
end

Stage 1 — Something on Screen (target: 15 minutes)

The smallest thing from your plan that draws and responds. One shape, moved by the keyboard or the mouse:

main.lua
local x = 400
local y = 300
function love.draw()
love.graphics.circle("fill", x, y, 30)
end

Run it. Then copy the folder to 1-25-stage1.

Fifteen minutes in and stage 1 does not run? Put your hand up. That is what the twenty-minute rule is for, and it is much cheaper now than at the end.

Stage 2 — The Table and Your Function (target: 30 minutes)

Two things, and they are the graded ones:

  • The table. Positions, sizes, states — whatever your plan said. The program has to break without it.
  • Your function, with parameters, called from more than one place, with a decision and a loop in its body.

Run it. Copy the folder to 1-25-stage2.

If your function has no natural loop in it, draw something in a loop — rings, a row of pixels, a health bar of N segments. That counts and it looks better than the version without.

Halfway Check

Stop and look at the clock. If stage 2 is not running with half the period gone, take the cut you named last session, now. Do not negotiate with yourself about it.

Stage 3 — Make It a Thing (target: the rest)

Whatever your plan called for. In rough order of value:

  1. An ending — a win, a loss, a timer running out
  2. A score or a counter that is correct
  3. Something that tells the player what to do
  4. Color, size, and spacing that look deliberate

A counter that counts once per event and not once per frame is session 14. If yours is climbing on its own, that is the bug.

Last Ten Minutes — Stop Building

No new features in the last ten minutes. Instead:

  • Run it three times and try to break it
  • Check every requirement on your plan is actually there
  • Check Escape still closes the window
  • Delete code you did not end up using
  • Make sure the folder you are submitting is the one that runs
Finished early? Do not start a second project. Take one thing that works and make it better — more of what your function draws, a second table, an extra decision. Depth is worth more than another feature here, and it gives you more to write about tonight.

Last Twenty Minutes — The Gallery Walk

Leave your program running and go and look at everyone else's. Play at least five. Record three:

WhoseOne thing it does wellOne thing you want to know how they did
Ask the third column out loud before the bell. Everybody in this room solved a problem you did not, and this is the cheapest twenty minutes of the quarter for finding that out.

Tonight

Written Response: Your Creative Artifact is homework, and it is due on paper at the start of the exam session. You will not have a computer that period.

divider

Checkpoint

  • 1-25-artifact runs, and runs from a fresh start
  • Something moves or responds to the player
  • Keyboard or mouse input works
  • A table is used, and the program breaks without it
  • Your own function takes parameters and is called from more than one place
  • A decision and a loop are inside that function's body
  • Escape closes the window
  • At least one saved stage folder exists
  • Three programs recorded from the gallery walk
divider

Reflection

Answer the following questions before submitting your work.

  1. Describe the point today where the program was furthest from working. Say what you did, and whether the plan or the code turned out to be the problem.
  2. Did you take the cut you named last session? Explain the decision either way, and say what you would build first if you had another hour.
  3. Name one thing you can do now, without looking anything up, that you could not do at session 13. Point at the line in your own program where you did it.
divider

Submit

Submit the whole 1-25-artifact folder. Keep your stage copies, and keep the program itself — you write about it tonight, from memory, with the editor closed.

Activity Complete