Associate Degree Programs
Vocational School of Technical Sciences
Computer Programming
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.


Game Programming

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
TBP0030 Game Programming 2/2/0 DE Turkish 4
Course Goals
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 have an understanding on the principles of game design, terminology of game programming, technologies underlying modern game engines, team project management. Another significant objective of this course is bringing students in multidisciplinary view on computer science since game programming uses knowledge about several disciplines such as AI, Physics, Learning, Mathematics, HCI and Computer Graphics.

Discovering Unity

- Recognizing the working environment

- Creating and organizing projects

- Manage scene appearance

- Creating objects

- Object transform management

Working with the terrain editor

- To define the land geometry

- Create topography

- Creating land texture

- Creating trees and forests

- To create lawns and works

- Arrange the land settings

Creating the environment

- Adding sky, sun and fog

- Use the primary viewing angle (FPC)

- Publish project settings

Start coding with Unity

- Discovering Unity code structure

- Using variables and functions

- Syntax, punctuation and using the console

- understand rotation and time functions

- Encode simple functions

- Working with Transformations

- Using conditions

Encode in-game

- Working with distance variables and local variables

- Adding sky, sun and fog

- Use the primary viewing angle (FPC)

- Publish project settings

- use Raycast object

- Create timers

- understand the OnCollision variable and its tags

- send messages

- Create response to messages

Working with game objects and components

- Creating game objects

- understand the components

- Using collisions and triggers

- Working with physics components

- Adding wind

- Using an audio source

- Creating a noisy environment

- Add sound effects

Working with reusable objects

- Creating and using a reusable object (Prefab)

Working with particle systems and effects

- Creating particle systems

- Creating effects with particle systems

- Use water effects

Working with exogenous assets

- get objects from outside

- Working with materials

- Animation from outside

Working with light

- Use linear light

- use point light

- Use spotlight

Creating game interfaces

- Working with Unity GUI

- Encode in-game menus

Designing artificial intelligence

- Understanding Artificial Intelligence

- Establishing awareness of threat detection

- Creating an obstacle awareness

Develop games for mobile devices

- Working with TouchPhase and accelerators

Designing Simple Augmented Reality

- Create AR compatible objects

- Create a marker

- AR framework integration

- Publishing on tablet

Design Simple Virtual Reality

- Oculus Rift (Virtual Eyewear) setup

- Unity3d-Oculus Rift integration

- Creating objects and interacting

- Virtual browsing in environments created using Oculus Rift Eyeglass.

Publish the project)

- Compiling code

- Publish for web and mobile platforms

- Distribute via mobile stores

Application

- FPS

- shoot'em up

- platform game

- car race
Prerequisite(s) None
Corequisite(s) None
Special Requisite(s) None
Instructor(s) LecturerAhmet Gökhan Uluçay
Course Assistant(s) None
Schedule Tuesday 13: 00-17: 00 - CATS Meetings
Office Hour(s) CATS Meetings
Teaching Methods and Techniques ** It was planned as formal, but after the developments in the pandemic process, it was decided to continue the course with the Digital Distance Education method within the framework of the recommendations of YÖK. The theoretical part of the course will be supported by sectoral E-Webinars that will be given in the Fall Semester with 100% Asynchronous and Synchronous enriched digital method and CATs V3.0 interface. Those that can be given from the Applied parts of the course will be given again by the Digital Distance Education method, and according to the developments experienced during the pandemic process of the applications that cannot be given, in the Fall Semester in the last semester of the semester, they will be given with the optional appointment method and the hybrid method alternately watched over the CATs V3.0 system.
Principle Sources -Game Coding Complete, Fourth Edition by Mike McShaffry and David Graham (Mar 5, 2012)
Other Sources -The Game Maker's Apprentice: Game Development for Beginners by Jacob Habgood, Mark Overmars and Phil Wilson (Jul 9, 2006)
Course Schedules
Week Contents Learning Methods
1. Week Basic concepts of game programming oral presentation, laboratory
2. Week Basic concepts of game programming oral presentation, laboratory
3. Week The algorithms used in game development, processes and technologies oral presentation, laboratory
4. Week The algorithms used in game development, processes and technologies oral presentation, laboratory
5. Week The algorithms used in game development, processes and technologies oral presentation, laboratory
6. Week Create simple animations and games using the game engine to develop oral presentation, laboratory
7. Week Create simple animations and games using the game engine to develop oral presentation, laboratory
8. Week Create simple animations and games using the game engine to develop oral presentation, laboratory
9. Week Create simple animations and games using the game engine to develop oral presentation, laboratory
10. Week Create simple animations and games using the game engine to develop oral presentation, laboratory
11. Week Basic math and physics knowledge to use in programming oral presentation, laboratory
12. Week Basic math and physics knowledge to use in programming oral presentation, laboratory
13. Week In computer science, a multidisciplinary overview oral presentation, laboratory
14. Week Computer game design ethics oral presentation, laboratory
15. Week Final Final
16. Week Final Final
17. Week Final Final
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 30
Quizzes 1 30
Final Exam 1 40


Program Outcomes
PO-1Effectively identifying collecting and evaluating the data required for the Computer Programming field and using theoretical knowledge for creating applications.
PO-2Being equipped with basics of computer science.
PO-3Possessing the knowledge of all necessary software and equipment in the profession.
PO-4Emphasizing team work, contributing to the group and operating with team chemistry.
PO-5Effectively expressing and sharing the completed work with project group and teammates.
PO-6Objectively evaluating the performance of employees under his/her supervision and providing objective information to the management.
PO-7Demonstrating problem solving skills and the education he/she obtained at the program.
PO-8Possessing the computer programming knowledge built on skills, information and competencies provided by secondary education and supperted by higher education course materials, and demonstrating the understanding of concepts in the field of computer programming.
PO-9Acquiring the analytical thinking skills required in the field of computer programming, and creating and running programs in accordance with this analytical perspective.
PO-10Complying with ethical values of the field of Computer Programming and carrying social responsibility.
PO-11Developing sufficent foreign language skills to conduct the work and follow the global developments at the best level.
PO-12Empasizing communication and using Turkish accurately in this communication.
PO-13Ensuring the security, environment and health awareness at personal level and among his/her employees.
PO-14Following technological innovations in software and hardware after graduation and sustaining continuous personal development.
PO-15Claiming responsibility at his/her workplace, organizing work flow with employees and operating according to high quality work standards.
Learning Outcomes
LO-1Have an understanding on the basic terminology of game programming
LO-2Knowledge on the algorithms, processes and technologies used in game programming.
LO-3The ability to create simple animations and develop games by using game engines.
LO-4The ability to combine basic knowledge on Mathematics and Physics with programming.
LO-5A very basic understanding on computer graphics and artificial intelligence. A multidisciplinary point of view on computer science. Ethical awareness while designing computer games.
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11PO 12PO 13PO 14PO 15
LO 1
LO 2
LO 3
LO 4
LO 5