BBZ404 Game Programming

5 ECTS - 2-2 Duration (T+A)- 8. Semester- 3 National Credit

Information

Unit FACULTY OF SCIENCE AND LETTERS
COMPUTER SCIENCES PR.
Code BBZ404
Name Game Programming
Term 2026-2027 Academic Year
Semester 8. Semester
Duration (T+A) 2-2 (T-A) (17 Week)
ECTS 5 ECTS
National Credit 3 National Credit
Teaching Language Türkçe
Level Belirsiz
Type Normal
Label E Elective
Mode of study Yüz Yüze Öğretim
Catalog Information Coordinator Dr. Öğr. Üyesi Cevher ÖZDEN
Course Instructor
The current term course schedule has not been prepared yet.


Course Goal / Objective

The aim of this course is to enable students to learn 2D and 3D game development processes at both conceptual and practical levels using the Unity game engine and the C# programming language, and to apply the game loop, scene management, object-component architecture, physics, user interaction, animation, user interface, basic game artificial intelligence, and project development processes within an integrated game prototype.

Course Content

Introduction to game programming; game loop, game objects, component-based architecture, and the basic use of the Unity Editor; Unity scripting with C#; 2D game development, sprites, 2D physics, collision, trigger events, animation, and user interface design; 3D game development, camera, lighting, materials, 3D physics, character/object control, and interaction; prefab structure, scene management, level design, score and game state management; basic game artificial intelligence, audio and visual effects; debugging, performance improvement, game packaging, and term project development.

Course Precondition

There is no prerequisite. Prior knowledge of object-oriented programming, basic algorithm development, and the C# programming language is recommended.

Resources

Lecture notes, official Unity documentation, Unity Learn materials, Microsoft C# documentation, and sample project notes provided by the instructor. The Unity documentation is the main technical reference for developing 2D and 3D games, applications, and experiences with Unity, while Unity Learn provides free learning pathways and tutorials for game development and real-time 3D skills.

Notes

Nystrom, R. Game Programming Patterns; Microsoft C# Guide; Unity Manual; Unity Learn beginner projects; Unity 2D Game Development Documentation; Unity Physics, Animation, UI, and Audio documentation. The Microsoft documentation for C# provides tutorials, code samples, and language reference materials for getting started with C# and the .NET platform


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Explains the fundamental concepts of game programming, the game loop, and the role of game engines in the software development process.
LO02 Creates game objects using the Unity Editor, scene structure, GameObject model, and component-based architecture.
LO03 Develops the behaviors of game objects using C# and Unity scripting structures.
LO04 Develops 2D game mechanics using sprites, camera, 2D physics, collision, and trigger events.
LO05 Applies animation, user interface, score system, and game state management components in 2D games.
LO06 Develops 3D game scenes using camera, lighting, materials, 3D physics, and object control.
LO07 Uses prefabs, scene management, level design, and interactive game objects within an integrated game structure.
LO08 Applies basic game artificial intelligence, audio, visual effects, debugging, and performance improvement approaches.
LO09 Develops and presents a working 2D or 3D game prototype according to specified requirements.


Relation with Program Learning Outcome

Order Type Program Learning Outcomes Level
PLO01 Bilgi - Kuramsal, Olgusal Gain comprehensive knowledge of fundamental concepts, algorithms, and data structures in Computer Science. 3
PLO02 Bilgi - Kuramsal, Olgusal Learn essential computer topics such as software development, programming languages, and database management 3
PLO03 Bilgi - Kuramsal, Olgusal Understand advanced computer fields like data science, artificial intelligence, and machine learning. 3
PLO04 Bilgi - Kuramsal, Olgusal Acquire knowledge of topics like computer networks, cybersecurity, and database design. 2
PLO05 Beceriler - Bilişsel, Uygulamalı Develop skills in designing, implementing, and analyzing algorithms 3
PLO06 Beceriler - Bilişsel, Uygulamalı Gain proficiency in using various programming languages effectively 3
PLO07 Beceriler - Bilişsel, Uygulamalı Learn skills in data analysis, database management, and processing large datasets. 2
PLO08 Beceriler - Bilişsel, Uygulamalı Acquire practical experience through working on software development projects. 3
PLO09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Strengthen teamwork and communication skills.
PLO10 Yetkinlikler - Alana Özgü Yetkinlik Foster a mindset open to technological innovations.
PLO11 Yetkinlikler - Öğrenme Yetkinliği Encourage the capacity for continuous learning and self-improvement.
PLO12 Yetkinlikler - İletişim ve Sosyal Yetkinlik Enhance the ability to solve complex problems 3


Week Plan

Week Topic Preparation Methods
1 Introduction to game programming; game loop, game engines, Unity Editor, scene, GameObject, and Component logic Unity installation and interface review Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma
2 Unity scripting with C#: MonoBehaviour, Start, Update, variables, methods, prefab logic, and basic code organization Review of basic C# syntax Öğretim Yöntemleri:
Gösterip Yaptırma, Anlatım
3 Introduction to 2D game development: sprite usage, camera settings, input handling, and character movement Review of sprite and 2D scene examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma
4 2D physics: Rigidbody2D, Collider2D, collision, trigger events, jumping, and platform mechanics Review of Unity 2D physics components Öğretim Yöntemleri:
Alıştırma ve Uygulama, Gösterip Yaptırma, Anlatım
5 2D level design: Tilemap usage, scene layout, placement of obstacles, enemies, and collectible objects Review of Tilemap and level design examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
6 2D animation: Animator, character states, simple enemy behavior, and improving game feel Review of Animator window and animation examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
7 2D game user interface: score, health, timer, menu, game state, winning and losing conditions Review of Unity UI components Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
8 Mid-Term Exam Review of topics Ölçme Yöntemleri:
Yazılı Sınav
9 Introduction to 3D game development: coordinate system, camera, lighting, materials, 3D scene structure, and basic object usage Review of 3D scene, camera, and lighting examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
10 3D movement and camera control: character/object movement, first-person or third-person control approaches Review of 3D movement and camera control examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
11 3D physics and interaction: Rigidbody, Collider, raycasting, trigger events, and interactive objects Review of Rigidbody, Collider, and raycasting concepts Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
12 3D level design: prefab usage, scene organization, collectibles, obstacles, and game objectives Review of prefab and scene organization examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
13 Basic game artificial intelligence: patrol, chase, avoidance, target selection, simple decision rules, and introduction to NavMesh Review of simple enemy behavior and NavMesh examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
14 Audio, visual effects, debugging, performance improvement, secure coding, and improving game quality Review of audio, effects, and profiler tools Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
15 Game packaging, building the game, term project presentations, code defense, and general evaluation Preparation of project files and presentation Öğretim Yöntemleri:
Gösterip Yaptırma, Anlatım, Proje Temelli Öğrenme
16 Term Exams Final project presentations Ölçme Yöntemleri:
Proje / Tasarım
17 Term Exams General review Ölçme Yöntemleri:
Yazılı Sınav


Student Workload - ECTS

Works Number Time (Hour) Workload (Hour)
Course Related Works
Class Time (Exam weeks are excluded) 14 4 56
Out of Class Study (Preliminary Work, Practice) 14 4 56
Assesment Related Works
Homeworks, Projects, Others 5 2 10
Mid-term Exams (Written, Oral, etc.) 1 3 3
Final Exam 1 5 5
Total Workload (Hour) 130
Total Workload / 25 (h) 5,20
ECTS 5 ECTS

Update Time: 06.05.2026 03:44