ET3D is a fully Functional 3D engine featuring collision, rendering, animation, integrated 3rd party sound (FMOD), and terrain manipulation that is able to be easily manipulated with script and an implicit GUI system.

The ET3D Engine started out as a single core engine developed by Eric Tennant with the purpose of creating a number of desired games, such that of Unreal or Torque game engines. This engine has the support of 2D assets systemically named GUI for ease of 3D manipulation of models and terrain. The GUI is the core of the engine as it manipulates the object placement, orientation, and size that will be controlled mainly by script. The scripting of the engine is the corner stone, as all systems will be scripted for ease of manipulation without affecting the build of the solution. The script is originated from Lua and ET3D’s custom scripting language developed by Eric Tennant. The GUI and majority of systems will be scripted in Lua while reserving the map levels using ET3D’s own scripting language. This paper will outline the core features presented by the Engine in its most current form and will be divided amongst: core features, GUI features, Level Editor features, 3D manipulation features, terrain, media compatibility, and the now omitted GUI Editor.

Core Features:

The core features of ET3D has the sole purpose of governing other systems to properly and easily create, modify, and load different game projects. GUI is a core feature that will be discussed independently.

Collision is a major corner stone in any game project that is supported in both 2D and 3D environments, as it is relevant to game-play and GUI action event logic. A Ray is used to calculate the selection for greater control and ease of use between 2D and 3D objects. The Level editor also employs a gizmo based on the gizmo in 3dsmax that manipulates on the X, Y, and Z axis for in-environment selection and manipulation.

GUI Features:

The GUI is the corner stone of the Engine as it is inherently related to everything else in the engine. Following the design pattern specified in the ET3D Technical Document page 6, the GUI follows a hierarchal order from the most basic items, such as a label, to the more complex items of grouping and windows. Each item in the hierarchy servers a specific purpose and function allowing for ease of understanding and in-turn practical use of these items in the Engine itself. A list of items will be presented below to name and show what the Engine is capable of in terms of Graphic-User-Interface. The graphical end of the GUI will be completely customizable to the user that will be able to quickly and easily load any scheme of textures to their game project. Since all systems are affected by script, the textures are no different. All GUI items’ textures can be changed as long as the necessary file is in the designated GUI folder of your game project.

GUI Items

Picture Display picture at any location, and UVW.

Button When the user has their mouse over it graphic it highlight with a color, then if user hit the left mouse button it fires a event, and show it hit color.

Textbox Picture with text in front that can be edited with the keyboard.

Label Are textbox that have mod methods to make it act read only and has many modes of display.

Checkbox Picture and bool. When bool check it put a graphic on it to show that it is check. The textbox also uses it own labeling system

Menu When the menu is click it will show all sub-menus that it has.

ListBox A list of text items displayed in a box.

Sub-Menu Each sub-menu is an item pass to a menu or listbox item when created.

Group Simple class that groups items together to enable/disenable or move them as a group.

ToolTips A label that is called and updated to the mouse cursor when over an item that has a tooltip. Help users know what that item is for.

Level Editor Features:

The level editor is the composite of the script and GUI to give maximum ease of effort to effectively create a game level in short timing. This would allow for the creation of models or artifacts and architecture within the game environment to create any desired atmosphere provided you have the atmospheric artwork (models and textures) for that desired game environment. The models have a number of manipulation controls that can transform any model on the X, Y or Z axis in terms of scale, rotation, and movement. Physics can be applied to any object or can be eliminated from any object to cut down on system calculations and performance and to allow for total control over any object in the environment itself. Gravity has a limit to its affect based on the Terrain of the environment or other models affected by gravity on the terrain with collision.

The terrain itself has a number of controls and game-play manipulations on the camera and objects in the environment to allow for complete emersion into the game environment by manipulating and calculating the camera (player) position and view to retraining the camera from being able to go below the terrain. The terrain has a painting system built in that allows for multi-textured terrains that are great for paths and roads. The terrain also has height manipulation to create towering mountains or crevassing canyons.

The editor allows designers to place lights anywhere in the scene and to specify the type of light they desire to use (directional, spot, and point lights). The lighting can be manipulated just as other objects within the environment that is controlled by the GUI via script.

Sound API (FMOD)

Like all games that have sound, ET3D Game Engine will have built in sound that can support mp3 and wav file types that can be changed via script.