Game Core


Game Core is an evolution of the now obsolete GameFramework Interface (GFI).

It is written in C++ and DirectX 11.

Game Core provides these services:
  • Keyboard input
  • Mouse input
  • Controller input (Currently XInput, DirectInput)
  • File load handling, including accessing a custom virtual file system
  • Video manager controlling DXGI, video devices, window states, events
  • Graphics loaders for various file formats
  • DirectX 11 shader loading from file or memory: Vertex, Pixel, Geometry, Hull, Domain, Compute
  • State manager: DepthStencil, Blend, Rasterizer
  • Vertex declaration manager
  • Shader and state objects handled in a single structure similar to DirectX 12 Pipeline State Objects (for future full upgrade to DX12)
  • Texture resource manager
  • Target resource manager
  • Event-driven GUI manager for buttons, list boxes, rotate lists, check boxes, radio buttons, static text
  • Utilities for maths, strings, time, memory, random numbers, etc
  • Console system with text input and script execution, cvars, log, etc
Audio is handled by a custom multi-threaded manager using Xaudio2.

Game Core is a framework system where the base code only displays test information to confirm it is running.

Game code is added to the Game space and uses the Core systems as required.