Class Hours: 10:05 – 2:40
Mr. Bohmann | wbohmann@ewsd.org
10:05 Today’s Notes & Attendance
- NTHS set for Thursday, April 9th
- Two Weeks to vacation
- Hiring Fair in Library tomorrow from 11:30-2:30 You are encouraged to attend – just let me know:
- Businesses and organizations who will be there include:
- * S.D. Ireland
- * PC Construction
- * AC Hathorne
- * Connor Contracting
- * Lewis Creek Builders
- * ECI (Engineers Construction Inc.)
- * Rivers Construction
- * VHV Company
- * Alliance Group Service LLC
- * Pinnacle Properties
- * Husky
- * Keurig
- * Autumn Harp
- * Beta Technologies
- * SBSigns
- * Home Instead
- * GlobalFoundries
- * ETS Staffing
- * City of Burlington
- * Town of Colchester
- * Essex Junction Park & Rec
- * EWSD IT
- * Maple Ridge
- * Northwestern Medical Center
- * ECHO Leahy Center (E-Team Internship)
- * Reach for the Stars
- * VocRehab/ Hireability
- * UNITED STATES NAVY
- * Army National Guard
- Businesses and organizations who will be there include:
10:10 Unity Terrain Continued…

We’ll start with a short review from last week.
I’ve added the HandPainted Grass & Ground Pack to my project
There are many principles that game developers and designers can use to create visually stunning games, as well as exciting and engaging gameplay. As the designer, you have a lot of control and choices. Here is a short summary of some principles to keep in mind:
- Visual Clarity – players need to know what they are seeing (UI elements, game play area, avoiding clutter)
- Consistent Art Style (consistent color patterns, characters and adhering close to the theme)
- Effective Visual Hierarchy (guiding the player to important visual elements)
- Meaningful Use of Color (color can convey emotion, visual interest, information)
Week 27 Environmental Design Project
Due Monday, April 13th
Design #1
Low Poly Exploration Game
Create a serene and mysterious low-poly landscape. Imagine a forgotten forest, ancient ruins, or a hidden valley.
Check out Skyboxes from the Asset Store
Check out low poly Assets from the Asset Store
Artistic Focus: Stylized, low-poly aesthetics, emphasis on atmosphere and visual storytelling.
Design #2
Desert Survival Game
Design a vast and unforgiving desert landscape for a survival game. The player will face harsh conditions, navigate treacherous dunes and mountains
Check out Skyboxes from the Asset Store
Check out Desert Environments from the Asset Store
Artistic Focus on creating a sense of isolation, desolation, and the beauty of a harsh environment.
The submission for this project will be a 30 second Run through of your environment.
Filename: EnvironmentalDesign_Lastname.mp4
Making our Own Terrain Textures – Let’s look at the process
To make a material that can be painted onto a Unity terrain, you don’t typically create a single standard “Material” file for the whole landscape. Instead, you create Terrain Layers. Each layer acts as a “paintable” material that you can brush onto specific areas.
You can get materials to download and paint from PolyHaven. Let’s do one together.
- Download Assets: Go to Poly Haven and download your desired terrain texture (e.g., grass, rock, or dirt).
- Select Maps: Ensure you download the Diffuse/Albedo (color), Normal (depth/bumps), and Displacement/Height or Roughness maps.
- Import to Unity: Drag the downloaded image files into your Unity Project window. If a “Normal Map” prompt appears, click “Fix Now” to ensure Unity treats it as vector data rather than color.
Create Paintable Terrain Layers
- Switch to Paint Texture: Select your Terrain, go to the Paint Terrain tab (brush icon), and select Paint Texture from the dropdown menu.
- Create New Layer: Scroll to the “Layers” section and click Edit Terrain Layers > Create Layer.
- Assign Textures: Select the Poly Haven Diffuse texture to create the layer. Once the layer is created as a file in your project, select it to view its properties in the Inspector:
- Diffuse: Assign the Albedo/Color map.
- Normal Map: Assign the Normal map and adjust the slider for bump intensity.
- Mask Map: If you have a combined map for Metallic/Smoothness, assign it here.
- Adjust Tiling: Under the Tiling Settings, change the Size (X and Y) to control how large the texture appears on the terrain; larger numbers prevent visible repeating patterns over wide areas.
10:50 Morning Break (10 minutes)

11:00 Pinball – Basic UI
We have a couple of areas left for our basic pinball game. A start screen, gave over screen and the ability to restart. In addition, we’ll should publish our first game (even if it’s not too good).

Games will commonly start on a home or title scene that is shown before gameplay begins. Home screens often include some graphics, display the name of the game and offer the player a chance to configure some game settings. When the player is ready to start, they will click on a button to begin the game.
A settings screen may ask the user to enter a player name and adjust other settings like volume and difficulty level. Once the player has selected all of their options, they can usually click on a button to return to the home screen or begin playing the game.

The Unity Canvas allows you to add buttons to your scenes very easily. To add a new button, just select “GameObject” from the top menu, then choose “UI” and then “Button“. This will place a basic gray button on your scene with the text “Button”
Let’s create a Home Screen (Scene) for our PinBall Game. This will also allow us to review how to set up buttons. We’ll need to create some methods in our GameManager script. We’ll then use our buttons to call those functions/methods when a button is clicked.
When a button is clicked, Unity can call one or more functions in response. To link your script functions to a button, click on the Button object in the Hierarchy. You will see an “OnClick” section in the Inspector panel. Initially, the list is empty, so your button won’t do anything.
Remember that you can attach a script to any GameObject, so your script function that handles a button click could be attached to the Button object itself, any other sprite on the screen, an empty controller object could work too. We’ll use the GameManager because we have one.
using UnityEngine.SceneManagement;
public void LoadGame(string sceneName)
{
SceneManager.LoadScene(sceneName);
Debug.Log("button clicked");
}
public void Credits(string sceneName)
{
SceneManager.LoadScene(sceneName);
Debug.Log("button clicked");
}
11:55 Lunch
12:25 PinBall – Building your UI
Use this time to tighten up your game, add your UI and make sure the UI works. If you finish, consider investigating particles, animations and other customizations.
1:10 Afternoon Break

1:25 Speed Design

1:45 Independent Production & Guided Support
- 2D Lip Sync Due Wednesday
- Environmental Design Project Run Through – April 13th
2:10 Dailies

2:15 Independent Reading

2:40 Dismissal

