jbatnozic / Hobgoblin

A simple C++ game engine built with SFML.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hobgoblin

Hobgoblin is a small game engine, intended to serve as a basis for small and games. It provides often-needed facilities such as object and timing measurement, graphics, physics, networking and various other utilities.

It is written in C++20 and uses SFML as the core for many of its features.

It is tested most thoroughly on Windows (built with MSVC), and semi-regularly on Linux and Mac (built with Clang and GCC). Basically: It should work without issue on major platforms and major compilers.

Concept

The idea is that when you're using Hobgoblin, you use it in two parts: The Core and an Engine Overlay. The core provides a collection of generic and modular tools for various things needed in game development, and then an Overlay is put on top to tie them together into a cohesive whole and something that looks more like what you'd expect from a game engine.

Directories

Here you will find:

  • EngineCore: The core of the engine.
  • Overlays: Various ready-to-use Overlays that can be combined with the core.
  • ProjectSkeletons: Standalone projects that you can copy to quickly get started with making a game with Hobgoblin.
  • ProofOfConceptProjects: Projects which are used either to develop future Hobgoblin features, or depend on Hobgoblin and serve as showcases and examples of its usage. They also test whether the API is user-friendly, so they are placed in the same repository for faster development in case something needs to be changed.
  • Scripts: Various helper scripts for building and exporting the engine.

Most of the directories have their own Readme file which describes relevant contents in more detail.

Build instructions

If you don't already have it, you will need to install the package manager Conan (version 2.0.0 or higher) in order to be able to fetch all of Hobgoblin's dependencies and build it successfully. Other than that, you will need CMake (version 3.23 or higher) and a C++ compiler that supports C++20.

1. Set up Conan Remotes
2. Get dependencies
3. Build the core
4. Build an overlay
(Instructions are Work-in-progress)

About

A simple C++ game engine built with SFML.

License:Microsoft Public License


Languages

Language:C++ 94.5%Language:C 5.0%Language:CMake 0.3%Language:Python 0.1%Language:Batchfile 0.0%Language:Shell 0.0%Language:GLSL 0.0%