indusninja / gnome-engine

OpenGL 3.x based game engine and sample games

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

OpenGL 3.x based game engine and sample games

License:Other


Languages

Language:C++ 83.3%Language:C 16.7%