A simple FPS engine that uses GLFW 3 for the graphics and input. It's distributed under the GPLv3.
The early version of the engine was used as a prototype to test the feasibility of a homemade OpenGL engine for KillBox.
It's now under development. The goal is to create a new engine that's better than the KillBox engine.
It's called the MeshGlide engine. It's due to the way it's optimized. The player "glides" from polygon to polygon. The data structures are simple and the game runs very fast due to the tiny amount of calculations that have to be made in order to keep track of the player.
Packages that need to be installed under Debian and Ubuntu are: libglfw3-dev libsdl2-image-dev libsdl2-dev libczmq-dev
.
Under Open Suse 15 Leap, these packages need to be installed: libglfw3 libglfw-devel libglut3 freeglut-devel libSDL2-2_0-0 libSDL2-devel libSDL2_image-2_0-0 libSDL2_image-devel czmq libzmq5 cppzmq-devel
Compile on Linux: g++ *.cpp -std=c++11 -lglfw -lGL -lGLU -lSDL2 -lSDL2_image -lzmq -o MeshGlide
It's preferable to compile and run the program using the run.sh
script because it's tested, but this should work too.
1rst, install bazel https://docs.bazel.build/versions/master/install.html
Then :
bazel build //Project:MeshGlide
The following files were taken from the Freedoom project. See their license.
- Player sprites: playa1.png, playa2.png, playa3.png, playa4.png, playa5.png, playa6.png, playa7.png, playa8.png
- Shotgun sprite: shota0.png
- Rocket launcher sprite: launa0.png
- Minigun sprite: mguna0.png
- Bullet puff: puffa0.png, puffb0.png, puffc0.png, puffd0.png
- Door texture: door9_1.png