Introduction to Game Development (Summer 2022/23)

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

Lecture: Mondays 14:00 in S3

Labs: Wednesday 9:00 SW2 (English) & Thursday 14:00 SW1 (Czech)


Course Exam

The exam will have the form of discussion over the three projects you will create during the course. In addition, you can be asked about anything from lectures.

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. Each project’s grading includes the developer journal you’re required to maintain on itch.io, adding an entry each week.

Grading: 100-85 -> A, 84-75 -> B, 74-65 -> C, less then 65 -> F

Also each project have delivery deadline.

PROJECT A

Delivery deadline: 15./16.3.2023, 23:59

Delivery instructions: itch.io project format (beware, itch.io is tracking your edit time 😉

Points: up-to 20

PROJECT B

Delivery deadline: 17.4.2023, 23:59

Delivery instructions: Build uploaded to the itch.io (beware, itch.io is tracking your edit time 😉

Points: up-to 30

PROJECT C

Delivery deadline: before last lecture (19.5.2023 13:59)

Delivery instructions: Build uploaded to the itch.io (beware, itch.io is tracking your edit time 😉

Points: up-to 50

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. 13.2. Introduction to Game Development
Course structure
Introduction to the field… showing you how vast and fruitful field it is!
How this course works and details about its goals and structure.
PPTX, PDF
2. 20.2. Introduction to Unity Unity as Game Engine – fundamentals (without scripting) PDF
3. 27.2. Introduction to Game Design Basics of Game Design, taught by Lukáš Kolek
4. 6.3. (self-study) Intro to Game Engines Explaining the fundamentals of Game Engines YouTube, PPTX
5. 13.3. Game Programming Patterns Introduction to clean code and design patterns in game programming PPTX, PDF
6. 20.3. Project A Feedback Day Common mistakes and things-done-well in your Project A’s PPTX, PDF
7. 27.3. Gameplay Programming & Juiciness What do gameplay programmers do? Introduction to Juiciness / Game Feel PPTX, PDF
8. 3.4. Agile and Scrum A Scrum lecture about Agile development no slides, present only
9. 10.4. cancelled – Easter Monday
10. 17.4. Project B Presentation day Presentation of your cool Project Bs!
11. 24.4. Additional Project B Presentations
Intro to Procedural Content Generation
Introduction to Procedural Generation (terrain, dungeons) unfinished, self-study materials in slides! PPTX, PDF
12. 1.5. cancelled – International Workers’ Day
13. 8.5. cancelled – Victory Day
14. 15.5. Game Audio Introduction to the world of game audio and adaptive music
15. 25.5. Project C – Trailer Day Showing trailers that have been sent prior to the lecture!

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

No. Date Content Homework Workload Links
1. 15./16.2. Preparation of the environment (Unity + Visual Studio)
Basic terminology (Scenes, Game Objects, Components, Prefabs)
2D Platformer Microgame template + tutorial
Building a game
Creating an itch.io page
Follow the instructions to end up with a build published on your own itch.io page and a devlog entry.
Deadline: Before your next labs (22./23.2.).
0.5 h setting up VS
4.0 h tutorials
15 min setting up itch.io page
15 min journal entry
Prep
PDF
2. 22./23.2. Overview of Unity Editor
Preparation of the 2D Game Kit
2D Game Kit Walkthrough
Level design
Follow the instructions to end up with a build published on the Project T page and a new devlog entry.
Deadline: Before your next labs (1./2.3.).
1.5 h 2D Game Kit Walkthrough
1.5 h Creating your own level
Prep
PDF
3. 1./2.3. Project A: Introduction
Scripting Walkthrough
Finish your one page design, upload it to itch.io page with a new devlog entry and bring it printed to the next labs (details in PDF).
Deadline: Before your next labs (8./9.3.)
—————–
Finish Scripting Walkthrough Part 1 and Part 2, upload a PC build to the Project T page, add a devlog entry (details in PDF).
Deadline: Before labs in 2 weeks (15./16.3.)
PDF
4. 8./9.3. Project A: Group feedback
Please remember to bring your printed one page design
Attendance is mandatory
Incorporate feedback to your one-page design and upload it to itch.io page with a new devlog entry.
Deadline: Before your next labs (15./16.3.)
PDF
5. 15./16.3. Scripting Walkthrough Finish Scripting Walkthrough Part 3 and Part 4, upload a PC build to the Project T page, add a devlog entry (details in PDF).
Deadline: Before your next labs (22./23.3.)
PDF
6. 22./23.3. Online on Discord (AUDITORIUM voice channel)
Project B: Introduction
Start working on your Project B, create a new game page called Project B, add a new devlog entry describing your work during the week.
Deadline: Before your next labs (29./30.3.)
—————–
Project B first deadline: Before labs in 2 weeks (5./6.4.)
PDF, YT
7. 29./30.3. Introduction to DOTween plugin
Breakout clone (project + documentation)
Adding more juice (based on the Juice it or lose it video)
The juiciest Breakout contest (details in PDF)
Add 2+ small improvements to the Breakout (possibilities here), make a build and upload it to the itch.io page with a new devlog entry.
Deadline: Before your next labs (5./6.4.)
—————–
Finish the first version of the Project B, upload a build to the Project B page and add a new devlog entry.
Deadline: Before your next labs (5./6.4.)
PDF
8. 5./6.4. Project B: Group playtesting session
Please remember to bring a build of your game
Attendance is mandatory
Incorporate feedback to your Project B, finish it and upload a build to itch.io with a new devlog entry.
Deadline: Before next lecture (17.4.)
—————–
Prepare a short (2 min or less) pitch presentation of your Project B for the next lecture.
Deadline: Before next lecture (17.4.)
PDF
12./13.4. Practicals this week are cancelled Work on your Project B and don’t forget about the pitch presentation
9. 19./20.4. Online on Discord (AUDITORIUM voice channel)
Project C: Introduction
Create a new game page called Project C, add a devlog entry every week, complete the first version of your game, make a build and upload it.
Deadline: Before labs in 4 weeks (17./18.5.)
Examples of very successful project Cs from the past, so you can set expectations
PDF
10. 26./27.4. Self-work on Project C + Consultations
11. 3./4.5. Self-work on Project C + Consultations
10./11.5. Practicals this week are cancelled
12 17./18.5. Project C: Group playtesting session
Please remember to bring a build of your game
Attendance is mandatory
Make a short (60-90 s) video trailer for your Project C and e-mail it to the lecturer.
Deadline: 21.5.
PDF

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)


Acknowledgement

https://gamedev.cuni.cz/wp-content/uploads/2018/10/logolink_OP_VVV_hor_barva_eng.jpg