Skip to content

Latest commit

 

History

History
62 lines (37 loc) · 3.56 KB

README.md

File metadata and controls

62 lines (37 loc) · 3.56 KB

MeshGlide

Top Language Code Size License Codacy Badge CircleCI

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.

Development

Installation

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: libglfw-devel freeglut-devel libSDL2_image-devel cppzmq-devel.

Compile

Compile on Linux: g++ *.cpp -std=c++14 -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.

Creating new levels

MeshGlide has a native format, but also supports the OBJ format (with slight modifications). Refer to this wiki page for more details.

Credits

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
  • Blood sprites: bluda0.png, bludb0.png, bludc0.png
  • Plasma sprite: aplsa0.png

MeshGlide uses code from CollisionDetection written by Jeff Thompson. The code is used in line.h. Permission has been granted to use and redistribute it under the GNU GPLv3 which is the same license as MeshGlide. The original license for this code was CC BY-NC-SA 3.0.

Screenshots

Version 0.47

screenshot_2018-09-02_22-38-51

Version 0.39

screenshot at 2018-05-10 21-06-32

From an older version

screenshot at 2017-12-18 19-50-42