Contents
This course is oriented on practical game development. It is designed to give students the sense of game development cycle accompanied with (selected + non-exhaustive) probes to various areas like 2D, pixel art, parallax scrolling, game design, game development process, keeping the gamedev spirit up by writing gamed journal entries, etc. It is designed around making your first game in Unity, which will serve us as the gateway to all mentioned topics. We will build upon the knowledge of computer graphics, general programming and C#. By the end of the course, you should have your small game implemented (as something to put into your gamedev CV) and a gist of what the game development is about. The course is taught at MFF UK as NPGR038. Beware, if you do not like “open assignments”, this course (and game development) will probably not be for you.
News
Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ
Dates
Lectures: Due to Covid will consist of videomaterials created by lecturers plus combined with Unity video tutorials
Labs: Doodle!
Course Exam
The exam will have the form of discussion over the three projects you will create during the course.
Each project will have some kind on interim report and clear tasks / feedback / concerns you should address, which will make the ground for the discussion.
For each project, you can score certain amount of points (20/30/50 respectively). You can score 100 points max.
Grading: 100-85 -> A, 84-75 -> B, 74-65 -> C, less then 65 -> F
Also each project have delivery deadline.
PROJECT A
Delivery deadline: 5.4.2021, 23:59 (CET)
Delivery instructions: itch.io project format (beware, itch.io is tracking your edit time 😉
Points: up-to 20
Exam dates:
TO BE DECIDED
Workload
This course will require quite a lot of time of you. Each week will consist of: 1.5h lecture, 1.5h labs (either self-study or online), 3h of homework = 6h per week, in total that’s 13 x 6 = 78 man-hours. Which is fair for 5 ECTS credits considering that 30 ECTS credits per semester means 1 ECTS credit is 1.3h/week approx., so 5 ECTS credits is roughly 6.6h workload per week.
Lectures
Lectures consist of various videos both in-house made and (video) tutorials from the wild. Note that the aim of this course is NOT to go into details of various topics connected with game development (50 shades of game design, low-level engine development, audio programming, gameplay programming, monetization, user research, etc. etc.) but let you experience solo development of a small game. Details to certain techniques will be given accompanied with links for further studies (which are not required to pass the course) and links to master courses where those topics are covered in much greater depth.
No. | Date | Topic | Content | Slides |
1. | 1.3.2021 | Introduction to Game Development | Introduction to the field… showing you how vast and fruitful field it is! | PDF, YT |
2. | 8.3.2021 | Course structure Introduction to Unity |
Details about the goals and the structure of the course. Unity game object / components / prefabs fundamentals. |
|
3. | 15.3.2021 | Game design introduction | View into fundamentals underlying any reasoning about game design Plus one-page-design |
PDF MP4 (at OneDrive) Links |
4. | 22.3.2021 | Bonus: Game Engine Architecture | Game engine components / layers Game loops (single/multi processor) Gameplay system Development, debugging, optimizations |
PDF, YT |
5. | 29.3.2021 | One-page design feedback session | Happened online, see OneDrive folder for the video | |
5.4.2021 | Easter holiday | |||
6. | 12.4.2021 | Rendering & GPU Pipeline | GPU Pipeline, respective stages All-kinds of shaders |
PDF, YT |
7. | 19.4.2021 | Game Programming Patterns, Part I | Self-study: chapters from Game Programming Patterns book (free) Chapters to read (with understanding): 1. Introduction (~30min), Architecture … in particular 2. Command pattern (~20min) 3. Flyweight pattern (~20min) 4. Singleton pattern (~20min) 5. State pattern (~20min) |
|
8. | 26.4.2021 | Project C – Onboarding | Project C terms, instructions, project plan and GIT | PDF MP4 (at OneDrive) |
9. | 3.5.2021 | Level design implementation feedback and showcase sessionGame Programming Patterns, Part II |
Happened online
Self-study: chapters from Game Programming Patterns book (free) |
|
10. | 10.5.2021 | Game Programming Patterns Online discussion, Q&A Examples in Unity |
Happened online | |
11. | 17.5.2021 | Introduction to Music and Sounds in Games by Adam Sporka |
Happened online | |
12. | 24.5.2021 | Cancelled | ||
13. | 31.5.2021 | Open-consultations | Will happen online Ask questions through this FORM. |
Labs & Projects
Labs are going to be quite different from what you might know elsewhere. As the target for you is to develop a small game (actually games), you will be gradually working exactly on that. We will show you, how to go about that asking you to maintain a) game development journal, b) work with one-page game design, c) practice iterative development. Labs will have the form of self-studying of Unity editor from “user perspective”, i.e., learning how to use it for creating games. Later on, you can enroll to NCGD008 Practical course on managed game development that explores Unity engine in depth (to certain extent). Unity comes with a lot of tutorials and example projects you can learn on. You will be given a list of (curated) tutorials and tasks to work through every week. These tutorials will serve you only as examples what can be done in Unity, so you can design your games accordingly. Every third week there will be “open consultation” lab, to which you will be able to send your questions and we will be providing answers.
Then there are projects, three of them. Semester will roughly be split into 3 parts. During the first, you will be asked to create only one-page game design document for a game prototype. During the second, you will be given a one-page game design document to implement. During the third, you will be asked to design and implement the third game prototype. There is one big rule of the thumb, you are not allowed to design a game you technically do not know how to implement yet. This means, that your game cannot rely on features you have not walked through yet. This will be your constraint to every game design (which is actually very healthy to have in game development, constraints are great, remember, you can always design a game around constraints).
During this course, you will be working on three prototypes in total. The first will be “game design only”, the next two will actually be real playable prototypes.
Week after “open consultation” lab, there will be so-called “feedback day”, in which we will be showing examples of your work (anonymized) explaining what it has done well and what’s not. Unfortunately there is so many of you, we cannot feedback you 1:1 ;-(
Labs & Project Schedule
No. | Date | Topic | Tutorials | Project | Workload |
1. | 8.3.2021 | Self-studying | Target: install Unity and have the (wrestling) round one with Unity Editor. Have a peek into the code of (prepared) components you will be using throughout the Platformer microgame tutorials! Just double-click their names!0. Either install Visual Studio Community, or install Unity Tools into your Visual Studio Pro/Enterprise version [20 min]1. Install Unity [30 min] — use Unity 2019.4 preferably — as microgame, use Karting for the first project2. Explore Karting microgame [30 min]3. Watch tutorials about fundamental Unity concepts [20 min]4. Create project with Platformer microgame [15 min]5. Mod the platformer! — 5.1 Billboard Face [15 min] — 5.2 Name the game [15 min] — 5.3 A splash of colors [10 min] — 5.4 Add trails [10 min] — 5.5 Tinted world [10 min] — 5.6 Animate your world [10 min] — 5.7 Add trigger [15 min] — 5.8 Paint your level [10min] — 5.9 Bouncy sparkly [10 min] — 5.10 Add Speed and Bounce [10 min] — 5.11 Decorate the world [10 min] |
Create a profile on itch.io, create a game page for your Project A. Add one tag to it “mff-gdintro-2021-a” (without quotes of course).You will use that page for your journal entries as well publishing states of your project.Project A – Journal Entry 1
|
0.5h setting up VS 4.0h tutorials 15 min setting up itch.io page 15 min journal entry |
2. | 15.3.2021 | Self-studying | Target 1: continue with tutorials
Work with 2D Game Kit, and complete the following tutorial: 2D Game Kit Walkthrough [3.0h] Target 2: start thinking about some cool one page (level) design Seeing 2D Game Kit, start thinking about Start drafting the description, respect the one-page design concept, your target is to have a level that can be finished in about 2-3 minutes by an experienced player. [1.5h] |
Continue with Unity tutorials.
Project A – Journal Entry 2.1 Create one-page game (level) design. Project A – Journal Entry 2.2 |
3.0h tutorials 1.5h design 30 min journal entries |
3. | 22.3.2021 | Open consultations | Target 1: continue with tutorials
Creating and Assigning scripts [10 min] [Unity 2019.4] Beginner scripting [40 min] [any Unity 2019+ version most likely] Go through a couple more basic stuff [30min] Roll-a-Ball [75 min] [Unity 2019.4] Target 2: revisit your one-page design Having more information on how to script your own behaviors |
Continue with Unity tutorials.
Project A – Journal Entry 3.1 Update one-page game design. Project A – Journal Entry 3.2 |
3.25h tutorials 1.0h design 30 min journal entries |
4. | 29.3.2021 | Feedback day! | One-page design feedback session; you’ve received tips what kind of things might have been missing in your designs and why. Given those insights, update your one-page designs! | Hearing feedback to several one-page game designs, adapt yours. Project A – Journal Entry 4 |
3.0h design 15 min journal entry |
5. | 5.4.2021 | Easter holiday | You have been sent an email with instructions about Project B. In a nutsheel: 1. create a Project B page at your itch.io account, do not forget to fill the form 2. locate and download one-page design you have been assigned with 3. start implementing it! |
You receive one-page game design to work on along with free resources to use. Start implementing the game. Project B – Journal Entry 1 |
1.0h design study 3.5h implementation 15 min journal entry |
6. | 12.4.2021 | Self-studying, implementation | Continue with the game implementation. Project B – Journal Entry 2 |
2.0h tutorials 2.5h implementation 15 min journal entry |
|
7. | 19.4.2021 | Implementation | “Finish” implementation of your game. Project B – Journal Entry 3 |
4.0h implementation 1.0h final game export 15 min journal entry |
|
8. | 26.4.2021 | Feedback day! | Create another one-page game design. Project C – Journal Entry 1 |
2.5h design 2.0h assets 15 min journal entry |
|
9. | 3.5.2021 | Implementation | Continue working on the design and the second game. Project C – Journal Entry 2 |
4.5h tutorials 15 min journal entry |
|
10. | 10.5.2021 | Implementation | Continue working on the design and the second game. Project C – Journal Entry 3 |
4.5h implementation 15 min journal entry |
|
11. | 17.5.2021 | Implementation | Continue working on the design and the second game. Project C – Journal Entry 4 |
4.5h implementation 15 min journal entry |
|
12 | 24.5.2021 | Implementation | Continue working on the design and the second game. Project C – Journal Entry 5 |
4.5h implementation 15 min journal entry |
|
13. | 31.5.2021 | Implementation | “Finish” implementation of your game. Project C – Journal Entry 6 |
3.0h implementation 1.5h game export and upload 15 min journal entry |
|
And that’s all folks! |
Extra links
Example Job Offers
Check some old job offers from various (even well known) gamedev companies, especially check “Requirements” sections, informative 😉
Yacht Club (July, 2020), Remedy (April, 2020), Sucker Punch (January, 2020), Insomniac Games (December, 2019), Snowcastle (December, 2019), Evening Star (November, 2019)