Skip to content

My own C++/OpenGL game engine. In development...

License

Notifications You must be signed in to change notification settings

ssiltanen/Blocker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blocker

Sampo Siltanen 2017

Blocker sets out to become Minecraft-like game that is built with my own game engine based on OpenGL 3.3.

The main purpose of this project is for me to learn to use OpenGL. The secondary objective is to produce a project with professional standards. To achieve these standards, I intend to pay close attention to code quality, efficiency, architecture, project management, branching, testing, documenting, DRY principle, and Design by Contract principle. Because C++ does not support DbC, I implemented my own contract enforcement logic.

In order to keep documentation up-to-date, it is automatized with doxygen. In the spirit of DRY, contract and function documentation is kept up-to-date by using CodeCommenter script ( https://github.com/nanhasa/CodeCommenter ) that creates documentation based on the actual code and contracts in it.

Contents:

  • Assets: Holds the original formats of assets used in this project
  • Docs: Holds doxygen template and codeCommenter script described above
  • Game: Holds self-contained version of the game
  • Libs: Holds libraries used in building the game
  • Scripts: Holds scripts used to build and update project
  • Source: Holds source files and includes used in this game
  • Temp: Holds all the intermediate files used in building the game
  • Test: Holds everything that concerns testing the game

How to build:

To enable build event scripts and documentation generation (optional):

Build dependencies

  • Set release build multi-threaded dll
  • Set debug multi-threaded debug dll
  • Only win32 target is supported
  • Place .lib files to Libs/x86/[Debug|Release]/

Following above instruction build

Add main project dependency include files to Source/3rdParty/x/

  • glew (x = GL)
  • glfw (x = GLFW)
  • glm (x = glm)
  • rapidjson (x = rapidjson)

Add test project dependency include files to Test/Source/3rdParty/x/

  • googletest (gtest)

If Blocker is being run through Visual Studio:

  • In Visual Studio, change the working directory for Blocker project Settings > Project Settings > Debugging > Working Directory to $(TargetDir)

For unit tests in Visual Studio:

  • In Visual Studio, change the working directory for BlockerTest project Settings > Project Settings > Debugging > Working Directory to $(TargetDir)

About

My own C++/OpenGL game engine. In development...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages