Instructor: Terry Linburg
Email: telinburg@sd43.bc.ca
In Game Development 12, you'll learn how to create your own 3D games using Unity.
We'll explore the creative and technical side of game development, including game design, storytelling, 3D environments, physics, animation, assets, and C# scripting.
You don't need to be an expert programmer or artist. You'll learn the skills as you go.
Unity — Build our games, environments, characters, physics and interactions.
C# — Learn to read and modify scripts that control how our games work.
Blender 4.x — Create and customize 3D objects and bring them into Unity.
Game #1 — Roller Ramp: Learn the basics of Unity, physics, colliders and simple C# scripts.
Blender: Create your own 3D game assets.
Game #2 — Open World Game (or...): Build a larger exploration game using terrain, assets, storytelling and objectives.
Game #3 — Choice Project: Develop your own game idea with increasing independence.
💡 Idea → 🛠️ Build → 🎮 Play
Expect to experiment, troubleshoot, break things, fix things, and have fun creating your own games.
Good luck — and happy game making!
Hand in Folder - Game Development 12
If you can't make up links for the spreadsheet, then create a folder with your full name on it and drag and drop all your files into this ONE folder only!
Please put your hosted Web GL build Roller Ball web link here
Please complete an entry for every finished playable game!
Create a one Drive share link - create an 'on line' spreadsheet for sharing course assignments
Create and Share links in ONE drive - A 'how to' guide
Example - T Linburg - (using Google Sheets - but you could use your Microsoft version of Excel)
T Linburg - grade and assessment link spreadsheet (adjust the share permissions to allow Mr. Linburg to edit)
Instructions:
Download an excel version
Rename the file "Last Name / First Name" - Game Development 12 - Block 4
Drop this spreadsheet into the hand in box and then add in One Drive Share links as you complete course assignments.
It is YOUR responsibility to keep this spreadsheet updated as you complete assignments
(*) Note: ALL completed Unity games should be submitted as complete web GL build - submit game link only!
Contact Mr. Linburg directly: telinburg@sd43.bc.ca
Module # 3 - Creating our First Unity Game - Roller Ball Ramp Game
Introduction to Unity - How do we get started?
Introduction (please download zip file and practice with the playground scene)
Unity intro - essential - intall info (already installed)
Unity essential - intro project (Please do Missions 1 to 3)
Download the practice 'zip' file essential project to get started!
Please work through the above intro BEFORE you start PART I. The software should already be installed at your workstation but it is important to learn more about the gaming workflow and console environment BEFORE you begin game ONE.
Part I - Roller Ball Game Intro.
This instruction set completes ONE ramp and associated objects (You will be making min. three)
Game Tutorial - instruction set
Concepts covered: Unity interface, creating a plane, game play, game controllers, ball mass and physics, colliders escalating level of challenge
Project Criteria: follow the video guides to make an initial game with ball / colliders / scoring / and player controller
When you're done the video intro's please add:
A second and a third level to the game with adjoining ramps and game play
A 'respawn point' (see this instruction set: respawn / escalating levels of difficulty / create new levels with a different 'look and feel' - Specifically, how is level two and three different from level one? (change the game play - make level two and three more difficult / other obstacles based on a 'theme')
Optional ideas:
Why are my textures pink? Unity can't read the required information
Objects rendered in pink usually indicate that the material needs to be converted. Go to Window>Rendering>Render Pipeline Converter. This tool will allow you to convert all of the materials to URP shaders. If you tried this already, then post more details about what you have tried and what is going on
Part II Add Second / Third Ramp and Project extensions
How to make a ramp in Unity / How to make an easy jump feature / How to make a ball Jump off any surface / How to change object colour in Unity (tutorial also covers object CHANGING colour when it comes in contact with the ball itself)
Game samples to try
Unity Ball game example (download the entire folder / unzip file and then select Unity)
Game sample # 3 (thanks Sarina!)
Game Sample # 4 (Thanks Ethan Lee - former game development student)
Part III - Creating a Web GL account and uploading your first game for others to play.
Once you have completed your roller ball ramp game you are asked to do the following:
Sign up for an Web GL account for a hosting service. You will upload a "web friendly" rendition of your game and submit a working "link" to your hosted project. Do not hand in a Unity game folder - just a link to a working GL build! We will, in a future class, be playing these games as part of a 'peer assessment' activity.
An Introduction to the "Brains" Behind Your Game
Time: 5 classes (ONLY!) - do as much as you can in that time...only! Good luck:)
Started: ____________
Due: ____________
C# is the programming language we will use to make our Unity games think and respond. It controls things like player movement, object interactions, scoring, enemies, and many other game behaviours.
We are not trying to become expert programmers in five classes. The goal is to develop enough understanding of C# that you can read, understand, modify, and troubleshoot basic game scripts.
Start working through the Codecademy Learn C# course (sign-up required - use your school email address) If you have never programmed before, Codecademy provides a structured, step-by-step introduction to programming concepts.
Pay particular attention to:
Variables — storing information
Methods — creating actions
Conditions — making decisions
Loops — repeating actions
Objects and properties — describing and controlling things
Much of the code we use in Unity will already be written for you. Your job will often be to understand what the code does and modify it to suit your game.
And this is where coding becomes useful: when something doesn't work!
If your character won't jump, an object won't disappear, or an enemy isn't behaving properly, understanding some basic C# can help you figure out why and make the necessary changes.
You have five classes to work through the Codecademy material.
Before we start building games in Unity, we're going to look at what makes a game a game.
We'll explore your own experience with gaming, think about how games are designed, create some early ideas for our own game, and play a few games from the past to see what we can learn from them.
Describe your experience with gaming:
What types of games do you enjoy playing? What makes them fun?
Have you ever created a game yourself using Scratch, Python, Unity, Roblox, or another tool?
Write approximately ½ page (min). - Please express your ideas clearly with examples and well written paragraphs!
A game starts with an idea — but turning that idea into an actual playable game requires planning.
A Game Design Document (GDD) is a working document used by game developers to describe and organize their ideas. Unlike a movie script, a game has to account for the fact that the player controls what happens.
Your GDD will not be a finished document. Think of it as a collection of ideas that we can develop and change as we learn more about Unity. You will return to it later when developing your island game and final projects.
🎭 Characters
Who are the characters?
What do they look like?
What role do they play in the game?
🌎 Environment
Where does the game take place?
What does the environment look and feel like?
What might the player discover?
📖 Story & Purpose
Why is the player here?
What is the player trying to accomplish?
Why should the player care?
For example: Are you rescuing someone? Exploring an unknown island? Searching for treasure? Defending Earth? Solving a mystery? Piecing together a strange series of events?
🎮 Gameplay
What does the player actually do?
What challenges or obstacles will they face?
How does the game become more interesting or difficult?
You may include drawings, sketches, maps, concept art or other visual ideas.
Game stories are different from movie stories because the player is part of the story. A great story on paper may not necessarily make a great game.
Read:
Game Design vs. Game Feature Design — Some of the challenges of turning ideas into playable games.
Game Design Document Template — See what a professional GDD can look like.
Question to consider:
How do you design a story when you don't know exactly what the player is going to do?
Due: __________
Before we start making modern 3D games, let's take a look at where video games came from.
Spend some time playing a variety of classic games. Try different genres and don't worry — yes, this really is a school assignment!
Free80sArcade — Classic Atari games
RetroGames.cz — Large collection of retro games
Tetris — Try the original concept
RetroGames.cc — Another large collection of classic games
As you play, think about this question:
What makes a game fun and keeps you wanting to play?
Is it the graphics? The story? The challenge? The controls? The feeling of exploration? Competition? Discovery? Something else?
Consider:
Simple vs. complicated graphics / Easy-to-learn controls / Increasing difficulty and challenge / Reward and achievement / Story and characters / Exploration and discovery / Immersion / Creativity / Player choice / Replayability / Fun!
Write a one-page reflection answering:
What do you think is the most important ingredient in a great game?
Use specific examples from the games you played to support your ideas.
Exactly one page — no longer, no shorter. Include illustrations or screenshots where appropriate.
Due: __________
Unity Manual — The official Unity documentation and reference guide.
Unity Learn — Tutorials and guided lessons for learning Unity.
Unity Hub — Download and manage your Unity projects and installations.
Unity Asset Store — Find 3D models, environments, materials, effects and other game assets. Use free assets unless otherwise instructed.
C# on Microsoft Learn — Introduction and reference material for C#.
Visual Studio Tools for Unity — Setting up Visual Studio to work with Unity.
Tip: You don't need to memorize C#. The goal is to understand enough code to modify scripts and make your game do what you want.
Blender — Free 3D modelling, animation and asset-creation software.
Mixamo — Free character models and animations that can be used in game projects.
Unity Asset Store — A large collection of ready-made game assets.
Game development is much more than shooting games. Here are some common game genres you may encounter:
Platformer — Jump, run and overcome obstacles.
Adventure — Explore a world, solve problems and discover a story.
Puzzle — Solve challenges using logic or experimentation.
Racing — Compete against opponents or the clock.
Simulation — Recreate real-world activities or systems.
Role-Playing Game (RPG) — Develop characters, abilities, equipment and stories.
Strategy — Make decisions to manage resources, units or territory.
Survival — Explore, collect resources and try to stay alive.
Horror — Use atmosphere, exploration and uncertainty to create tension.
Sandbox — Give players freedom to explore and create their own experiences.
Many modern games combine several genres. Minecraft, for example, includes elements of sandbox, survival, exploration and adventure.
itch.io — Discover thousands of independent games and experimental projects.
Game Developer — Articles about game design, development and the game industry.
The Game Awards — Explore current and award-winning games across many genres.
The Strong National Museum of Play — Video Game History — Explore the history and development of video games.
Internet Archive — Software Library — Explore and play many older computer games.
Think about it: What can we learn from the games of the past that could make our games better today?
Unity Discussions — Search for solutions to common Unity problems.
Unity Asset Store — Find resources to help build your game.
itch.io — A place where you can eventually share your finished games.