CMPT 306 Final Flashcards
What is an abstraction in game development?
A simplified representation of a system that hides complexity, making it easier to use and manage.
Q: What is a leaky abstraction?
A: When details of the underlying complexity “leak” through an abstraction, causing unexpected problems.
Q: What are common features of a game engine?
A: Rendering, physics, audio, resource management, editor, UI tools, networking, and animation systems.
Q: What is the purpose of a rendering engine?
A: To provide an abstraction over hardware-level APIs like Vulkan, DirectX, or Metal for rendering graphics.
Q: What is the role of a physics engine?
A: To simulate real-world dynamics using systems like Havok, Bullet, or Box2D.
Q: What is an Entity-Component-System (ECS)?
A: A data-driven design model where entities contain data, and systems handle logic for performance optimization.
Q: What is the game loop?
A: A continuous cycle managing input, game logic, physics updates, and rendering to synchronize gameplay.
Q: What is _process() in a game loop?
A: A function for general updates, such as user input and non-physics-related logic.
Q: What is _physics_process() in a game loop?
A: A function dedicated to handling physics updates at a consistent rate, independent of rendering.
Q: What are the advantages of using a game engine?
A: Faster development, cross-platform deployment, and reusability of code and assets.
Q: What are the disadvantages of using a game engine?
A: Dependency on the engine, potential bloat, steep learning curve, and limited flexibility.
Q: What is procedural content generation (PCG)?
A: The algorithmic creation of game content with limited or indirect user input, like generating levels or items.
Q: What is a vector in game development?
A: A mathematical object with direction and magnitude, used for movement, positions, and forces.
Q: What is the dot product of two vectors used for?
A: To calculate the magnitude of a vector or find the angle between two vectors.
Q: What is the cross product of two vectors?
A: A calculation that produces a vector perpendicular to the plane of the two input vectors.