Skip to content

AlexLA99/Cookie-Engine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tonic Engine

Tonic Engine is a 3D Game Engine developed in C & C++ made by Pol Casaú and Xavi Marín, students of CITM in Barcelona during our Game Design and Development Bachelor's Degree.

Features

Windows

Hierarchy: Shows current GameObjects tree

  • Reparent with drag and drop
  • Creation and deletion of GameObjects
  • Current active Game Camera

Inspector: Shows the attributes of the selected GameObject

  • Transform, Mesh, Texture and Camera components
  • Rename and enable/disable of GameObjects
  • Change properties of the components

Console: Logs real-time information about the engine's processes

  • Autoscroll
  • Clear console and last log buttons
  • Different colors depending on log type

Configuration: Shows the properties of the engine and its rendering

  • Application, Hardware and Input information
  • Window and Rendering options
  • Camera movement sensitivity

Assets: Displays all the resources used by the engine and their information

  • Meshes, textures and models folder
  • Textures can be assigned from the folder to current selected GameObject
  • Models can be imported to current scene from the folder

State: Contains the Play menu and other important buttons

  • Move, Rotate and Scale buttons for gizmos
  • Bounding boxes buttons
  • Playmode buttons

Main Tab: Menus of all the functionalities of the engine

  • File
  • GameObject
  • Debug
  • Windows
  • Help

Functionalities

  • Resource Manager: Manages all the assets of the engine
  • Mouse Picking: GameObjects can be picked from the world using the mouse
  • Drag & Drop: Meshes and Textures can be dropped to the engine
  • Playmode: The engine enters into a simulation with the active game camera
  • Bounding Boxes: All meshes have their own AABB
  • Own file format: New meshes and textures are saved in the library
  • Frustum culling: Cameras can discard and don't draw elements outside their range of view
  • Scene Serialization: Scenes information can be saved into .json files

Extra Features

  • Docking
  • Gizmos
  • Debug Menu
  • Environment customization

Usage

Installation

Download the zip file and unzip it. Open the folder, execute the .exe and enjoy Tonic Engine!

IMPORTANT: Do not modify, change or add any folder or file (unless specified) as you might not be able to execute the application.

Camera Controls

  • Right Click: First-Person Camera
  • Right Click + WASD / QE: Move camera in different directions.
  • Shift + Movement: Duplicates camera velocity.
  • ALT + Left Click: Orbit around reference point.
  • Mouse Wheel Scroll or ALT + Right Click: Zoom in / Zoom out.
  • Mouse Wheel Drag: Move camera through the actual axis.
  • F: Focus camera to selected Game Object.

Shortcuts

  • CTRL + S: Saves the actual scene information
  • CTRL + A: Loads the saved scene
  • CTRL + R: Resets the transform of the selected GameObject
  • CTRL + T: Saves the actual transform of the GameObject to be the new default
  • W / E / R: Move / Rotate / Scale gizmo operation
  • SUPR: Deletes the selected GameObject
  • ESC: Activates/Deactivates the Exit Engine pop-up
  • ALT + F4: Closes the engine

Authors

Pol Casaú

Xavi Marín

Contact

Don't hesitate to visit:

Or contact us:

Third Party Libraries

License

Licensed under the MIT License

About

3D Game Engine using OpenGL, SDL and ImGui

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 55.7%
  • C++ 41.1%
  • HTML 2.2%
  • Objective-C++ 0.3%
  • CMake 0.2%
  • Makefile 0.2%
  • Other 0.3%