What levels of abstraction would you apply when designing a game engine for a shooter?
sobes.tech AI
Answer from AI
When designing a game engine for a shooter, several levels of abstraction can be distinguished:
-
Hardware level — interaction with graphics API (DirectX, OpenGL, Vulkan), sound subsystem, input devices.
-
Rendering — managing scene rendering, shaders, lighting, shadows.
-
Physics — collision handling, object movement, gravity.
-
Game logic — managing character behavior, weapons, AI opponents.
-
Entity-Component System (ECS) — abstraction for organizing game objects and their properties.
-
Event and message system — for communication between subsystems.
-
UI and HUD — user interface, information display.
-
Network (if multiplayer) — synchronization of state between clients and server.
This separation helps isolate responsibilities, facilitates maintenance and extension of the engine.