Game Programming course will teach you the basic knowledge you need to be able to design, implement, test, and debug game programs. In this context, you will understand the principles of game design, terminology of game programming, technologies underlying modern game engines, and team project management. Another significant objective of this course is to bring students in multidisciplinary view of computer science since game programming uses knowledge about several disciplines such as AI, Physics, Learning, Mathematics, HCI, and Computer Graphics. After successfully finishing this course, the students are expected to be able to develop and maintain various 2D and 3D video games using the Unity game engine and C# programming language.
Lecture, Discussion, Demonstration, and Big Real-world 3D Game Project.
Principle Sources
→ Thorn A. Pro Unity Game Development with C#. 1st edition. Apress. 2014.
→ Halpern J. Developing 2D Games with Unity: Independent Game Programming with C#. 1st edition. Apress. 2018.
→ Borromeo N. A. Hands-On Unity 2022 Game Development: Learn to use the latest Unity 2022 features to create your first video game in the simplest way possible. 3rd edition. Packt Publishing. 2022.
Other Sources
→ https://unity.com/ (online)
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction to Game Development
Oral presentation + Laboratory
2. Week
Learning Unity Basics
Oral presentation + Laboratory
3. Week
Project Phase 1: Designing and Preparing
Case study + Laboratory
4. Week
Project Phase 2: Getting Started
Case study + Laboratory
5. Week
Project Phase 3: Event Handling
Case study + Laboratory
6. Week
Project Phase 4: Power-Ups and Singletons
Case study + Laboratory
7. Week
Project Phase 5: Player Controller
Case study + Laboratory
8. Week
Project Presentation 1
Project
9. Week
Project Phase 6: Weapons
Case study + Laboratory
10. Week
Project Phase 7: Enemies
Case study + Laboratory
11. Week
Project Phase 8: Graphical User Interfaces
Case study + Laboratory
12. Week
Project Phase 9: Handling Persistent Data
Case study + Laboratory
13. Week
Project Phase 10: Refinements and Improvements
Case study + Laboratory
14. Week
Project Presentation 2
Project
15. Week
Final Exam
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Homework / Term Projects / Presentations
1
30
Project(s)
1
50
Final Exam
1
20
Program Outcomes
PO-1
Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2
Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3
Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4
Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5
Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6
Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7
Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8
Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9
Awareness of professional and ethical responsibility.
PO-10
Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11
Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1
Have an understanding on the basic terminology of game programming
LO-2
Knowledge on the algorithms, processes and technologies used in game programming.
LO-3
The ability to create simple animations and develop games by using game engines.
LO-4
The ability to combine basic knowledge on Mathematics and Physics with programming.
LO-5
A very basic understanding on computer graphics and artificial intelligence
LO-6
A multidisciplinary point of view on computer science