GithubHelp home page GithubHelp logo

georgy760 / forestengine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adrianensis/forestengine

0.0 0.0 0.0 661.17 MB

C++ OpenGL 3D Game Engine

Shell 0.11% C++ 93.33% Python 5.43% CMake 1.12%

forestengine's Introduction

README


Forest Engine

Forest Engine is a C++ / OpenGL Game Engine made from scratch with the only purpose of improving my gamedev and programming skills.

Forest Engine has been the latest iteration of my Game Engine (previously DruidEngine and before that it was ThiefEngine).

After about 10 years of learning I've decided to stop working on it and release the code on GitHub in case it's helpful or interesting to other people.

The state I leave the engine is: stable but not usable, there are still known bugs and pending tasks, so don't take this code as a reliable source of knowledge.

Build

Linux

  • First, download and install dependencies: ./scripts/dependencies.sh
  • Build project: python ./scripts/build.py -[ruixlch]
    • -h Show help.
    • -r Compile Release, Debug by default.
    • -u Compile Unit Tests suite. (NEEDED BY test.sh)
    • -i Compile Integration Tests suite. (NEEDED BY test.sh)
    • -x Compile Tools.
    • -l Enable Logs.
    • -c Clean the project.
  • Run unitary tests (optional): ./scripts/test.sh
  • Generate documentation (optional): ./scripts/doc.sh

Windows

Not available yet.


Directories

  • code: Source and Headers.
  • config: Engine and scenes config files.
  • scripts: Contains scripts described above.
  • compiledLibs: Contains the libForest.a. Generated by scripts/build.py.
  • binaries: Generated by scripts/test.sh.. Contains the test executable files (both unitary and integration).
  • test: Set of tests. Unitary and Integration.
  • tools: Set of tools.
  • dependencies: Generated by scripts/dependencies.sh. Contains third party libraries.
  • build: Generated by scripts/build.py.

Unitary Tests

Run unitary tests with ./scripts/test.sh. Result are stored in binaries/output. This command will print the results in terminal.

Integration Tests

Run integration test by executing ./binaries/test_integration. Result is stored in log.txt.


Devlogs

Here in my blog you can find all the devlogs of my Game Engine, from 2D initial stages to the latest 3D version: Devlogs


Characteristic

  • OpenGL 4.x
  • Batching
  • Shaders
  • Support for Texture Atlases
  • Animation using Spritesheet
  • Chunks
  • Simple UI
  • Scene management
  • Perspective / orthographic camera
  • Stencil
  • Math module
  • Simple scripting
  • Loading 3D models with GLTF

forestengine's People

Contributors

adrianensis 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.