S02 · Sat, Sep 26, 2026

Place Your First Prop

Student slides for session S02. Use these to follow along in class or to recap what to try before next time.

Nova & Pixel

The Adventure Continues

Nova, a young explorer with a coral coat and a backpack, points toward distant mountains at dusk. Pixel, a small round mint-green robot with one bright eye and a glowing antenna, hovers beside Nova. A crystal lantern glows beside the path.

Today: use Python to start creating your own explorer and companion. Nova and Pixel are the class examples.

explorer_name = "Nova"
companion_name = "Pixel"

Share-out

Who will explore your world?

Share the explorer and companion you imagined after Session 1:

  • Your explorer’s name, appearance, personality, and one interest or favorite subject.
  • Your companion’s name, kind, personality, and one specialty or interest.
  • One thing you eventually want your companion to do: fly, scan rocks, identify animals, find hidden paths, recognize constellations…

It cannot do all of that yet. As you learn more Python, you’ll teach it how.

Four kinds of things

Explorer, companion, tool, world object

  • ExplorerNovaThe character who explores. You move Nova on the Trail.
  • CompanionPixelNova’s small, curious, careful robot friend.
  • ToolMoon CompassSomething an explorer uses. Today you place it.
  • World objectCrystal LanternSomething that is part of the world. The trail’s destination.

Pixel is in today’s Trail and says hello when you press E nearby. Pixel stays where it was placed: it does not follow Nova or make its own decisions yet.

Your trail today

Start, compass, lantern

Map of the S02 Trail screen. Nova, the class example explorer, starts at (430, 270) with Pixel, the class example companion, at (480, 310). Step 1: walk to the Moon Compass at (240, 180), the tool you place with x and y. Step 2: walk to the Crystal Lantern at (120, 460), the destination in the bottom-left corner. Visiting both completes the mission.1603204806408001603204800960640x →y ↓Visited 0 / 2Mission: Create Your First ObjectMission words stay up here.Messages appear here, like “Press E to explore”.2Crystal Lantern · the destinationAlready in the world. End your trail here.(120, 460)1Moon Compass · YOU place itYour tool. You choose x, y, and color.(240, 180) → your x and yPixel · class exampleSays hello when you press E.(480, 310)Nova · you walk as NovaStart here. Arrow keys move.(430, 270)
Your trail today: walk from Nova to your Moon Compass (1), then to the Crystal Lantern (2). Visiting both, in any order, completes the mission. In the Trail, Nova, Pixel, the Moon Compass, and Crystal Lantern appear as simple pictures. Names are not permanently drawn over characters or objects. When you are close enough to interact, the Trail may show a short prompt such as [E] Talk to Pixel or [E] Inspect Moon Compass. On the map, the labels and symbols are map-only. A thing without a known picture still appears as a plain colored box.

Explorers need tools

Your first expedition tool

The Moon Compass is the expedition’s first instrument, and you decide where it lives. The Crystal Lantern is already in the world and marks the end of the trail. Put the compass somewhere an explorer would actually notice it and want to reach on the way.

Mission: create-a-classroom-object

Learning target: Store names, integer x/y coordinates, and a color in variables; explain which values are strings and which are integers; predict an object’s position; then adjust one coordinate from evidence.

Python first

Variables and values

object_name = "Moon Compass"
x = 240
y = 180
color = "purple"
  • x = 240 means: store the integer value 240 under the variable name x.
  • Assignment (=) stores a value under a name.
  • Strings are text in quotes: "Moon Compass", "purple".
  • Integers are whole numbers with no quotes: 240, 180.
x = 240

An integer. Python can calculate with it.

x = "240"

A string. Same digits, but it is text.

Yours to keep

Make your own world folder

Your explorer and companion belong to you, so they live in your own folder, not inside the course folder. From the course folder, run:

python3 make-my-world.py

Open my-explore-world/explorer.py and companion.py. Replace every TODO with concrete choices for your own Explorer and Companion: name, appearance or kind, personality, interest or specialty, and one future_ability. Nova and Pixel are examples, not required answers. The future ability is planning text only. Keep the quotation marks.

Practice vs. yours
starter.pyPractice today’s Python.
my-explore-world/Your characters and projects/moon-compass/. Course updates never replace them.

Designed by you

These Python values describe your explorer

explorer_name = "Comet"
looks_like = "a bright orange scarf"
personality = "brave"
favorite_subject = "volcanoes"
MY EXPLORER CARD  (designed by me)
Name:          Comet
Looks like:    a bright orange scarf
Personality:   brave
Interested in: volcanoes
companion_name = "Moss"
companion_kind = "tiny rock turtle"
personality = "patient"
specialty = "finding shiny stones"
future_ability = "light up dark caves"
MY COMPANION CARD  (designed by me)
Name:        Moss
Kind:        tiny rock turtle
Personality: patient
Specialty:   finding shiny stones
PLAN for later, not built yet:
  Someday it will: light up dark caves

Comet and Moss are made-up samples. This card is the new-workspace look. If you set up these files in an earlier class, running them prints your earlier lines instead — both are correct. Either way, your output shows your values.

What each value does today
ValuesChanges the Trail?
explorer_namelooks_likepersonalityfavorite_subjectin explorer.pyCard only
companion_namecompanion_kindpersonalityspecialtyin companion.pyCard only
future_abilityin companion.pyPlan only
xycolorin compass.yamlChanges the Trail
namein compass.yamlStored, no permanent label

Coordinates

Numbers that describe a position

The Trail screen is 960 wide and 640 tall. The corner (0, 0) is at the top left. x grows to the right and y grows downward. The Moon Compass sits at x 240, y 180.01603204806408009600160320480640x →y ↓Moon Compass(240, 180)(0, 0)
The Trail screen: x grows to the right, y grows down from the top-left corner.

x and y are integers. A bigger x moves right. A bigger y moves down.

The bridge to the world

Your values become the prop

The object file — not starter.py — is what drives the shared world.

What each value controls
Your Python valueObject file fieldWhat you see
object_namenameStored as your prop’s name. Not a permanent label; a nearby [E] Inspect prompt may show it.
xxLeft or right. Larger moves right.
yyUp or down. Larger moves down.
colorcolorThe named fill color

You copy the values across yourself. Python does not write or run the object file for you.

Keep it visible

Stay in range, pick a real color

Lesson-safe range: x from 80 to 800, y from 100 to 500. This is a classroom visibility guide, not a new rule.

Supported colors — lowercase, exactly as written:

  • red
  • orange
  • yellow
  • green
  • blue
  • purple
  • pink
  • brown
  • gold

Predict before running

Where should this instrument go, and why?

Sketch or describe where (240, 180) should appear so an explorer passing through would notice it. Then predict what increasing x by 100 will do — before you change anything.

Core path

Set it, validate it, watch it move

  1. Personalize object_name, x, y, and color in your starter.py.
  2. Run the Python file and explain the type of each value.
  3. Put the same values in your student-owned file, ../my-explore-world/projects/moon-compass/objects/compass.yaml.
  4. Validate your package, then launch the Trail.
  5. Checkpoint: show valid: ... and point to the file that drives the world.
  6. Observe the position. Close the Trail, change either x or y once, validate, and relaunch. Interact with every world object.
  7. Checkpoint: state your prediction, the coordinate you changed, and the movement you observed.

The two commands

Validate first. Always.

python lessons/sessions/s02/student/starter.py
explore-package validate ../my-explore-world/projects/moon-compass

Then launch the Trail for this mission:

explore-package trail <class packages> ../my-explore-world/projects/moon-compass \
  --player "nova-character:nova" \
  --mission-id "create-a-classroom-object" \
  --name "S02 Place Your First Prop"

If validation fails, fix only the first reported issue and try again.

Debug checkpoint

Same number, wrong type

x: "240"

Explain why this is the wrong type, then repair it without changing the number.

When it looks wrong

Four things to check

  • Color rejected? Use one lowercase name from the supported list.
  • Indentation? Use spaces, and line up name, x, y, and color.
  • Prop off screen? Return to the lesson-safe range, validate, relaunch.
  • Still in the old spot? Close the old Trail, save the object file, validate, relaunch.

If you get stuck

Support and extension paths

Support: keep the sample name and color, and change only one coordinate. Ask your teacher to check your indentation before you retype the file.

Extension: make a second evidence-based coordinate adjustment — after predicting it.

Using AI on this mission

Bounded questions, not full solutions

If you ask an AI tool for help, record your intent, your prediction, the exact bounded question you asked, the suggestion you tested, whether you accepted or rejected it, and your own explanation of the change. Do not paste whole files or ask AI for a complete solution.

What we discovered

Coordinates in our world

In Nova’s world · fiction

The Moon Compass is a fictional exploration tool.

In our world · fact

Maps use coordinates too: latitude and longitude. A magnetic compass lines up with Earth’s magnetic field.

Read the full discovery →

Exit check

Three quick answers

  • Python: What is a variable? Which values were strings? Which were integers? What does changing x do?
  • Your world: What are your Explorer’s name, appearance, personality, and interest? What are your Companion’s name, kind, personality, and specialty? What future ability do you want to program later?
  • Discovery: What do coordinates describe? How is the fictional Moon Compass different from a real magnetic compass?

Looking ahead

A static instrument, for now

Today’s Moon Compass sits where you placed it and does nothing else yet. Next session, it gains its own clue and reveal, becoming an active part of the expedition story.

Close

Wrap up S02

Save your work in my-explore-world and keep both folders where you can find them next session. Be ready to say which value you changed and what moved because of it — understanding comes before rushing.

What we learned in Python today →