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-1Ability to define, collect, and evaluate necessary data in the field of computer programming and effectively apply theoretical knowledge in practical applications..
PO-2Possession of fundamental knowledge of computer systems, software, and hardware, and the ability to effectively utilize the required technologies for the profession.
PO-3Possession of up-to-date, fundamental, and applied knowledge related to computer programming.
PO-4Awareness of occupational health and safety, environmental consciousness, and quality processes, and the ability to apply them in the workplace.
PO-5Ability to follow developments in information technologies and integrate innovations into the profession.
PO-6Effectively using information technologies related to the profession (software, programs, animations, etc.).
PO-7Acquiring the analytical thinking skills required by computer programming, developing and executing programs with an appropriate perspective.
PO-8Independently evaluating professional problems and issues with an analytical and critical approach and presenting solutions.
PO-9Effectively expressing the work conducted in the field to project teams and institutions.
PO-10Taking responsibility in the workplace, organizing employees and workflow, and providing services in accordance with quality and standards.
PO-11Effectively presenting thoughts at the level of knowledge and skills through written and verbal communication in a clear and understandable manner.
PO-12Valuing teamwork, contributing to the group, and collaborating effectively with colleagues.
PO-13Ability to adapt to next-generation technologies such as artificial intelligence, big data analytics, cybersecurity, and cloud computing, and to acquire fundamental knowledge and skills in these areas.
PO-14Being aware of career management and lifelong learning, following technological advancements, and continuously improving oneself.
PO-15Possessing social, scientific, cultural, and ethical values in the collection, implementation, and dissemination of field-related data.
PO-16Possession of foreign language skills sufficient to follow developments in the field and communicate at an international level.
PO-17Emphasizing effective communication in the field and using the Turkish language accurately.
PO-18Ability to adopt and promote workplace safety, health, and environmental awareness.
PO-19Ability to objectively evaluate the performance of team members and provide accurate information to management.
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 15PO 16PO 17PO 18PO 19
LO 1
LO 2
LO 3
LO 4
LO 5