- C++ techniques relevant for implementation of game engines
|
|
- explain the merits and drawbacks of C++ as an implementation language for a game engine
|
- explain C++ data structures relevant for game engines
- write game engine components using STL data structures and algorithms
- design and effectively implement a non-trivial class hierarchy and templates in C++
|
- use C++ metaprogramming tools to optimize and reuse game engine components
|
- Architecture of large-scale C++ programs (such as game engines)
|
- general programming skills
|
- explain the problems of large-scale applications (more than 100 000 lines of code), especially in a games context
|
- explain the goals and use the tools for modular component design in C++
- explain the general idioms and patterns needed for large-scale game programs (e.g., forward class declarations, handle-body idiom, Singleton, Factory, smart pointers, reference-counting)
- implement independent components for large-scale modular applications, e.g., well-structured game engines
|
- design and implement a specific truly modular game component (e.g., graphics engine, physics engine, audio system, resource streaming, network component, etc.)
|
- Run-time game engine architecture
|
- 3D graphics for background and motivation
- general programming skills
|
- explain the main tasks of a 3D game engine
|
- explain the layered structure and the layers of a game engine
- explain the need and use of third-party components for a game engine
- explain the low-level APIs needed for a game engine
- explain the special requirements and needed solutions for game initialization (start up)
- explain the implementation of the main update and rendering loop of a game engine
- implement a main game loop
- explain cooperative tasking as used for game logic implementation
|
- design and implement custom tools for game multitasking
|
- Events and message passing in game engines
|
- general programming skills
|
- explain the event-based nature of a computer game
|
- explain the need for a special event system for a game engine
- explain the basic patterns relevant for a game event system: Observer, Command, and Typed Message
|
- implement a custom Typed Message event system for a game engine
|
- Scripting languages in games
|
- general programming skills
|
- explain the use and benefits of scripting languages for game production
|
- describe the principal examples of scripting languages for game programs / game engines
- read and write simple scripting code samples (e.g., Lua)
- implement all or parts of the game logic using a scripting language
|
- implement a custom scripting manager for a game engine
|