LUMS – CS 5602 – Game Design and Development
Fall 2024 – Course outline
| Lecture | Topic | Week | Day | Date | Unity assignment | Assessment/ Milestone | % |
|---|---|---|---|---|---|---|---|
| 1 | - | 1 | M | 2024-Sep-02 | |||
| 2 | Introduction, game design vs development, industry structure, social issues | 1 | W | 2024-Sep-04 | |||
| 3 | Unity essentials 1 | 2 | M | 2024-Sep-09 | |||
| 4 | Unity essentials 2 | 2 | W | 2024-Sep-11 | |||
| 2 | Su | 2024-Sep-15 | Assignment 1 | 2% | |||
| 5 | Game design document, ideation, story and narrative | 3 | M | 2024-Sep-16 | Team formation | ||
| 6 | World and level design | 3 | W | 2024-Sep-18 | |||
| 1 - makeup | Combat mechanisms | 3 | F | 2024-Sep-20 | |||
| 3 | Su | 2024-Sep-22 | Assignment 2 | 2% | |||
| 7 | Player and enemy character design | 4 | M | 2024-Sep-23 | Game concept overview document Task division document | 5% | |
| 8 | Camera projection and perspective, control | 4 | W | 2024-Sep-25 | Quiz 1 | 10% | |
| 4 | Su | 2024-Sep-29 | Assignment 3 | 2% | |||
| 9 | Gameplay challenges and actions, game loops | 5 | M | 2024-Sep-30 | |||
| 10 | Core mechanics, progression and emergence | 5 | W | 2024-Oct-02 | |||
| 5 | Su | 2024-Oct-06 | Assignment 4 | 2% | |||
| 11 | Game economy, game balance, feedback loops | 6 | M | 2024-Oct-07 | |||
| 12 | 3D models and textures, rigging and animation, user interface | 6 | W | 2024-Oct-09 | Draft game design document Task division document | 5% | |
| 13 | Unity optimizations | 7 | M | 2024-Oct-14 | |||
| 14 | Vectors, matrices, transforms | 7 | W | 2024-Oct-16 | Quiz 2 | 10% | |
| 7 | F | 2024-Oct-18 | Final game design document Task division document | 10% | |||
| 15 | Polar coordinates, rotations, quaternions, curves, splines | 8 | M | 2024-Oct-21 | |||
| 16 | Coordinate spaces, lighting, graphics render pipelines, shaders | 8 | W | 2024-Oct-23 | |||
| 17 | - | 9 | M | 2024-Oct-28 | |||
| 18 | Rays, planes, collisions, projectiles, springs | 9 | W | 2024-Oct-30 | |||
| 17 - makeup | Kinematic and dynamic movements | 9 | F | 2024-Nov-01 | Game prototype 1 Task division document | 5% | |
| 19 | Graphs, Dijkstra pathfinding, A* pathfinding, heuristics, navigation meshes | 10 | M | 2024-Nov-04 | |||
| 20 | Decision tree, FSM, behavior tree, goal-oriented behavior, goal-oriented action planning | 10 | W | 2024-Nov-06 | |||
| 21 | Influence map, coordinated behavior, game tree | 11 | M | 2024-Nov-11 | |||
| 22 | Perlin noise, binary space partitioning, cellular automata | 11 | W | 2024-Nov-13 | |||
| 11 | F | 2024-Nov-15 | Game prototype 2 Task division document | 10% | |||
| 23 | Diamond square, maze generation | 12 | M | 2024-Nov-18 | Quiz 3 | 10% | |
| 24 | Buffer | 12 | W | 2024-Nov-20 | |||
| 12 | Su | 2024-Nov-24 | Assignment 5 | 2% | |||
| 25 | Buffer | 13 | M | 2024-Nov-25 | |||
| 26 | Buffer | 13 | W | 2024-Nov-27 | |||
| 13 | Su | 2024-Dec-01 | Final game submission | ||||
| 27 | Game demos | 14 | M | 2024-Dec-02 | Final game demo Task division document | 15% | |
| 28 | Game demos | 14 | W | 2024-Dec-04 | Final game demo | ||
| 29 | Buffer | 15 | M | 2024-Dec-09 | Quiz 4 | 10% |
FAQ
Will students be assigned random project teams?
Students are expected to form their own teams.
How many students can form a team?
3 students per team should allow for a decently-scoped game project to be developed.
Will we choose from a given set of game projects or can we make whatever we want?
Teams will implement a limited-scope game of their own choice. The project should be a game that is small enough that it can be finished within the semester with good quality, but should have enough depth to understand how to make an appealing product using the tools available in Unity. Examples are a single level of a platformer such as Mario, a Tetris-like puzzle game, a Candy Crush-type matching game, or a single level of a physics game such as Angry Birds. A few others are mentioned in the lecture slides, but these suggestions are by no means close to being an exhaustive list.
Inspiration can come from games you are playing these days or have played in the past, but it is expected that an original game will be developed, not a direct clone. Other good sources of inspiration are global game jam entries and past winners.
To prevent plagiarism and use of pre-written or AI-generated code, students will be required to hand in the entire project folder, including assets and C# scripts.
I don’t have experience with Unity; will I be able to make the project?
We will spend 2 lectures on Unity basics; self-study via YouTube tutorials or other sources will be required. Once you are past the initial learning curve, you’ll be quite comfortable with Unity.
Please note that Unity is a tool, but Computer Science is about learning ideas and techniques. Tools help increase our productivity when applying ideas to specified problems. It is not the goal of a CS education to teach students specific tools that might or might not be relevant in 5 years’ time.
You may have to study specific Unity systems for the type of game you want to make; for example, tilemaps and related systems are used to make platformers, spring joints are useful for physics games, ragdoll physics systems are useful to simulate character death when 3D character models feature prominently in a game.
Unity overview: https://www.youtube.com/watch?v=pwZpJzpE2lQ
New input system: https://www.youtube.com/watch?v=Yjee_e4fICc
I have experience with C++ but not C#; will we be taught C#?
In the Unity lecture, we will see basic usage of C#, but due to time constraints, the language can’t be taught in class. It’s a fairly simple language to pick up if you know object-oriented programming concepts from C++, and Unity tutorials will cover it well.
Will the final game demos be held in the final exam period?
Teams will demonstrate their game to their fellow students in the last couple of classes. This will allow students to get comfortable with presenting their work to others, fielding any questions that their peers may have, and also rate themselves against their peers’ games.
Sample game design document
Software
Documentation
Asset providers
Sprites, 3D models, textures
Animations
Sound and music
Fonts
Related reading and videos
YouTube: Perspective on Game Dev
YouTube: Game Feel with Springs
YouTube: Building a Better Jump
YouTube: Physics in Game Development
YouTube: Physics static, kinematic, dynamic objects
YouTube: Graphics Technology in Luigi’s Mansion 3
YouTube: LOD Optimization Behind the Scenes (quite technical)
YouTube: Basic URP Lighting (will likely not meet FPS spec on mobile, but can be used for basic setup)
YouTube: HDRP Lighting and Rendering (advanced)