'F' → Fullscreen
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.
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.
| Requirement | Which 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.
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.
Break the build into three stages that each run. Not three features — three programs, each one bigger than the last:
Stage 1 has to be something you could finish in fifteen minutes. If it is not, it is stage 2.
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.
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.
Answer the following questions before submitting your work.
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.