A 3D Game engine for Small to Medium-sized games with a LUA Scripting interface. written in C++ with a simple, Good looking interface.
Go to file
2025-01-06 13:52:46 -06:00
.vscode Created basic Window and docking system 2024-12-24 23:19:49 -06:00
assets Fixed Images 2025-01-04 22:20:43 -06:00
lib Changed engine to need to require engine 2024-12-29 14:33:35 -06:00
scenes Added Escape To desellect 2025-01-04 23:21:26 -06:00
src Fixed Stupid Compilation errors. 2025-01-06 13:52:46 -06:00
vendor Added Submodule 2025-01-02 14:36:22 -06:00
.gitignore updated git ignore to keep ini files 2024-12-25 19:10:59 -06:00
.gitmodules Added Submodule 2025-01-02 14:36:22 -06:00
imgui.ini Updated Input Handler 2025-01-06 12:43:18 -06:00
LICENSE Initial commit 2024-12-25 04:33:18 +00:00
lua54.dll Added Script Component 2024-12-27 15:27:05 -06:00
lua54.lib Added Script Component 2024-12-27 15:27:05 -06:00
Makefile Added release Build Options 2025-01-05 18:41:30 -06:00
README.md Fixed Version Number 2025-01-04 22:32:47 -06:00

Tesseract-Engine

A 3D Game Engine for Small to Medium-sized Games

Lua C++ Version License

Tesseract-Engine is a lightweight and powerful game engine designed for developers working on small to medium-sized projects. With a simple and visually appealing interface, it offers a LUA scripting environment and is built in C++ for optimal performance.

Join The Discord! https://discord.gg/qAc4RrYH


Features

  • User-Friendly Interface: Simplifies the game development process.
  • Lua Scripting Support: Integrates Lua for customizable and flexible scripting.
  • Engine Tools: Includes utilities like a profiler and playback system.
  • High Compatibility: Supports various asset formats, including OBJ files and dynamic textures.

Tools and Libraries Used

  • ImGui: For UI creation.
  • GCML: General C Macros Library
  • DLL-Extractor: For managing and extracting DLL dependencies.

Development History

Note: Screenshots are sorted by version.

Version 0.0.131

Updates:

  • Added Guizmos
  • Added Mesh Visualisers
  • Added Global Settings
  • Lua Changes
    • Added Intelisence Headers for Engine and KeyCodes
    • Changed Lua require to not need a path
  • Added Culling
  • Fixed GLCalls Count
  • Removed Unused Code (TestMesh.cpp)

Screenshot:

Version 0.0.102

Updates:

  • Added More Themes
  • Added Engine.KeyDown()
  • Added KeyCode "Returns a Bool if the key is down"
    • local KeyCode = require("keycode")
    • KeyCode:Space
    • KeyCode:A
  • Fixed Primary Camera on Load
  • Remade Transform Inspector
  • Remade Camera Inspector
  • Remade Play/Pause Button
  • Added -DTIMERS to include more Profiler Timers (May slow down Engine)
  • Remade Mesh Componenet Inspector to be cleaner

Screenshot:

Version 0.0.93

Updates:

  • Added support for OBJ Files with MTL Textures
  • Optimised OBJ Importer
  • Added Engine.Expose("var name", <local var>)
    • This Exposes a variable to the editor GUI
  • Made the LUA Engine be a require("engine")
  • Remade Profiler to be more readable

Screenshot:

Version 0.0.76

Updates:

  • Engine Profiler: Visualize frame resource usage for optimization.
  • Playback System: Start and pause gameplay with automatic scene saving and restoration.
  • Lua Math Library: Includes math.lua for advanced calculations.
    local Math = require("math")
    
  • Temporary File Access: Added C++ function to create temporary files.

Screenshot:


Version 0.0.68

Updates:

  • Script Component: Enhanced Lua scripting integration.
  • Lua Editor (WIP): A basic Lua script editor.
  • Lua Binding: API for interfacing Lua with the engine.
    Engine.GetGameObjectByTag("")
    Component::GetComponent("")
    Engine.Log("")
    Transform:SetPosition(vec3)
    Transform:SetRotation(vec3)
    

Screenshot:


Version 0.0.50

Updates:

  • Texture Preview: Automatic texture and model loading.

Screenshot:


Version 0.0.45

Updates:

  • OBJ File Support: Added compatibility for OBJ asset files.

Screenshot:


Version 0.0.37

Updates:

  • Dynamic Texture Support: Enhanced texture management and rendering.

Screenshot:


Version 0.0.33

Screenshot:


Version 0.0.23

Screenshot:


Version 0.0.15

Screenshot: