Sekam Engine

Developer: Sekamelica
Engine: Sekam Engine

Genre: Game Engine
Status: Abandoned (2022)
Platforms: Windows

The Sekam Engine is a game engine made in C# to learn and experiment.
The only libraries used are OpenTK for OpenGL and Newtonsoft for Json serialization.

Features:

  • Handle graphical window using OpenTK.
  • Game loop (logic/render).
  • Inputs handling.
  • Maths (Vector2, Vector3, Vector4, 4x4 Matrixes).
  • Scene tree with entities with components.
  • Shader and materials handling. They features:
    • Special file format to handle vertex shader and fragment shader in the same file (similar to Unity's surface shader).
    • Textures and normal maps.
    • Lighting (Ambiant, Specular, Diffuse) and Emissive.
    • Text rendering.
    • Camera and lighting data buffers.
  • Orthographic and perspective cameras.
  • Forward rendering pipeline: Display 3D models, texts, and user interfaces with their materials seen by cameras on screen, optimizing as much as possible the buffers to avoid draw calls.
  • Serialization and deserialization of scenes to save game scenes.
  • Creating a bitmap file importer to handle text fonts.
  • Creating text components generating 3D models of text optimized for rendering.
  • Creating an .obj file importer to handle 3D models.
  • Creating a custom immediate mode GUI library handling quad, texts, toggles, buttons and scrollbars.
  • Audio Player.
  • Basic freecam controller to test scenes.

Screenshots

sekamengine pic 1