Skip to content

CybernetHacker14/Sentinel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ICON

Sentinel

C++14 Game Engine

C++ Β Β  DX11 Β Β  Premake Β Β  Python Β Β  Windows






πŸ“° Description:

Sentinel is a C++14 based game engine, with DirectX 11 currently as it's primary rendering API. Stemmed from the understandings and short comings of my previous work Ghost Engine, this engine is more focused on establishing a good architecture, proper editor-to-runtime pipeline, ease of use, and ultimately to develop the engine into something which can be used to actually make and ship small games instead of being another non-functional portfolio project/ defunct project.

Sentinel follows the Orthodox C++, or C-flavored C++ paradigm, where not a lot of modern C++ features are used, in order to make code as easy and straightforward to understand as possible.


πŸ—’οΈ Features:

Application Graphics
  • Python + Premake build system setup
  • Terminal logging, with printf-style formatting
  • Multi-cast Event system
  • Input polling
  • Platform Agnostic Input codes
  • SIMD/custom Math operations
  • Basic ECS support using flecs
  • Scene serialization/deserialization
  • Archive I/O support
  • File I/O and Filesystem operations
  • Context and Swapchain creation
  • Buffers (Vertex, Index, Constant)
  • Shaders
  • Textures
  • Vertex Layouts using reflection
  • Render-Textures and Depth-Textures
  • Framebuffers
  • General-purpose in-world camera
Editor Ongoing
  • Custom title-bar window
  • ImGui Dockspace
  • ImGui Viewport
  • Scene Hierarchy Panel
  • Device Information
  • Development of scene rendering
  • Archive-based data loading pipeline
  • Resource loading from custom binary files
  • More ECS components

🎞️ Screenshots:


πŸ”– Prerequisites:

πŸ–₯️Hardware
Operating System Windows 10 or Windows 11
Graphics Support DirectX 11 (Feature support 11_0 or above)

πŸ’ΏSoftware
Visual Studio 2022 or 2019 Download Link Install Desktop Development with C++ workload option
Python 3.3 or higher Download Link Install requests package from pip

⬇️ Cloning:

  1. Execute following git command in CLI to a local destination:
    git clone https://github.com/CybernetHacker14/Sentinel.git
  2. In the cloned folder, execute following git command in CLI:
    git submodule update --init

  • Alternatively, execute following git command in CLI to a local destination:
    git clone --recursive https://github.com/CybernetHacker14/Sentinel.git

βž• Project Creation:

  • For Windows: Execute the Setup.bat file present in the Scripts folder and follow instructions. This will create a new Visual Studio solution in the outermost directory.
⚠️   Currently, only Premake option works. CMake build scripts aren't updated for latest changes

πŸ“ Tech Stack:

Supported OS Supported IDEs Languages Used
  • Windows 10
  • Windows 11
  • Visual Studio 2019
  • Visual Studio 2022
  • C++14 (Engine + Editor)
  • HLSL (Shader language)
  • Lua (Premake)
  • CMake
  • Python (Setup)
External Libraries
glfw/GLFW USCiLab/cereal SanderMertens/flecs
ocornut/imgui zlib-ng/minizip-ng nothings/stb_image
Tessil/sparse-map g-truc/glm