Physics and Programming using the Unity 3D Game Engine
I’m hard at work on my next project creating a physics and programming curriculum using the Unity 3D Game Engine (Unity3d.com). I’ve been kicking the idea around for a while but just have not had the time to get to work on it. However, my classes in my Masters of Educational Technology program at Boise State have me creating instructional design units as well as lesson plans and media for those plans. So I thought, “why not do all this planning for something I want to create?”
So instead of just diving into creating the lessons like I usually do, I’m now making a well thought out plan. I’m looking at the outcomes of my unit and planning the lessons and assessments I need to get there. I’m planning the graphics I need to create to help explain the topic. I’m assessing my student’s prior knowledge and characteristics so I know where I have to start. These are all things teachers to instinctually, but actually taking the time to write down the plan step by step is helping me to come up with good ideas that add more structure to the lessons.
In my Graphic Design for Learning course we created a Unit of Instruction Outline. Here is my outline for Physics and Programming using the Unity3D Game Engine:
Students will learn Newton’s first two laws of motion as they apply to forces and masses within a game. They will also use the game engine to program the movement of an object by calculating the distance an object moves given its speed. Students enjoy games. Physics and programing are an important part of game creation. The connections between physics, coding, and gaming is not well understood by students but their love of games will be a good motivator to learn.
Specific ways to relate goal(s) to curriculum
Using the game engine students will learn the physics of velocity, acceleration, and Newton’s Laws.
From the California Science Framework:
Newton’s laws predict the motion of most objects.As a basis for understanding this concept:
a. Students know how to solve problems that involve constant speed and average speed.
1. b. Students know that when forces are balanced, no acceleration occurs; thus an object continues to move at a constant speed or stays at rest (Newton’s first law).
1. c. Students know how to apply the law F = ma to solve one-dimensional motion problems that involve constant forces (Newton’s second law).
Characteristics of the students
This unit is meant for general high school level students. Motivation to learn may be low but using a 3D game engine may keep them hooked and interested for the duration of the unit if there are not too many cognitive pressures or frustrations. Students are very social and enjoy showing interesting work online. This will be exploited by assignments that are turned in via social networks.
Student’s Present Level of Performance and Knowledge
Students will have a grasp of speed, velocity, and acceleration in one dimension through previous course work. This unit will require demonstrations of how to use the Unity engine to create shapes, write simple programs using the equations of motions, and run the game. This will be done through teacher demonstration, screen captured video, and graphics in the text of the assignments.
The lesson requires a high school level of science knowledge and abilities. Some very simple coding experience using codecademy.com, CodeHS, or CodeCombat.com is recommended before starting this unit.
Basic finder usage and application running is a prerequisite. The students must also be able to name, save, and specify a location for files.
My students also have a website they have been building all year showing the work they have done. They will post their progress on their websites as a blog.
This unit can also be used as an introduction to coding. The text and lessons will explain coding using the programming language C# at a beginning level. My students have been introduced to coding through completing an Hour of Code activity and another week-long coding activity covering variables and loops.
Classroom Layout and grouping of students
My classroom has five tables with six students each and 30 Mac computers around the outside walls of the class. Learning starts at the tables with an instructor lead discussion and presentation of information they need to complete the task and then the students move to their computer stations to work through the material. As this is also an online curriculum, the students will access the lesson via website and/or iBook.
I will start with a multimedia presentation showing games they play that rely on physics. The presentation will show the game and discuss the physics needed for the game. I will introduce the concept of a game engine and the various games they play that are built using a 3D game engine, including games that are built with Unity. The students will then play selected games built with Unity that run online. The students will then open, build, and run a sample program that is included with the Unity package.
Materials and media
My classroom contains 30 mac computers and a teacher computer with digital projection.
Student Computers require the Unity3d Game engine to be installed and functioning. This is available for free at unity3d.com and requires some knowledge of user permissions to make it work well in the student user accounts. Unity runs on Mac, PC, and Linux computers.
The curriculum will be available on a website, possibly a Moodle site.
The curriculum will also be available in an iBook. The iBook for the unit runs on a Mac. I would also like to make it available on Kindle but this is outside the scope of this design.
Video screencasts will be used throughout for online or iBook learners.
- Many visuals will be created showing screenshots of the game engine to show students the steps in a visual way. Photoshop manipulations are required to highlight keystrokes or menu options. Visuals needed:
Creating a Cube image with game menu as well as screenshot of game with the cube created.
Moving an object by changing the Transform properties
Visual showing how to create a new script to control the cube
Visual showing what a 3Vector is (Vector in 3 dimensions).
Visual showing how the position of an object will change with every tick of a clock or loop through the script.
Visual showing creation of a simple ship.
- I’ll need an appealing banner image for the website.
- Cover for iBook and website splash page.
- I’ll need visuals explaining Newton’s first, second, and third law as it relates to gaming.
- At least 3 Icons will be needed to represent the different “modes” students must be in during the lessons. For example, they need to be in “Physics Mode” when the physics is being discussed. This will be emphasized with a physics icon at the beginning of the section. Then students will switch to “3D Mode” when they create objects for the game. They will then switch to “Programmer Mode” when we discuss the coding. It’s important for the students to realize that all these different modes are an important part of game creation and I want to graphically represent this.
- Decorative visuals will also be needed to add interest and and appeal to the lessons.
Assessment and evaluation of learner understanding
Formative assessment will be ongoing through the accomplishment or issues with assigned tasks.
Students will post evidence of their progress on their class blog along with a short reflection on what they learned. This will also be shared to social media with an assignment hashtag that I can find. Posts must include a visual showing the game progress, a discussion of the specific physics involved, and/or the programming concept learned.
At the end of each section, students will answer a set of questions based on the material learned.
Relate assessment instruments to the outcomes stated in the goals
After making a simple box move students will be challenged to create a simple ship out of shapes and program it to move in 3D space by adjusting its velocity vector. Completion of this will assess their progress to this point. Assessment questions will involve putting the ship through different maneuvers that further understanding of velocity and Newton’s First Law.
Students will then alter their script to include acceleration. They will be able to fly their ship with accelerations, which is much harder to do but more realistic. Assessment questions will involve accelerating the ship in different ways to illuminate the effects of acceleration.
Students will alter the force from the engine and mass of the ship to verify Newton’s Second Law of motion. Questions involving low, medium, and high masses with constant force as well as constant mass with changing force will be completed.
* Adapted from Unit Plan at http://edtech.tennessee.edu/~bobannon/unit_plans.html
I think the unit needs a little more focus, maybe a narrowing of what is taught to one or two physics concepts. If I plan a smaller chunk well I can then scale it to later lessons and units. My fellow classmates are reading it right now and will be commenting on it. We’ll see what they say.