Skip to content
BoKSA

Knowledge

Game Developer Knowledge

This page tells you what the knowledge test covers: nine topics in three areas, with three to six learning objectives each. The bold part of every objective is what you must be able to do. The key terms underneath are the vocabulary the questions will use. If you can explain every key term in your own words and apply it to a small scenario, you are ready.

Most of these topics come up in the lectures. Some you will meet in your semester project. The rest you learn through self-study, and how you do that depends on your profile.

  • Playful Tech: the side quests on the SideQuest platform are your study material. Each topic names the quest that covers it. Work through its sources and assignment, and use the quiz to check yourself.
  • Immersive Tech: each topic lists starter sources to begin with. They are public sources, many of them the same ones the side quests use. They do not cover every objective completely. Use them as a starting point and search further yourself.
Area Topics
A. Game Engine Unity, 3D Graphics, Optimization
B. Game Programming OOP+, Design Patterns, Debugging & Testing
C. Game Design Polish, User Interfaces, Playtesting

A. Game Engine

A1 · Unity

Side quest: Unity Basics

Starter sources

Learning objectives

  1. Explain how GameObjects, Components and the scene hierarchy fit together, and how a parent's Transform affects the position, rotation and scale of its children.

    Key terms: GameObject, Component, Transform, hierarchy, local vs world space, Inspector

  2. Pick the right built-in component for an effect and describe what it does: Rigidbody, Collider (solid vs trigger), AudioSource, Animator, Camera.

    Key terms: Rigidbody, Collider, isTrigger, OnCollisionEnter vs OnTriggerEnter, AudioSource, Animator

  3. Explain the MonoBehaviour lifecycle and choose the right method for a job.

    Key terms: Awake, Start, Update, FixedUpdate, LateUpdate, OnEnable/OnDisable, Time.deltaTime

  4. Explain what prefabs and prefab variants are and when to use them: spawning at runtime, editing many duplicates at once, one base with many versions, overrides.

    Key terms: prefab, prefab instance, override, apply/revert, variant, Instantiate

  5. Describe how input, scenes and UI connect to your scripts: Input Action Assets with the PlayerInput component, SceneManager for loading and reloading, UI Toolkit (UXML/USS) versus the uGUI Canvas.

    Key terms: Input System, Action Map, PlayerInput, SceneManager.LoadScene, UI Toolkit, UXML, USS, Canvas

A2 · 3D Graphics

Side quest: 3D Graphics

Starter sources

Learning objectives

  1. Name the building blocks of a mesh and explain what each is for: vertices, edges, faces and triangles, normals, UV coordinates.

    Key terms: vertex, edge, face, triangle vs quad, polygon, normal, UV

  2. Explain what a transform is (position, rotation, scale) and how transforms combine through the object hierarchy.

    Key terms: transform, local vs world space, pivot, parenting

  3. Describe the stages of the graphics pipeline and say which stage is responsible for a given effect or problem.

    Key terms: application stage, draw call, geometry stage, model/world/view/projection space, frustum, rasterization, fragment, shading, depth (z-)buffer, shader

A3 · Optimization

Side quest: Optimization

Starter sources

Learning objectives

  1. Explain the frame budget and what happens inside one frame: input, scripts, physics, rendering, and why 60 fps means 16.7 ms.

    Key terms: frame budget, frame time vs fps, main thread, render thread, CPU, GPU, RAM, VRAM

  2. Decide from measurements whether a game is CPU-bound or GPU-bound, and pick the tool that answers a given question: Stats overlay, Profiler, Frame Debugger.

    Key terms: CPU-bound, GPU-bound, Profiler hierarchy, Gfx.WaitForPresent, Stats overlay, Frame Debugger

  3. Recognise the usual suspects from their symptoms: expensive work in Update, garbage collection spikes, too many draw calls, realtime lights and shadows, physics overload, drawing what you cannot see.

    Key terms: GC.Alloc, GC spike, draw call, SetPass call, realtime shadow, physics step, overdraw, big-O

  4. Match a fix to a problem and explain why it works: caching references, object pooling, batching, baked lighting, culling and LOD, physics layer matrix, fixed timestep.

    Key terms: object pooling, static/dynamic/GPU batching, instancing, lightmap baking, frustum/occlusion culling, LOD, collision matrix

B. Game Programming

B1 · OOP+

No dedicated side quest; covered in the lectures

Starter sources

Learning objectives

  1. Explain the four pillars of object-oriented programming and recognise each in code: abstraction, encapsulation, inheritance and polymorphism.

    Key terms: abstraction, encapsulation, access modifiers (public/private/protected), inheritance, base vs derived class, polymorphism, virtual/override

  2. Explain the difference between an abstract class and an interface and choose the right one for a given situation.

    Key terms: abstract class, abstract method, interface, contract, single inheritance vs multiple interfaces, shared state vs shared behaviour, "is-a" vs "can-do"

  3. Explain composition over inheritance and recognise when a class hierarchy should be replaced by composed parts.

    Key terms: composition, "has-a" vs "is-a", component, deep hierarchy, fragile base class, Unity's GameObject/Component model

B2 · Design Patterns

Side quest: Design Patterns

Starter sources

Learning objectives

  1. Describe the State, Singleton and Observer patterns: the problem each solves, its structure, and what it looks like in C#/Unity.

    Key terms: state machine, state class, transition, Singleton, static Instance, Observer, publisher/subscriber, C# event

  2. Recognise the signs that a codebase needs a pattern: branching that grows with every new behaviour, duplicated decisions, tightly coupled systems, polling every frame instead of being told.

    Key terms: growing if/switch, duplication, coupling, polling vs events, "who owns the rule"

  3. Explain the trade-offs of global state and of events: hidden dependencies, testing problems, stale subscriptions and the bugs they cause.

    Key terms: global state, hidden dependency, stale subscription, unsubscribe in OnDestroy/OnDisable, instance vs static event

B3 · Debugging & Testing

Side quests: Debugging and CI/CD (the testing article)

Starter sources

Learning objectives

  1. Distinguish the types of bugs and where each is caught: syntax errors, typos and logic mistakes, implementation errors, logical (design) errors.

    Key terms: compile error, runtime exception, wrong behaviour, "works but wrong design"

  2. Read an error message and stack trace and locate the cause.

    Key terms: stack trace, NullReferenceException, MissingReferenceException, IndexOutOfRangeException, line number, call chain

  3. Explain why and how you test code automatically: what a unit test checks, the difference between Edit Mode and Play Mode tests in Unity, how a test is structured, and what makes code easy or hard to test.

    Key terms: unit test, Unity Test Framework, NUnit, Edit Mode vs Play Mode test, Arrange-Act-Assert, assertion, test case, regression, testable code, dependency

C. Game Design

C1 · Polish

Side quest: Polish

Starter sources

Learning objectives

  1. Explain the MDA framework: what mechanics, dynamics and aesthetics are, how they relate, and why it describes a player experience more concretely than "fun".

    Key terms: MDA, mechanics, dynamics, aesthetics, designer vs player perspective, intended experience

  2. Recognise game-feel effects in a game and name what each one does for the player.

    Key terms: squash and stretch, anticipation, easing, hit stop, screen shake, camera lean/zoom, particles, trails, SFX layering, input response

  3. Explain the difference between polish and juice: polish removes friction and makes the game clear and consistent, juice amplifies feedback; and when extra juice hurts readability.

    Key terms: polish, juice, feedback, readability, noise, diminishing returns

C2 · User Interfaces

Side quest: Designing UI

Starter sources

Learning objectives

  1. Classify a game UI element as diegetic, non-diegetic, spatial or meta, and give an example of each.

    Key terms: diegetic, non-diegetic, spatial, meta, HUD, in-world UI

  2. Apply Nielsen's ten usability heuristics to a game interface: recognise which heuristic a UI element satisfies or violates.

    Key terms: visibility of system status, match with the real world, user control and freedom, consistency and standards, error prevention, recognition rather than recall, flexibility and efficiency, aesthetic and minimalist design, help users recover from errors, help and documentation

  3. Distinguish the design-process artefacts and order them by complexity: sketch, wireframe, user flow, wireflow, low-fidelity and high-fidelity prototype.

    Key terms: sketch, wireframe, user flow, task flow, wireflow, low-fidelity, high-fidelity, interactive prototype

C3 · Playtesting

No dedicated side quest; covered in the lectures and in your project

Starter sources

Learning objectives

  1. Explain what a playtest is for and set a testable objective, and tell it apart from QA testing and from asking friends for feedback.

    Key terms: playtest objective, research question, hypothesis, QA vs playtest, bug vs design problem

  2. Distinguish qualitative from quantitative data and know when to use each.

    Key terms: observation notes, interview, questionnaire, metrics/telemetry, completion time, heatmap

  3. Explain the ISO definition of usability and its three measures, and pick a suitable metric for each when evaluating a game.

    Key terms: ISO 9241-11, effectiveness (task completion, error rate), efficiency (time on task, effort), satisfaction (rating scale, SUS questionnaire), context of use, learnability