Skip to content

dovker/Rosewood

Repository files navigation

Rosewood

Rosewood Game Engine

Rosewood Engine is a game engine created for me to learn Graphics Programming and to learn how Game Engines work

Plan

!! THIS GAME ENGINE IS NO LONGER BEING DEVELOPED OR SUPPORTED !! My plan for this engine is to develop it to a point I can make an advanced 2D game and a simple 3D game with it, whilst learning Game Engine development, Design patterns, graphics programming, Advanced c++, problem solving.

Features

  • OpenGL Support
  • Cross-Platform (Tested on major desktop platforms)
  • 2D Rendering
  • Asset managment system
  • 2D Audio support
  • ECS
  • File system and Compression
  • Lua Scripting
  • Basic Networking

Screenshots

Lua Scripting demonstration

All the characters seen on this demonstration are being controled via a Lua Script

Lua.Scripting.demo.mov

Deferred pseudo-3D rendering

What you're seeing here is an orthographic projection of 3D paper-fold like objects being lit by a deferred lighting system, emulating a lighting system seen on Eastward

Deferred.2D.Lighting.demo.mov

Building

All Platforms

  1. If you try to make project and it fails, make sure every dependency has it's premake5.lua file, if not, you can find those files in "vendor/premakes" folder.
  2. IMPORTANT! Make sure to compile OpenSSL in the "Rosewood/vendor/openssl" directory as a Static Library (Using "no-shared" option).
  3. Open the Build Tool, located in "Tools/BuildTool.py"

Windows:

  1. Generate project files by selecting the project and generator type.
  2. Open in preferred IDE or Open Build Tool and press the Build and Run buttons if you chose gmake2

MacOS:

  1. Download Premake5 binaries for Mac OS and paste them in "vendor/bin/premake" folder.
  2. Use the Build Tool to create MakeFiles or XCode files
  3. Press Build and Run if you chose MakeFiles or open your XCode files and build there.

Linux:

  1. Download Premake5 binaries for Linux and paste them in "vendor/bin/premake" folder.
  2. REQUIRED PACKAGES: * xorg-dev * libasound2-dev
  3. Open Build Tool and create MakeFiles
  4. Press Build and Run

Libraries used