Skip to content

BestOwl/LightGameEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LightGameEngine

Originally a coursework project of CPT205 Computer Graphics, Xi'an Jiaotong-Liverpool University

A simple and lightweight cross-platform1 C++ 3D game engine based on legacy OpenGL.

Features

  • Hierarchical Modelling
  • Texture Mapping
  • Simple physics engine
  • AABB collision detection
  • Heightmap Terrain

Demo

The Demo project implemented a 3D First-person Shooter (FPS) game. To play this game, build the Demo project and run.

Screenshots

image image

Player Instructions

Control Action
WASD move around
Mouse look around
Left mouse button shoot
Right mouse button use telescopic sight to aim
R reload the magazine
Sapce jump

Getting Started

Install Dependencies

  • freeglut 3.2.2
  • glew 2.2.0

You can use vcpkg to install these dependencies. For example:

vcpkg install freeglut:x64-windows-static
vcpkg install glew:x64-windows-static

Build

For Windows

Use Visual Studio to open LightGameEngine.sln solution.

For other OS

A CMakeLists.txt will be provided in the future.

Limitations and Known Bugs

  1. The current implementation of collision detection use brute-force algorithms.
  2. Legacy OpenGL is used per the coursework requirement. Maybe I will rewrite this project using modern OpenGL in the future.
  3. In release mode, the screen may flicker when the player moves.

Footnotes

  1. Currently, most of the engine is cross-platform ready except for PNG texture loading in Texture.cpp. If you want to use this engine in Linux or macOS, you will need to modify Texture.cpp first.

About

Lightweight cross-platform C++ game engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages