Skip to content
OpenGL 3.x based game engine and sample games
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
GnomeEngine4
MiniGolf
Pool
glut
images
.clang-format
.gitignore
GnomeEngine.sln
LICENSE
README.md

README.md

Gnome Engine

A basic game engine (OpenGL 3.x) designed for games with physics for balls.

Core Engine Components

The general functionality for the engine is arranged in to the following areas:

  • Camera
  • Level Definition and Management
  • Math Library
  • Menu/HUD System
  • Other Utilities

MiniGolf

MiniGolf Game This is a sample game for the engine. The game is laid out as a series of holes with the par score that the player needs to achieve.

The main application source is in the Game\game.cpp file. The file contains delegates for OpenGL rendering and input handling.

Pool

Pool Game This is another sample game for the engine, and has a 15-ball pool table layout.

The main application source is in the Game\game.cpp file. The file contains delegates for OpenGL rendering and input handling.

How to build and run

The solution and projects work with Visual Studio 2017. Simply open the solution and build to generate the binaries, which will show up in the root folder under build.

MiniGolf and Pool each needs a data file (which contains the level definition) as an argument to run. Hence, to run MiniGolf, execute the following command:

MiniGolf Data/course.db

And to run Pool, execute the following command:

Pool Data/course.db

However, to simply the process, .bat files are included in the release versions that would run the games directly (MiniGolf.bat and Pool.bat).

How to play

The games use a third-person camera to allow the player to look over the ball towards the direction where the arrow is pointing.

  • & to rotate the input arrow's direction.
  • Space will shoot the ball in the direction the arrow, with the power represented by the power meter in the top-left of the screen.
  • F1 toggles Full Screen functionality (by default the app will start in windowed mode).
  • Esc to show the main menu.
  • t/T will move the ball in the upwards. This is only for debugging if the ball bouncing works.
  • m/M will replicate the Space behavior, but also adds vertical impulse to the ball. Again, this is only for debugging if the ball bouncing works.
You can’t perform that action at this time.