czeros003 / CookieEngine

custom game engine written in C++

Home Page:https://github.com/czeros003/CookieEngine/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cookie Engine ๐Ÿช - Game Engine implementation using OGRE renderer

Wojciech Czerski - PJAIT - Engineering Thesis

Alt text Alt text

What it is?

Hobby project:relaxed:
Simplified "game engine" created with Ogre-next bleeding edge renderer with ImGui as editor UI. Works with OpenGL and DirectX. This is a complete base made of HDR-MSAA sample showing potential possibilities of creating own game engine.

Purpose

Created for an engineering thesis and research purposes, based on this project. MIT license.

Usage

You want to create your own game engine, don't know where to start, how to use graphics API, backend systems etc.
This is a extendable project where you can implement your own UI, game logic, styles, layers and go further like adding scene loader. Easy to use, includes a lot of samples from which you can understand how it works.

Future

I'm planning to continue this project adding more logic to it, so it can became fully called Game Engine (as the goal is to create games with it).
Upcoming features :

  • Extended & Fixed Actor Transform
  • Variations of different Scene Objects
  • Loading custom textures, meshes
  • Full Task Bar options (Save, Undo, Redo)
  • Scene Loading/Saving
  • Physics Engine (like Bullet or PhysX)
  • Debugger

Why Cookie ๐Ÿช?

Why not ๐Ÿ™‚? It have many things in common

  • I like cookies ๐Ÿ˜‹
  • Everybody like cookies
  • Easy to use and understand, like cookie recipe
  • Impatiently waiting for the baking result
  • Expecting to be amazing
  • The outcome is sometimes a little bit overrated

How to install?

Create folder where you want to keep project, for example

root/..

Create Dependencies folder where you keep all additional libraries.

root/Dependencies/..

Move there downloaded libraries ImGui, OGRE-next.

OGRE

For OGRE and it's dependencies do build with this tutorial step-by-step or follow steps below
https://ogrecave.github.io/ogre-next/api/latest/_setting_up_ogre_windows.html#BuildingOgreWindows
Configure Ogre and it's dependencies with CMake (use CMake GUI or -make from console). Firstly install / build dependencies for ogre-next-deps you downloaded. Compile for Release and Debug! Then do the same for ogre-next. Alt text Alt text Alt text

Secondly include SDL2 build library to Release folder in bin...
To run DirectX add amd_ags_x64.dll
Add Ogre Atmosphere.dll, resource.cfg to bin\release..
Alt text

Clear %AppData%/CookiEngine to clear run config witf resource.cfg

ImGui

Works out-of-the-box. If not, please add CMakeLists with ImGui lib definition to Dependencies folder. Then include it in main CMakeLists.

Special thanks

For creating imgui integration files and implementation: https://github.com/edherbert/ogre-next-imgui

Execution build

After proper installation hit compile on release version. For more info / errors fix ping me.

About

custom game engine written in C++

https://github.com/czeros003/CookieEngine/wiki


Languages

Language:C++ 80.9%Language:CMake 8.0%Language:C 7.5%Language:Objective-C++ 2.5%Language:Objective-C 1.0%