Sobes.tech
Junior — Middle

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:

  1. Hardware level — interaction with graphics API (DirectX, OpenGL, Vulkan), sound subsystem, input devices.

  2. Rendering — managing scene rendering, shaders, lighting, shadows.

  3. Physics — collision handling, object movement, gravity.

  4. Game logic — managing character behavior, weapons, AI opponents.

  5. Entity-Component System (ECS) — abstraction for organizing game objects and their properties.

  6. Event and message system — for communication between subsystems.

  7. UI and HUD — user interface, information display.

  8. Network (if multiplayer) — synchronization of state between clients and server.

This separation helps isolate responsibilities, facilitates maintenance and extension of the engine.

What levels of abstraction would you apply when… - sobes.tech