Welcome to the course Game Development 12!
Instructor email address: telinburg@sd43.bc.ca
Course outline and Introduction
In Game Development 12, we will be creating a collection 3D platform games in Unity, learning about the importance of storytelling in game development, creating supplementary game assets in Blender 2.9 and learning how to write game scripts in C # . Although this isn't a programming course per se, being able to write or modify code in an operational sense is essential to become a successful game developer. Coding skills play a key part of character controllers, character behaviours and scene interactions. In most cases, you will be given a basic version of the relevant C # scripts but you will most likely have to modify many of them to deal with issues in your custom environments or other specific applications. An example of this might be, having your character leap and jump instead of running. Unless there is supporting code your games will not have all the features that you'd like. Good luck and happy game making!
The general flow of the course will be as follows:
C # game programming / history of computer graphics and game development / story development / Unity Game # 1 - Roller ramp game (introducing ball mass physics, colliders / concept of escalating challenge, simple C # gaming scripts / Introduction to Blender 4.0 - expressly used in this course for 3D game assets construction and personal augmentations / Unity Game # 2 - 'Treasure Island or...' - our first terrain based 'island' adventure game - exploring terrain making - search and discover within a defined space- story construction - introduction to Unity store assets and embedding Blender models / Unity Game # 3 - game development choice project with clear construction steps / Unity Game # 4 - Final course project - an entirely new game developed by yourself or in collaboration with another classmate.
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" - Course - Block
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
Hand in Folder - Game Development 12
Roller Ball Ramp Game Web GL build Game Link
(*) 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
Unity User Manual / To install Visual Studio correctly for Unity - follow this link
Featured Game Developers
Markus "Notch" Persson - Creator of Minecraft / Nolan Bushnell (Inventor of Pong and started game company Atari) - Shigeru Miyamoto (Donkey Kong) / Alexey Pajitnov (Tetris - with 4 squares)
To Link up Unity with Visual Studio Code please do the following
Rollerball Ramp Game - Working URL link (Web GL build)
Important Resource Links for the course
Codeacademy for C # tutorials (sign up required - use a "spare" email address / Blender 2.93 (for game asset modeling) / Unity Hub - Unity game download - Unity Game Asset Store (free ones only please) / Unity Education learn site / Unity Help - Instruction guide
Simmer.io / Itch.io (a place to host your Unity Web GL builds)
History of video games / History of video games (20 min) / play retro games - wow weren't those cool! What can learn from the past?
Other Utility links
How to play a version of your Unity game without using a Unity Editor / How to animate a rigged puppet character - say from the unity store - this saves you time in preparing the movement sequencing - (NON SD 43 email account required - not sure why - eg GMAIL)
Module # 1 - Introduction to Game Development
Part I - Describle your experience with gaming?
What types of games do you like to play? Have you ever written a game yourself or written one in a different programming language? ie Python / Scratch? (pair / share) have a conversation about gaming with the students seated next to you!
Part II - Writing a game script - Easy or hard? Creating a Game Design Document - GDD's - Due:
(Note: We do not expect this to be 'completed' but rather it might contain a collection of gaming /character or story ideas that can be later shaped into an actual island game) -
Read this enlightening article that outlines some of the pitfalls of attempting to write a story script that can work with both a player and the underlying technology. Here is a sample of a professional GDD document.
So why don’t we see these ‘written prototypes’ for games? The answer is, actually, you do. They’re called game design documents (GDDs), and they’re a human-readable document which describes every aspect of a game in such a way that a reader can imagine the game without the expense of making it.
Instructions
In this activity, you will be tasked with creating your very own GDD. As you would guess, GDD's don't look anything like convention movie scripts or any other scripts quite frankly because the nature of the gaming medium creates the following problems: Game development is often a team endevour / the gamer has control over how the game unfolds / a story might make sense to a human but not necessarily to a computer that sees the world only as a series of logical commands with inputs and outputs.
Please include the following: A collection of characters with names and costume descriptions (you could make drawings in Animate CC if you wish) / an outline of the physical terrain where the game takes place / a summary of the story - why are were here in this place and why do we care about what happens - eg Are we rescuing someone / conquering a new land / saving planet Earth from aliens / or maybe the game is an unfolding - piecing together complex disconnected realities etc....
Video Game Script - how to write for the medium? / Game Script essentials / Another authors opinion
An interesting, opposing view, suggesting game scripts don't really help
A counter argument that suggests that game scripts 'get in the way of a good game' (Atlantic Monthly)
Part III - Blast from the Past! (sorry no pun intended) - Play as many as you have time for! Yes this is a school assignment :) Due:
Retro 80's era video games / Retro games (all genres) / Tetris (classic) / another collection of good bad and ugly games /
In this look at the past, we will have a bit of fun 'investigating' (by playing) a wide collection of retro video games to seek out an answer to one vexing question:
Which qualities or aspects are essential for a great gaming experience? Is it the graphics, the story line, the immersive experience? What, in your view, is the essence of great game play?
(One page reflection exactly with illustrations - no longer - no shorter)
…some gaming concepts to consider in your reflection...
Game sprite relatability / graphics (is complex better?) / escalating difficulty (in other words everyone can do something in the gaming space) / story script / believability / immersive / open ended/ expansive / creativity (what does this actually even mean) / ease of user controls / etc...
Part I - Code Academy - Learning how to Code in C # - The 'brains' of any platform game - One Week of Class time only -
Due:
Learn the 'backbone' of coding C # fundamentals
Firstly, we will take a look at the backbone of game development, which is C # similar to Java. (Code Academy link - sign up if you don't already have an account). For those who have never done any coding, Code Academy is a nice gentle structured way to learn basic coding skills and concepts. Luckily, most of the scripts we'll use for stock player commands have already written for us (eg. picking up an object or fighting an enemy). Where these skills come in handy is when the scripts DON'T run for some reason. We need to understand the basic programming skills of variable and method construction.