Class hours: 10:05 – 2:45
Mr. Bohmann | wbohmann@ewsd.org
10:05 Today’s Notes & Attendance
- Wacky Wednesday
- Fire Drill Today at 10:15am
10:10 Last Looks – Game Proposals
When you arrive use the time up to the fire drill to make sure your proposal is in Google Classroom. We’ll begin as soon as we return to the classroom to hear your ideas. Check out the red box below…
10:15 FireDrill

10:20 One Button Game Proposals
Presentation order is on the board…

Imagine we are sitting around our modern game dev offices sharing ideas for the next game our studio will build. Each team member will have an opportunity to pitch their game ideas.
Talking Points – You should share (and explain!)
- Why should we play it? and Why we should make this game
- Game Name
- Quick Summary
- Which/What button – what is the core mechanic
- Win Conditions
- Lose Conditions
10:50 Morning Break

11:00 SkySweeper – Shooting to a Target
We are going to use ScreenToWorldPoint to get our target point for our laser set up properly and situated in world space. We’ll also have to do some vector arithmetic. Vector is just the location of x.y.z. Your current vector is at CTE in room c131 and the desk you are sitting at. All of our vectors are different.
Why use ScreenToWorldPoint? Well, it converts a point from Screen Space (measured in pixels) into World Space (the 3D coordinates where your objects actually live).
Think of it as a bridge between where the user touches the glass of their phone and where the 3D laser-sword is in your game.
To understand why we need this method, you have to look at how Unity measures space:
| Feature | Screen Space | World Space |
| Origin (0,0) | Bottom-left corner of the screen | The center of your scene (usually) |
| Units | Pixels (e.g., 1920 x 1080) | Unity Units (meters) |
| Dimensions | 2D (x, y) | 3D (x, y, z) |
The “Gotcha”: The Z-Axis
The most common mistake is passing a Vector2 or a Vector3 with a z value of 0.
If you provide z = 0, Unity thinks you are asking for a point exactly on the camera’s lens. Because of how perspective works, the math will collapse, and the function will just return the camera’s own position.
To get a valid result, you must provide a “depth” (z-axis) value. This tells Unity how far away from the camera the point should be. That’s what we are going to do.
Common Use Cases
- Mouse Interaction: Clicking on an enemy to target them
- Drag and Drop: Picking up an item in a 2D game and moving it around.
- Spawning: Spawning a projectile exactly where the user tapped the screen (in a mobile scenario).
11:35 Lunch

12:05 Programming / Design
Before we jump into some afternoon work time – let’s set up our ship to shoot two lasers. We can accomplish this with creating an array.
Think of an array as a digital storage container that holds a collection of items of the same type, all lined up in a specific order.
If a single variable is like a solo locker, an array is like a whole row of lockers in a school hallway.
The “Zero” Rule
In almost every programming language (like C#, Python, or javaScript), arrays are zero-indexed. This means the computer starts counting at 0, not 1.
- The 1st item is at index
0. - The 2nd item is at index
1. - The 3rd item is at index
2.
Independent Work Session
- Breakout Game
- SkySweeper
- Environmental Design – get your terrain in SkySweeper to look pretty!
- Consider adjusting your spline so that the ship enters the terrain instead of what we currently have in place(where we are already there)
1:00 Afternoon Break (15 minutes)

1:15 Dailies

1:20 Independent Reading
