"Thera Engine" is TheraDev's own custom game development engine, built from the ground up with modern-day rendering features, an intuitive editor user interface, a straightforward development pipeline, and a simple & clean code interface for games built around it. Though closed-source, the engine and editor binaries are available to patrons who pledge $10 or more per month on our Patreon! New updates are rolled out these patrons alongside public video updates we post on YouTube every month that document recent developments.
Intuitive Editor GUI
The editor for the engine is currently under heavy development, but it is being designed with ease of use as the highest priority. I found that when using existing game engines, the workflow can be difficult to grasp on to quickly. In my opinion, this is especially true for CryEngine and Unity. I found that Unreal Engine 4 was among the easier of the three to use right away, so Thera Editor's GUI takes a lot of inspiration from its design.
Actor & Component System
Thera Engine uses a common game engine architecture: actors are entities within the world that fulfill some kind of task in the world, be it a character, a wall, or a trigger volume. Components are plugged in to actors to provide premade functionality, such as health, movement, a camera, or a 3D mesh. This reduces redundant code significantly and allows for rapid prototyping and development.
Actors and their components can have programmed default setups and behaviors, and artists can add their own components on top of that in the editor without any code. Or artists can create their own actors from scratch in the editor and write behaviors with Python scripts.
Just about everything in the engine is built upon the same base class, 'TObject'. With this base class, you can add animations that can pass an interpolated, baked, or function generated value to either a property or a method that takes one parameter with the same animated type. In basic terms, you can animate almost anything in any context and in any manner.
Currently supported keyframable types are bool, string, int, float, Vector2, Vector3, Vector4, and Quaternion, but you can derive from the 'PropAnimKeyframed' and 'Keyframe' classes and implement any other types you want to animate.
see it for yourself
Get a more in-depth look at Thera Engine's features here. This playlist consists of videos documenting new features added to the engine and editor every month.
Public documentation coming soon.
Documentation for using the editor and engine will be available for anyone to view as soon as I have the time to write sections and compile together what I currently have. The link to that will be available here when it's ready.