Game Engine, Gameplay, and Physics Programming Questions
The runtime systems of games: the game loop, core engine architecture, gameplay mechanics implementation, physics simulation, and collision detection. Covers frame-time budgeting, deterministic simulation, and translating design intent into interactive systems. The engine-and-simulation core of game development.
Design a high-performance ECS for an action game. Discuss archetype-based storage, memory layout for cache friendliness, fast component lookup, multithreaded system execution and scheduling (job system), synchronization (locking vs command buffers), and strategies to avoid fragmentation when components are added/removed.
Implement a Command pattern in C# for deterministic replay and rollback netcode. Requirements: ICommand interface with Execute(int tick) and Undo(int tick), commands must be serializable to a compact binary form for network transmission, maintain an input history buffer keyed by tick, and support replaying a sequence of commands to reproduce the state. Provide interface/class definitions and example implementations for MoveCommand and FireCommand, and describe integration with rollback.
Explain the Separating Axis Theorem (SAT) for collision detection between 2D convex polygons. Describe the algorithm steps to detect intersection and compute penetration depth and the best contact normal. Outline handling of edge cases like collinear edges, floating-point epsilons, and degenerate polygons, and analyze complexity.
Given a console with limited CPU and memory bandwidth, propose optimizations to maximize collision-detection throughput for an open-world game. Cover data layout (SoA vs AoS), SIMD usage, batching, broad-phase tuning, threading model, memory pooling, and quality vs speed trade-offs with concrete examples and estimated impacts.
Implement a deterministic fixed-point physics integrator in C++ for a 2D position/velocity simulation suitable for lockstep multiplayer. Provide a FixedPoint type (or typedef) with basic operations, and show the position update using semi-implicit integration while avoiding floating-point operations.
Unlock Full Question Bank
Get access to all Game Engine, Gameplay, and Physics Programming interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.