GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - quentin-dev/microengine: A simple C++ game engine

BranchesTags
Open more actions menu

Latest commit

 

History

26 Commits
26 Commits

Folders and files

NameName
Last commit message
Last commit date
config
config
 
 
media/img
media/img
 
 
src
src
 
 
.gitignore
.gitignore
 
 
.gitlab-ci.yml
.gitlab-ci.yml
 
 
CMakeLists.txt
CMakeLists.txt
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 

Repository files navigation

µEngine

A simple C++ game engine

Badges

Codacy Badge Gitlab CI Pipeline Badge

Goal

My goal when writing µEngine was to learn about the internal workings of a game engine. µEngine aims mostly to be easy-to-understand. This is certainly not an attempt at a performance-driven or highly-configurable game engine.

Features

Current

  • C++20 compliant
  • Configurable settings
  • Command line arguments
  • Uses a modern build system

Upcoming

By order of likeliness:

  • Configurable levels
  • Cross-platform

Dependencies

µEngine

  • SFML
  • Boost Property Tree
  • Boost Program Options

Documentation

  • Doxygen

Usage

Command line arguments

  • --help: display µEngine options
  • --settings-file: path to the settings file - defaults to config/settings.toml
  • --settings-format: format of the settings file - defaults to 'toml'
  • '--dry-run': only run the set up and tear down steps
  • '--disable-graphics': disable the graphics manager

Settings

The settings in config/settings.toml correspond to the following table:

Section Name Type Default value
graphics width int 640
graphics height int 480
graphics windowName std::string "MicroEngine"
graphics framerateLimit int 60
graphics enableVsync bool true
graphics fullscreen bool false

Building

µEngine

The "official" build system for µEngine is CMake, but the Makefile is there to provide "aliases" to avoid typing long commands every time.

The usual build steps go like this:

  1. Install dependencies
  2. Clone the repo
  3. make release or make debug depending on what you want
  4. ./build/µEngine

Otherwise you can always follow the typical CMake build steps:

  1. Install dependencies
  2. Clone the repo
  3. mkdir build && cd build
  4. cmake .. && make
  5. ./µEngine

Documentation

  1. Install dependencies
  2. Clone the repo
  3. make doc
  4. Open build/html/index.html with the web browser of your choice

References

A big thanks to the following:

  • Game Programming Patterns
  • Game Engine Architecture Vol. 3
  • awesome-cpp
  • awesome-modern-cpp

About

A simple C++ game engine

Resources

Readme
Activity

Stars

1 star

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.