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.
Follow the appropriate channel at Gamedev Discord!
Lecture: Thursdays 9:00 in S8
Labs: Tuesdays 10:40 SW2 & Wednesdays 10:40 SW1
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.
Delivery deadline: 21.3.2022, 23:59
Delivery instructions: itch.io project format (beware, itch.io is tracking your edit time 😉
Points: up-to 20
Delivery deadline: 18.4.2022, 23:59
Delivery instructions: Build uploaded to the itch.io (beware, itch.io is tracking your edit time 😉
Points: up-to 30
TO BE DECIDED
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 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.
|1.||17.2.||Introduction to Game Development
|Introduction to the field… showing you how vast and fruitful field it is!
How this course works and details about its goals and structure.
|2.||24.2.||Introduction to Unity||Unity as Game Engine – fundamentals (without scripting)||PDF, YT|
|3.||3.3.||Game design introduction||Introduction to Game Design
Project A start!
|Sent by e-mail
|4.||10.3.||Game engine architecture||A more technical view of engines
online only! not an exam topic
|PDF, YT (from last year)|
|5.||17.3.||Rendering & GPU Pipeline||GPU Pipeline, respective stages
All-kinds of shaders
|PDF, YT (from last year)|
|6.||24.3.||Project A – Feedback day||Feedback on your Project A||PDF, PPTX|
|7.||31.3.||Aspects of gameplay programming||Game feel, juiciness, tweening and parallax scrolling||PDF, YT|
|8.||7.4.||Game programming patterns||self-study: Game programming patterns, watch video about juiciness in platformers (deadline 14.4.)|
|9.||14.4.||Agile Development – Scrum||Modern development process, not an exam topic||physical only|
|10.||21.4.||Project B – Pitch day||Game pitches of your Project B’s|
|11.||28.4.||Procedural Content Generation||Why and how to generate content for your game!
Quick intro to terrain and dungeon generation
optional read maze website
|12.||5.5.||Adaptive Audio||Audio/Adaptive audio design for your game|
|13.||12.5.||GDC video session||No physical lecture, instead mandatory viewings of these videos:
Math for Game Programmers: Predictable Projectiles
69 Tools We Use To Make Our Game Satisfactory
Crafting A Tiny Open World: A Short Hike Postmortem
|14.||19.5.||Project C – Author commented trailers||Showcase of this year Project C’s|
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 studying of Unity editor from “user perspective”, i.e., learning how to use it for creating games, where several lesssons will be up to you to study on your own. Unity comes with a lot of tutorials and example projects you can learn from. 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.
Afterwards, you can enroll to NCGD008 Practical course on managed game development that explores Unity engine in depth (to certain extent).
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 implement a one-page game design document. 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 was done well and what was not.
Labs & Project Schedule
|1.||22./23.2.||We will install Unity, prepare Visual Studio for it, go through a mini tutorial and set up an itch.io page. You will be also provided with your first HW, deadline is before your next lab (1./2.3.). Here are your First HW Details||0.5h setting up VS
15 min setting up itch.io page
15 min journal entry
|2.||1./2.3.||HW2: Complete the 2D Game Kit Walkthrough, then look into how Zones 1-5 are done. Create 1-3 levels featuring what you learned and try to make that levels fun to play (1 level is expected, but you can deliver more if you need to). In other words, try the job of a level designer for that particular game (The Explorer). Don’t forget to report the result to your journal as Journal Entry 2 before next labs (8./9.3).||1.5h 2D Game Kit Walkthrough and going through the Zones
1.5h Creating your own level
|3.||8./9.3.||HW3: Go through Scripting Walkthrough and complete as much as you can. There will be one more lab dedicated to this walkthrough for you to finish it. The walkthrough is missing some small tasks at the end (after the WIP section), so if you complete it now, please look there also later. Don’t forget to include some notes about your progress as Journal Entry 3 in the journal. Build of the result will be uploaded later (Lab 5).||1.5 h Scripting Walkthrough|
|4.||15./16.3.||Project A: group feedback day. Come-in person with your one page design printed. Assignment: Incorporate the feedback from your peers until Monday 21. 3. and upload the result to your dev log.|
|5.||22./23.3.||HW3: Go through Scripting Walkthrough and finish it (at least part 4, the rest is voluntary). Upload your build and report your result as Journal Entry 4 to the journal before next labs (29./30.3.)||1.5 h Scripting Walkthrough|
|6.||29./30.3.||Project B start! Create and upload a build before labs in two weeks (12./13.4.)||PDF, YT|
|7.||5./6.4||Juiciness in Breakout. Download Breakout clone here (w/o DOTween) or here (w/ DOTween). Documentation can be found here. Possible tasks to do can be found here.
Optional: The contest for the most juicy breakout screenshot (winner gets 5 points for the exam + the screenshot will be used next year) – submission to the Discord channel until 18. 4.
|1.5 h Making Breakout more juicy|
|8.||12./13.4.||Project B: Group playtesting session. Come-in person with the build of the game.
HW4: Prepare a “pitch” – short presentation of your game, try to lure others to play it, aim for 1-2 minutes. DL: Next Thursday! (21.4.)
|9.||19./20.4.||Project C start! Create and upload a build before labs in three weeks (10./11.5.)||PDF,
|10.||26./27.4.||self-work on Project C|
|11.||3./4.5.||self-work on Project C|
|12||10./11.5.||Project C: Group playtesting session. Come in-person with the build of the game.|
|13||17./18.5||self-work on incorporating feedback into Project C|
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)