|
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.
|