Class hours: 10:05 – 2:45
Mr. Bohmann | wbohmann@ewsd.org
10:05 Today’s Notes & Attendance
Today is a Wacky Wednesday
Call Backs: Elle – Yopp 1pm
The midpoint of Q4 has come and gone. Your current grade is a snapshot of where you are based on the assignments submitted. If you have outstanding assignments, please get those in. Last day of the quarter for handing in work is Friday, June 6th (end of day).
Games – starting next week you will begin the planning and development stages of your very own game. It might be a one button or one button inspired game, it might be a alternate to something we’ve started on, it may be an new 2D or 3D game. Start with some thoughts in your Game Dev journal – it will make it easier to begin when we begin that project.
Borrowed Equipment – Laptops – if you have a computer or other equipment that I loaned to you, it is time to return. I’ll send them to IT to get wiped, but to protect your privacy you may want to sign out of all accounts.
10:10 Shipyard Captain – adding rotation, cinemachine, particles

Yesterday we used the new Input Action tools. We added a spacebar to the Thrust Input Action.
and now we need to add a positive and negative key binding for rotating the lander.
- Add bindings for each InputAction
- Enable each input action
- Use the Value of the InputAction for gameplay
using UnityEngine;
using UnityEngine.InputSystem;
public class Movement : MonoBehaviour
{
[SerializeField] InputAction thrust;
[SerializeField] InputAction rotation;
[SerializeField] float thrustStrength;
[SerializeField] float rotationStrength;
Rigidbody rb;
private void OnEnable()
{
thrust.Enable();
rotation.Enable();
}
void Start()
{
rb = GetComponent<Rigidbody>();
}
private void FixedUpdate()
{
VerticalThrust();
ProcessRotation();
}
private void VerticalThrust()
{
if (thrust.IsPressed())
{
rb.AddRelativeForce(Vector3.up * thrustStrength * Time.fixedDeltaTime);
}
}
private void ProcessRotation()
{
float rotationInput = rotation.ReadValue<float>(); //this will check to see //if the negative or positive key is pressed and store that value in the variable
if (rotationInput < 0)
{
ApplyRotation(rotationStrength);
}
else if (rotationInput > 0)
{
ApplyRotation(-rotationStrength);
}
//else if means that movement is mutually exclusive otherwise you could //press both keys at the same time.
}
private void ApplyRotation(float rotationThisFrame) //this is a parameter
{
rb.freezeRotation = true;
transform.Rotate(Vector3.forward * rotationThisFrame * Time.fixedDeltaTime);
rb.freezeRotation = false;
}
}
10:50 Break

11:00 Pretty Up ShipYard Captain
But first: One button game proposals: Ben, Braden

Fantasy Skybox from Asset store
Rocks, buildings – let’s get in and add some character and obstacles to our scene and build out the background.
11:55 Lunch

12:25 Independent Reading

12:50 Break

1:00 Production Time and Guided Support
Breakout – You are in good shape if you can get a score set up and and UI for starting the game.
By this point you have bricks that break, a ball and some kind of game area. What’s next?
Can you apply what you learned on Tuesday and begin with a start screen?- talk to me if you need some help in these areas.
Take a look at the project deliverables found in Google Classroom
1:50 Dailies

Dailies can be placed in the CAWD2 Dailies Folder on the CAWD2 Public Folders drive