Practical Course on Managed Game Development (Winter 2024/25)

This course is oriented on practical game development in Unity. The course is taught at MFF UK as NCGD008.


News

Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ


Dates

Lectures: Thursdays, 17:20, S8


Unity version: 2022.3.46f1


Course Requirements

You are expected to deliver a Unity game that is playable preferably on Windows and Android. More information can be found HERE

Deadlines:

  • Registration form: 17. 10. 2024 17:20
  • Design: 31. 10. 2024 17:20
  • Design fix: 14. 11. 17:20
  • Prototype: 16. 2. 2025 EOD 26. 1. 2025 EOD 
  • Release:  9.3. 2025 EDO 16. 2. 2025 EOD (two weeks in exam period)
  • Patch: 6. 4. 2025 EOD 16. 3. 2025 EOD (one month in next semester)

Lectures

Lectures schedule

No. Date Topic Content Resources
1. 3. 10. 2024 Introduction 1 Unity basics, GO, SO, MonoBehaviour, Prefab SLIDES
2. 10. 10. 2024 Introduction 2 2D setup, Input, Camera, Sprites, Tilemaps SLIDES
3. 17. 10. 2024 Scripting MonoBehaviour SLIDES
4. 24. 10. 2024 UI Part 1 Unity UI, IMGUI SLIDES
5. 31. 10. 2024
5. 7. 11. 2024 Tweening DOTween plugin for tweening, Animation Curves SLIDES
6. 14. 11. 2024 2D Game development Sprites, SpriteSheets, Tilemaps, SLIDES
7. 21. 11. 2024 Physics Rigidbodies, Colliders, Effectors SLIDES
8. 28. 11. 2024 Editor extensions 3D animation + Editor extensions basics SLIDES
9. 5. 12. 2024 Editor extensions 2 Custom PropertyDrawers, Inspectors, Windows SLIDES, GIT
10. 12. 12. 2024 Rendering Rendering Pipelines overview, shaders overview
11. 19. 12. 2024 Miscellaneous topics
Christmas lecture
Asset Bundles, Addressables, Android development
With tea, hot apple, confections
12. 9. 1. 2025 Navigation/Performance Meshes, NavMesh, Pathfinding, Profiler, Job System, DOTS, ECS, Burst

 


Consultations:

Between 1.1. 2025 and 16.2.2025 I will be available on Discord and you can also book a meeting with me to consult.

Link to booking: Book time with Jiří Pelc: MFF Konzultace 15 min • This link will expire on: April 10, 2025

Before the meeting make the necessary preparation:

  • Spend 10 minutes googling the problem
  • Commit and push to git so I can clone the code with your problem

Homeworks

Homework 1 – Registration (DL 17. 10. 2024 17:20)

Start tracking your time. At the end, you will be asked to submit a work log. I recommend Toggl Track. 

Create itch.io: 

  1. Create a profile on itch.io (or you can use an existing one if you have one already) and a game page for your first project (details of the project will be provided in the lecture). 
  2. Select Upload new project from the dropdown menu on the top-right 
  3. Add any name as Title or leave with default Credit 
  4. Ad cuni-mff-ncgd008-24-25 as Project URL (and don’t change it) 
  5. Use tag: cuni-mff-ncgd008-24-25 
  6. Disable all types of payments 
  7. Make it public 

Fill this form:

Homework 2 – Design (DL 31. 10. 2024 17:20)

While doing this homework you will start working on your final assignment. You are expected to submit a devlog.

How to submit devlog:

  1. Log in to itch.io
  2. Open Dashboard > Your game > Edit > Devlog > Write a new post
  3. Select General Update or Announcement
  4. Select Game Design
  5. Upload at least 1 image
  6. Write the text of the devlog in the markdown
  7. Languages: Either US, CZ, SK
  8. Enable comment
  9. Select visibility: Published

Read

Write a devlog Design listing specifications for your game.
Especially you should focus on the following:

  • Topic
    Select a nice topic for your game. Recoding some known games with some twists is OK. Originality is not required.
  • Visual (though it is not graded, your game should be on a decent graphical level)
    A good way to think about visual design is by using mockups and screens that resemble the final product with all key features.
    For both mocking and final design, you can use the free tool Figma
  • Main game loop (main cycle of game where all actions of player and game are described)
    If your game follows some state machine (mostly it does), describe the state all states and transitions
  • Plan how to achieve R, C, and A requirements
    List the requirements you want to achieve and provide a simple description of how you will do so.
    If you think beforehand and select more than required, you might find some parts of Unity too difficult and need to pivot. Having a backup plan here is beneficial.

In general, none of the features above are permanent; everything can be subject to change. But this submission is for both you and me to reach an agreement. Expect that I will require you to redo the submission if I find your proposal not satisfying all conditions.

 

Homework 3 – Prototype (16. 2. 2025 EOD)

While working continuously on the game, you should be converging to the point where your game resembles the original design and mostly works. By the deadline, you are expected to have a working prototype.

Upload your build:

Upload a prototype build (PC or WebGL) to your itch.io credit project main page.

Your prototype should contain:

  • Working main game loop
  • Placeholder graphics that make sense
    • I want to denote that the absence of graphics is not a placeholder
  • Some of the R requirements (ideally at least 50%)
  • Partial C requirement (bugged or incomplete but working core)
  • Ideally at least one A requirement (bugged but mostly working)

Add a tag in git:

  • In the git repository (gitlab.mff.cuni.cz) add a tag PROTOTYPE, to either:
    • Main/Master or Main Branch
    • Default branch (if you don’t know what that is, ignore this option)
  • Don’t forget to push the tag
  • Verify the uploaded tag on the GitLab page
    • Projects (Main page) > teaching/NCGD008/2425-winter/your_ldap_id > Code > Tags)

Write a devlog describing what you have done until now:

  • Devlog title: Prototype
  • How did you fulfil the requirements for the prototype (above)
  • What needs to be done to get the finalized and released project, Write down estimation in Hours (for future comparison)
  • What did you change in design and why
  • A sum of work logs up until the moment of submission

 

Homework 4 – Release (9.3. 2025 EDO)

This submission is the final release of your credit work.

Your prototype should contain:

  • Working main game loop
  • A bug-free application running on (Windows or WebGL) AND (Android or iOS)
  • All of the R requirements
  • Fully implemented C requirement
  • All of A requirements

Add a tag in git:

  • In the git repository (gitlab.mff.cuni.cz) add a tag RELEASE, to either:
    • Main/Master or Main Branch
    • Default branch (if you don’t know what that is, ignore this option)
  • Don’t forget to push the tag
  • Verify the uploaded tag on the GitLab page
    • Projects (Main page) > teaching/NCGD008/2425-winter/your_ldap_id > Code > Tags)

Summarize you game

Write a description of the credit itch.io project page summarizing:

  • what is your game about
  • what is the goal of your game
  • controls
  • References and licences of all third-party content or code

Write a devlog titled Requirements reporting what you have done:

  • Target platform (Android, PC, Both)
  • Plugins used [R5]
  • What have you done for [R6] (Editor Extensions)
  • Which complex requirements are met [C1 – C8]
  • Which additional requirements are met [A1 – A17]

Write a devlog titled About development where you summarize your thought process about development:

  • Summarize what your game is about (can be done on the itch.io page)
  • What did you enjoy the most?
  • What was your biggest struggle (I will try to improve my lectures according to that next year)
  • Are you satisfied with the result?
  • What will you recommend to other people picking the same game?

Write a devlog titled My Code:

  • Describe your game loop from a code perspective
    • Name main classes and game objects
    • Name states of the game
    • Name scenes
  • Link and summarize 3 MonoBehaviour classes that are worth looking at and are key to the game.
  • Link to class you are the proudest of
  • Link to class you think should receive a complete overhaul
  • Links are still hidden behind login, so only You and Evaluators can open them, other students can’t

 

 


Acknowledgement

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