Skip to content

karamellpelle/open-forest

 
 

Repository files navigation

Open Forest

This was originally a fork of an orienteering game I found on GitHub, "Beat About The Bush, but it is now completely rewritten. The old game is still runnable through Open Forest, but then the project will have more dependencies in order to build (i.e. plib).

My intention has been to build up a foundation for an open source orienteering game. Despite the sport of orienteering is small, there are multiple commercial orienteering games available (Catching Features, Suunnistussimulaattori, Oriantica). I don't see the point of having so many commercial games for something that probably will not generate enough money for a high-end product. And there are many good programmers/developers in the orienteering community.

Here are some screenshots of terrain.

This project builds (on macOS High Sierra as of June 2018) and the libraries are up and running, so collaborative development is absolutely possible. But I should have finished some more work first (I'm in lack of time). The program's structure is based on how I've been writing functional games in Haskell. The thing is to abandon the traditional "main loop" and consider a game as a World (with subworlds) that is iterated by Iteration's. See computergames.pdf. This makes the program flow a lot easier to implement and opens up possibilites that are complicated to do with a traditional main loop. It can be considered as a MVC pattern where World is the model, and Iteration's are control and view.

Ogre3D is used for 3D rendering. It has very good forest rendering capabilities, for example see this Ogre3D based game: clip A, clip B, clip C.

Programming

We shall do modern programming (OpenGL 3.3 Core, C++14, new open source libraries etc.)

Libraries

Below are suggestions of open source libraries to use. Please add (better) alternatives.

Currently, GLFW, Ogre, nanovg, turbobadger, ALURE, YAML, tinyxml2, GLM are up and running.

Building

macOS

As of 28 May 2018, this project builds and runs on macOS High Sierra (using Ogre3D v1.11). Use homebrew to install the dependencies:

$ brew install cmake
$ brew install glew
$ brew install boost
$ brew install mpg123
$ brew install libzzip
$ brew install freeimage
$ brew install freetype

It also depends on git submodules. Run

$ git submodule init
$ git submodule update

the first time pull in these.

Building can then be done with

$ ./build.sh

which creates a program you can run with ./open-forest.sh. (Afterwards you can use ./build.sh make-openforest to only build the program source).

Contact

[email protected]

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.8%
  • C 2.4%
  • CMake 1.3%
  • Other 0.5%