Fundamentals of digital game development

Course Description

In the scope of this course students will learn the basic concepts needed for understanding and development of digital games using Unity game engine. Lectures consist out of theoretical and development part. In theoretical part basic concepts of game development will be explained, while in the development part students will implement described concepts in Unity game engine. First lecture will present the characteristics of game industry and elementary usage of Unity game engine. Basic concepts of digital games such as creating 2D and 3D graphics, inserting assets into Unity Game Engine, as well as materials and sounds. Students will learn the basics of camera control, lightning, animations as well as particles and spawn points. Also, students will develop a user interface. In the scope of the course advanced topics such as network functionality, physics simulation, programming complex behaviours, and path finding will be covered. Through the group project students will implant their own game and will illustrate their obtained knowledge. The goal of the course is not just enable students to develop a digital game, but also to introduce them to teamwork, and all of the components and roles in process of game development.

Learning Outcomes

  1. Understanding the basic elements which comprise a digital game
  2. Explain and use elements of user interface of a game development system
  3. Explain and create basic 3D objects with the purpose of using them in game development
  4. Explain and create basic animations within a digital game
  5. Explain and create a functional user interface
  6. Understand and apply approaches for sound sources in digital games
  7. Understand and apply algorithms for path finding in digital games
  8. Explain principles of information exchange in distributed networked games

Forms of Teaching

Lectures

Lectures combine presentations and interactive demonstration of work in Unity Game Engine with students continually following examples on their own PCs.

Independent assignments

Consultations in set time slots or through e-mail.

Multimedia and the internet

Development of a game in group project.

E-learning

Completing tasks covered on lectures and their submission through online system.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Homeworks 0 % 25 % 0 % 0 %
Class participation 0 % 15 % 0 % 0 %
Seminar/Project 0 % 50 % 0 % 0 %
Attendance 0 % 10 % 0 % 0 %

Week by Week Schedule

  1. Lecture 1: Course introduction (explain to students the course concept and requirements). Overview of the current market of digital games and motivation for game development. Overview of the Croatian game industry. Overview of the game development process and roles involved. Overview of functionalities needed for development of the digital game.
  2. Lecture 2: Introduction to Unity game engine: Installation, graphical user interface, elements of the system. Project scene. Example of a project. Modification of basic elements of the project. Importing the assets from different sources. Division of students into teams for laboratory exercises / project. Homework: Submission of Unity project with tasks presented on the lecture.
  3. Lecture 3: Basic concepts related to making a simple 3D game. Phyics simulation and physics materials. Creating prefabs, working with components, changing visual materials, using predefined scripts, setting the skybox, setting the basic sound. Homework: Import of created 3D elements into Unity.
  4. Lecture 4: Animation in the Unity system. Basic animation tools and components. Using the Mecanim system. Animation of the camera. Import external animations. Avatar and transmission of humanoid animations. Homework: Creation of complex animations from existing ones through state machines.
  5. Lecture 5: Particles, animations, and spawn points. Homework: Modification of created particle systems during the lecture. Project: Presentations of the project concept.
  6. Lecture 6: Graphical user interface and controls. Basics of scripting. Game manager. Homework: Modification of scripts created during the lecture. Addition of new UI elements and their funcionalities.
  7. Lecture 7. Sound in games. Concepts, material development, integration into Unity. Homework: Creating and inserting sound elements into Unity.
  8. Exams week
  9. Exams week
  10. Lecture 8: Camera, materials, shaders and lightning. Homework: Submission of Unity project with tasks presented on the lecture.
  11. Lecture 9: Project: Presentation of team progress - consultations about project.
  12. Lecture 10: AI and pathfinding. Homework: Submission of Unity project with tasks presented on the lecture.
  13. Lecture 11: Network components in Unity. Homework: Submission of Unity project with tasks presented on the lecture extended with new functionality.
  14. Lecture 12: Procedural content generation. Homework: Creating your own procedural content.
  15. Lecture 13: Different development platforms. Virtual reality. Project: Final project presentation.

Study Programmes

University undergraduate
[FER2-HR] Computer Engineering - module
Skills (5. semester)
[FER2-HR] Computer Science - module
Skills (5. semester)
[FER2-HR] Control Engineering and Automation - module
Skills (5. semester)
[FER2-HR] Electrical Power Engineering - module
Skills (5. semester)
[FER2-HR] Electronic and Computer Engineering - module
Skills (5. semester)
[FER2-HR] Electronics - module
Skills (5. semester)
[FER2-HR] Information Processing - module
Skills (5. semester)
[FER2-HR] Software Engineering and Information Systems - module
Skills (5. semester)
[FER2-HR] Telecommunication and Informatics - module
Skills (5. semester)
[FER2-HR] Wireless Technologies - module
Skills (5. semester)
University graduate
[FER3-HR] Computing - study
Skills (3. semester)
[FER3-HR] Electrical Engineering and Information Technology - study
Skills (1. semester) (3. semester)
[FER3-HR] Information and Communication Technology - study
Skills (1. semester) (3. semester)
[FER2-HR] Computer Engineering - profile
Skills (1. semester) (3. semester)
[FER2-HR] Computer Science - profile
Skills (1. semester) (3. semester)
[FER2-HR] Control Engineering and Automation - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electrical Engineering Systems and Technologies - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electrical Power Engineering - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electronic and Computer Engineering - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electronics - profile
Skills (1. semester) (3. semester)
[FER2-HR] Information Processing - profile
Skills (1. semester) (3. semester)
[FER2-HR] Software Engineering and Information Systems - profile
Skills (1. semester) (3. semester)
[FER2-HR] Telecommunication and Informatics - profile
Skills (1. semester) (3. semester)
[FER2-HR] Wireless Technologies - profile
Skills (1. semester) (3. semester)

Literature

Pandžić, Igor Sunday; Pejša, Tomislav; Matković, Krešimir; Benko, Hrvoje; Čereković, Aleksandra; Matijašević, Maja (2011.), Virtualna okruženja: Interaktivna 3D grafika i njene primjene, Element
https://unity3d.com/learn (.), Zbirka tutoriala za sustav Unity,
https://docs.unity3d.com/Manual/index.html (.), Korisničke stranice sustava Unity,
Joseph Hocking (2018.), Unity in Action: Multiplatform game development in C#, Manning Publications

Laboratory exercises

For students

General

ID 174784
  Winter semester
3 ECTS
L0 English Level
L2 e-Learning
24 Lectures
0 Seminar
0 Exercises
30 Laboratory exercises
0 Project laboratory

Grading System

Excellent
Very Good
Good
Sufficient