Class hours: 10:05 – 2:45
Mr. Bohmann | wbohmann@ewsd.org
10:05 Today’s Notes & Attendance
- Week 35
- Miah early departure at 2:15 today
- Portfolio presentations – let me know if you want to practice or have someone look at your items
- Illuminated Path using Unity Lighting is past due – make sure you get that item done – the rest of the work we do will be tied to your final game project
- Equipment (laptops, cameras, tripods….) – all Due back by Tuesday, May 28th or sooner
- SkillsUSA Test (tiebreaker test) is set for May 30th at 10:10am for Alex, Miah and Josh
- Bus Evac Drill – tomorrow at 10:45 before break – then after break we’ll learn about your favorite video game and the 5 principles of level design
- At break today – fire up your 2D programming project
- Personal finance class is cancelled today – Nick and Xavier – hang with us this afternoon
10:10 Cawd Game Studio Work session
GDD First Draft is Due today. Submit to Classroom when you have it ready. Did you have someone proofread? – might be a good idea before I begin grading it. I will begin grading tomorrow.
Date | Week | Deliverable | Software Development Cycle |
---|---|---|---|
One | Project Intro, Game idea generation, pre-planning | Planning | |
May 20th – 24th | Two | Game Design Document, Asset creation / Coding | Analysis / Design |
May 28th – May 31st | Three | GUI, Movement, Core Mechanics | Design / Implementation |
June 3rd – 5th | Four | Prototype with game play | Testing/Maintenance / Publishing/Evaluation |
June 6th -7th | Game Jam | Evaluation |
Start with a 5 minutes Scrum Meeting (group or individual)
- What are you working on?
- What will you complete today?
- What help do you need?
- Game Design Document is due tomorrow
At this point you should have your game design document drafted and know the core of your game and your core game mechanic. Now is a good time to do some game planning (storyboarding, analog level design) and asset creation. Does your game design match your Game Design Document. Remember you should be in prototype / blockout / grayboxing mode- not finished asset mode
Next week you’ll tackle your core game mechanic. So if running, jumping and movement is at the core of your game, you should have that done by the end of next week. If your core mechanic is shooting, then by Friday of next, your game now is shooting and that mechanic is working.
Question? How will you know when your game is done? Ask yourself and your group what the bare bones deliverables are. That way you know what you are working towards.
Don’t be surprised if I ask you this question
10:50 Break
11:00 English with Mx. Yopp
11:50 Multiple Scene Management
Depending on the game you make, you might choose to develop a game with multiple scenes / levels. A scene in Unity is nothing more than a game object or better yet a collection of gameObjects.
While a game is running, scenes are loaded and unloaded under the control of scripts. A script can detect an event like a collision, change in health, or expired timer and decide it is time to move to a new scene.
When running your game, you’ll need to configure the Build Settings. All scenes that you want to manage under your scripts must be listed in the Build Settings area. To add scenes to the list, we just need to click and drag into the list. Let’s try it.
Let’s build 3 scenes. First, we’ll build the first scene and do some work with prefabs to speed up the process. – then we can build out the rest of the scenes
Movement Script for your spaceship
public class ShipMovement : MonoBehaviour
{
public int moveSpeed;
void Update()
{
Movement();
}
void Movement()
{
float hmovement = Input.GetAxis("Horizontal");
float vmovement = Input.GetAxis("Vertical");
transform.Translate(new Vector3(hmovement * Time.deltaTime * moveSpeed, vmovement * Time.deltaTime * moveSpeed, 0));
}
}
Let’s call this script – TransitionScript and place on an object with a Collider set to trigger. In my example, we’ll create a blackhole and place the script on this game object.
Unity scripts use a built-in object called the SceneManager to load and unload scenes. Any script that wants to use the SceneManager should first place the following “using” statement at the top of the source file, near the other “using” statements. This adds the SceneManagement library
using UnityEngine.SceneManagement;
Now, when your script wants to change from one scene to another, it can simply call the SceneManager.LoadScene() function and pass in the name of the new scene.
SceneManager.LoadScene ("Level2"); //refers to the scene name
or
SceneManager.LoadScene (1); //refers to the build index
LoadScene() will automatically unload the current scene, destroying all objects in the Hierarchy. It will then load the new scene and create all of the objects in that scene’s Hierarchy.
One useful strategy is to set up a public string with a variable name for your next scene. Then in the Unity Inspector, be sure to type in the name of the scene you want to load. The name and case need to match.
public class TransitionScript : MonoBehaviour
{
public string nextScene;
//creating a string to call the next scene you want to load
private void OnTriggerEnter2D(Collider2D collision)
{
SceneManager.LoadScene(nextScene);
Debug.Log(gameObject.name);
//for this script to work, you do need to have a collider 2d set to trigger
//you also need to have a Rigidbody 2D on your character
}
}
There are many kinds of game events that might cause you to change scenes. A game might change scenes when a player dies, when objects collide, when a timer expires, or any other event that your script can possibly detect!
12:25 – 12:55 Lunch
12:55 Independent Reading
1:20 Break
1:30 Design Challenge
1:55 Production Time and Guided Support
- Illuminated Rocky Path using lighting – Past Due
- Game Design Document – for your game – Due Today
- Link to Trello Board – share with me
- Favorite Video Game – Deconstruct – See details in Google Classroom – share out on Wednesday
2:40 Dailies
Dailies can be placed in the CAWD2 Dailies Folder on the CAWD2 Public Folders drive