Git Product home page Git Product logo

bloodfarmers's Introduction

Blood Farm

A game.

Sample Game

Building

Make sure you have SDL2 and GLEW installed and clone the BloodFarm repository:

git clone [email protected]:danielytics/BloodFarm.git
cd BloodFarm
git submodule update --init

You then need to compile and install Bullet:

cd deps/bullet3/build3
cmake ..
make install
cd ../../..

Finally, build this repository:

cd build
cmake ..
make

You can now run the BloodFarm binary from the project root.

Note that it will fail on startup if the data files are not found in the game directory or game.data file. You can override this to load the sample game:

./BloodFarm --init sample.toml

This will load the sample data instead:

  • sample.toml contains the sample game configuration, used to configure the engine.
  • sample/ directory containing the data files for the sample game.

Alternatively, you can replace the init.toml file with the sample.toml file.

Commandline arguments

BloodFarm accepts a number of commandline arguments:

  • -d or --debug - Enables debug rendering (only in debug builds)
  • -p or --profiling - Enables basic in-engine profiling (only in debug builds)
  • -l <level> or --loglevel <level> - Sets the log level, valid values for <level> are off, error, warn, info, debug, trace (debug and trace are only available in debug builds)
  • -i <file> or --init <file> - Sets the TOML init file to load, by default loads init.toml

Dependencies

Engine dependencies:

  • OpenGL 4.1
  • EnTT - Entity Component System (MIT License)
  • SDL2 - Windowing & Input (ZLIB License)
  • GLEW - OpenGL extension library (Modified BSD & MIT Licenses)
  • GLM - OpenGL Mathematics library (The Happy Bunny/Modified MIT License)
  • spdlog - Fast logging library (MIT License)
  • LuaJIT - Lua bindings and JIT runtime (MIT License)
  • FastNoiseSIMD - Library of various SIMD-optimised noise functions (MIT License, note: Simplex noise is patent-encumbered when used for texture generation)
  • PhysicsFS - Library for filesystem abstraction (zlib License)
  • PhysFS++ - C++ wrapper for PhysicsFS (zlib License + notes)
  • Catch2 - C++ testing library (Boost Software License)
  • cpptoml - TOML data file loader (MIT License)
  • dynamiclinker - portable dynamic library loader (MIT License)
  • stb_image - Image loader (Public domain)
  • semimap - A semi compile-/run-time associative map container (MIT License)
  • Bullet Physics - Physics engine (zlib license)
  • cxxopts - Lightweight C++ command line option parser (MIT License)

Tooling dependencies:

  • Assimp - Asset importer (BSD License)
  • Python (3+)

All of the dependencies, except for SDL2, GLEW and OpenGL come packaged as git submodules within this repository, in the deps directory.

License

The Blood Farm game source is released under the terms of the MIT License.

The game data files are not included under this license and you must have a valid license in order to run the complete BloodFarm game. The sample game (found in the sample/) directory is released under the terms of the MIT License and can be used as an example of how the engine works and a basis for your own games.

bloodfarmers's People

Contributors

danielytics avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.