PCG FPS
Doom clone with procedurally generated levels. Built from scratch with C++ and OpenGL
Project page on Bitbucket
Source code for main application available as Git repository on BitBucket (libraries are included as git submodules)
Latest Build
PCG-FPS Project Version m0.22.2 compiled on 2020-05-08
git commit: 71de1efeca62ad7939efeb7fea88992b4d8d7c3d
Download
Readme
System Requirements
- Microsoft Windows 10
- OpenGL 3.3 enabled Graphics Card and driver
Overview
Project goal: develop a prototype game engine from scratch
Game
- Small first person shooter, inspired by shooting-range/practice levels
- Layout of level is procedurally generated
- construct a series of connected rooms, filled with targets for the player to hit
- Goal of the game: hit all targets and get to the exit as quickly as possible
- Statistics will be shown at the end of the game in the console window
Engine
- written in C++ from scratch
- Rendering based on tutorials from LearnOpenGL.com, integrated into one programm
- Collision and hit detection based on ReactPhysics3D
- Custom gameplay, procedural generation and engine management code
- Code for procedural generation built in separate library for versatility and portability
- Tools library for helper functionality
- Additional functions to ease debugging and analysis
Demonstration
typical scene from the demo
Room layout generated
Hit visualization
draw bounding boxes of walls and objects for debugging purposes
Shadow Mapping Demonstration. Off, Shadow Mapping, with PCF, PCF with fixed samples
Walkthrough Video
Crappy recoreded walkthrough
Tech
- Built with Visual Studio 2019 Community Edition (16.5.4) [Download Installer]
- Windows SDK Version 10.0.17763.0
- C++17
- OpenGL 3.3
- currently only x86 build supported due to limitations with third party library
- nVidia Nsight used for debugging
Used Third Party Libraries
Documentation
Documentation for three moduls FPS2, pcg and tools generated by Doxygen
FPS2 Documentation
pcg library Documentation
tools library Documentation