Course Details
Game Development Courses
Course Description:
The purpose of this course is twofold: to provide a strong foundation in software engineering, programming, and the C# language; and to work on all major aspects of developing video games using the Unity engine. These two purposes are closely tied: a large part of video game development centers on programming and software development, and to be a game developer requires a high level of knowledge in a modern, object-oriented language like C#. Through this course, students will learn programming by working on games, and will learn to write code to run every part of their game, from physics to AI to game servers. Rather than focusing narrowly on topics needed to make games, this course will teach you to be a programmer with a solid foundation. This course will allow you to be able to enter any programming field you'd like, from mobile apps to web servers. (This is actually a common path for game developers: they spend a few years in a related field working on their programming skills before moving to game development.)
Course Outline:
Week 1:
Intro to game design and production Unity production basics: Lighting, materials, effects, etc. Creating a simple game C# in game development
Week 2: Working with 3D
games Rigidbody
physics
User input and UI
Game Design 101: Balancing games, analyzing games, the MDA framework CubeShip Game
Game Programming
101 Working with Animations
Week 3:
Game Programming 102
Game Design 102: Choice, agency, aesthetics, and more
UI Development
Unity Editor Intermediate Topics
Raycasting
Exam 1
Week 4:
Start on Game Design 1
Game Programming 103
3D Characters: Animation & control
Intermediate Game Production
Event Systems & Delegates
Week 5:
Game Design 1 wrap-up
Intermediate Game Production Topics
Game Programming 104
Useful code libraries
Data Structures
Global Illumination
Week 6:
2D Game Jam
Exam 2
Game Design 103: Level Design & Tutorials
Week 7:
Start on Last major game design
3D Models
Debugging
Introduction to Git
Editor extensions I/ O
Week 8:
Intro to AI
FSMs Game
design project
Week 10:
Beyond Game Design: Programming applications Algorithms & Trees
Game design project
Week 11:
Affordances & User
Experience Design Patterns
Final game design presentations
Exam 3
Week 12:
Networking intro & JSON
Creating non-Unity C# applications
Web server basics
Week 13:
Deploying web servers Creating a RESTful interface
Week 14:
Connecting games to services
Databases Other networking topics
Week 15:
Course Wrap-Up Advanced programming topics (TBD)