This course provides an introduction to video game programming and computer graphics. The course material will cover game programming techniques and technologies, including rendering, data structures, memory management, real-time software development for games, start-to-finish video game design and implementation, project management, teamwork and team management. The course also covers modules on AI, human-computer interaction, and physical simulation in game worlds.
Students will learn to plan, manage and implement from scratch a video game over the course term. They will learn to apply theoretical knowledge in a practical, real-life setting and acquire hands-on problem solving skills. The skills learned are highly relevant in industries beyond the game industry. Efficient C++ implementation, software development of large-scale systems, version control, and teamwork are crucial skills that often fall short in classical lectures.
The course is interactive, including cross-play sessions where students play-test the games from other teams, milestone presentations where teams update the rest of the course on their development status and challenges faced, and individual team meetings with the tutors.
The following slides provide additional details and context to the existing visual computing modules at Bielefeld University:
https://docs.google.com/presentation/d/e/2PACX-1vRGyE0j_cU324qp-vOEE4hEBPn3HdwliZQqeg_vT0w7Yt9EUXmgFB6NamL_ynqeBMYRgD-cdvfvXobA/pub?start=false&loop=false&delayms=3000
This course builds upon required BSc Informatik courses from the first three terms: Prinzipien Der Programmierung, Mathematic für Informatik 1, Mathematic für Informatik 2, Software Engineering, and Datenbanken und Informationssyteme.
You require these courses or an equivalent qualification in C++/object oriented programming languages, vector and matrix algebra, and a basic understanding of memory and algorithms, including graph and search algorithms. Please reach out to the instructor if in doubt.
Experience in game programming or computer graphics is not required as these concepts will be introduced. This course is complementary to the Visual Computing lecture; it is beneficial to take both but the order is not important.
The course is given in English but examinations can be performed in German on request. It can be taken as IdniErg and StructErg within the Informatik Kernfach and also in other programs through a simple application form (reach out).
There is not a single book or script but plenty of high-quality online resources:
Rhythmus | Tag | Uhrzeit | Format / Ort | Zeitraum |
---|
Modul | Veranstaltung | Leistungen | |
---|---|---|---|
39-Inf-WP-IS-x Informationssysteme (Schwerpunkt) | Einführende Veranstaltung Seminar o. Vorlesung | Studieninformation | |
- | benotete Prüfungsleistung | Studieninformation | |
39-Inf-WP-MC-x Media Computing (Schwerpunkt) | Einführende Veranstaltung Seminar o. Vorlesung | Studieninformation | |
- | benotete Prüfungsleistung | Studieninformation | |
39-Inf-WP-MTI-x Mensch-Technik-Interaktion (Schwerpunkt) | Einführende Veranstaltung Seminar o. Vorlesung | Studieninformation | |
- | benotete Prüfungsleistung | Studieninformation |
Die verbindlichen Modulbeschreibungen enthalten weitere Informationen, auch zu den "Leistungen" und ihren Anforderungen. Sind mehrere "Leistungsformen" möglich, entscheiden die jeweiligen Lehrenden darüber.
This course is 10 cp module building around the video game programming project (5 cp) that is developed in four milestones with teams of 5-6 students. The project is accompanied by a lecture (2cp) that introduces the fundamentals of video game programming, and assignments and tutorials (2cp) that hone practical skills. The grade is formed by the project presentations and report as well as a written exam covering the lecture content (1cp).
The module is designed for students to complete all parts (lecture, assignments, exam, and project) in the same term. Lectures and assignments are concentrated on the first three months of the term. The last month will be without lectures, focusing on the project, milestone presentations, and cross-play sessions.
Each team can choose the theme and specific technical features of the game project freely. Progress is guided by four milestone submissions that require the implementation of basic game elements at regular intervals.