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 playable on Windows and Android. More information can be found HERE
Deadlines:
- Registration form: 17. 10. 2024 17:20
- Design: 31. 10. 2024 17:20
- Prototype: 26. 1. 2025 EOD
- Release: 16. 2. 2025 EOD (two weeks in exam period)
- Patch: 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 | UI Part 1 | Unity UI, IMGUI | |
4. | 24. 10. 2024 | UI Part 2 | Unity UI, Incremental Clicker, UI Toolkit | |
5. | 31. 10. 2024 | Tweening | DOTween plugin for tweening, Animation Curves | |
6. | 7. 11. 2024 | Prototyping | Process, Figma, Asset Store, Polishing | |
6. | 14. 11. 2024 | Physics | Rigidbodies, Colliders, Effectors | |
7. | 21. 11. 2024 | Prototyping | Prototyping process, Figma, Asset Store, Polishing | |
8. | 28. 11. 2024 | Editor extensions | 3D animation + Editor extensions basics | |
9. | 5. 12. 2024 | Editor extensions 2 | Custom PropertyDrawers, Inspectors, Windows | |
10. | 12. 12. 2024 | Rendering | Rendering Pipelines overview, shaders overview | |
11. | 19. 12. 2024 | Miscellaneous topics | Asset Bundles, Addressables, Android development | |
12. | 9. 1. 2025 | Navigation/Performance | Meshes, NavMesh, Pathfinding, Profiler, Job System, DOTS, ECS, Burst |
Homeworks
Homework 1 (DL 17. 10. 2024 17:20)
Start tracking your time. At the end, you will be asked to submit a work log. To track your time I recommend Toggl Track.
Create itch.io:
- 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).
- Select Upload new project from the dropdown menu on the top-right
- Add any name as Title or leave with default Credit
- Ad cuni-mff-ncgd008-24-25 as Project URL (and don’t change it)
- Use tag: cuni-mff-ncgd008-24-25
- Disable all types of payments
- Make it public
Fill this form:
Homework 2 (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:
- Log in to itch.io
- Open Dashboard > Your game > Edit > Devlog > Write a new post
- Select General Update or Announcement
- Select Game Design
- Upload at least 1 image
- Write the text of the devlog in the markdown
- Languages: Either US, CZ, SK
- Enable comment
- 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.
Think beforehand and select more than required, you might find some parts of Unity too difficult, and you might 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.