Subject
Video game programming
| 1. | Course Title |
Video game programming Video Game Programming |
||||||||||||
| 2. | Code | F23L3W152 | ||||||||||||
| 3. | Study Programme | — | ||||||||||||
| 4. | Organizer of the study programme (unit, institute, department or division) | Faculty of Computer Science and Engineering | ||||||||||||
| 5. | Degree level (first, second, third cycle) | First Cycle | ||||||||||||
| 6. | Academic year / semester | 7 / Winter | ||||||||||||
| 7. | Number of ECTS credits | 6 | ||||||||||||
| 8. | Teacher | Katarina Troyanets Dineva, Suzana Loshkova | ||||||||||||
| 9. | Prerequisites for enrolling in the course | Algorithms and Data Structures or Applied Algorithms and Data Structures | ||||||||||||
| 10. | Objectives of the course programme (competences) | The goal of the course is to introduce students to the process of video game programming. To that end, students will be introduced to the basic components of a video game and how they are programmed. Upon completion of the course, the student is expected to understand video game programming concepts and be able to independently or as part of a team develop a simple video game. | ||||||||||||
| 11. | Course content | Lectures: 1. Introduction. Definition. Brief history. Classifications and types of games. 2. Game architecture. Game initialization. Providing an exit from the game. 3. Actors in the game. Ways of defining actors. Composition of objects for defining actor characteristics. 4. Main game loop. Ways to control the flow of the game. Using threads. 5. Caching game resources. Data types. Techniques for efficient data calculation and efficient reading of the same. 6. Input devices. Types. Input control. 7. User interfaces for games. Defining the view. Programming controls and on-screen elements. Localization. 8. Managing in-game events. Adding and controlling in-game sound. 9. Fundamental Principles of In-Game Graphics. Defining Materials. Coordinate Systems and Transformations. Representation of Graphics Objects in the Game. Lighting Model. 10. In-game graphics. Using textures. Representation and programming of 3D scenes. 11. Physics in games. Laws and embedding laws into element behavior. Collision programming. 12. Artificial Intelligence. Techniques for describing the behavior of virtual agents. Practical Classes: Introduction to technologies and programming languages for video game programming. 2. More advanced features of technologies and programming languages that enable video game programming. 3. Implementation of examples for defining actors and their characteristics. 4. Implementation of a basic form of the game's main loop. 5. Implementation of a more complex form of the game's main loop. Loading and reading data. 6. Implementation of examples that include game input and input control, 7. Implementation of the game's user interface. Programming controls and on-screen elements. Localization. 8. Implementation of examples with in-game event management. Adding and controlling in-game sound. 9. Examples involving in-game graphics. Defining materials. Coordinate systems and transformations. Representation of graphical objects in the game. Lighting model. 10. Examples that include the use of textures. Representation and programming of 3D scenes. 11. Examples of physics applied in games. Laws and the integration of laws into element behavior. Collision programming. 12. Examples involving artificial intelligence. Techniques for describing the behavior of virtual agents. |
||||||||||||
| 12. | Learning methods | Lectures supported by slide presentations, interactive lectures, practical classes (using equipment and software packages), teamwork, case studies, guest lecturers, independent preparation and defence of a project assignment and seminar paper, and learning in an electronic environment (forums and consultations). | ||||||||||||
| 13. | Total available time | 6 ECTS x 30 hours = 180 hours | ||||||||||||
| 14. | Distribution of available time | 30 + 45 + 15 + 15 + 75 = 180 hours | ||||||||||||
| 15. | Forms of teaching activities |
|
||||||||||||
| 16. | Other forms of activities |
|
||||||||||||
| 17. | Assessment method |
|
||||||||||||
| 18. | Grading criteria (points / grade) |
|
||||||||||||
| 19. | Requirement for obtaining a signature and taking the final exam | completed activities 15.1 and 15.2 | ||||||||||||
| 20. | Language of instruction | Macedonian and English | ||||||||||||
| 21. | Method for monitoring the quality of teaching | internal evaluation and survey mechanism | ||||||||||||
| 22. | Literature |
|