• Register

The Most Powerful, Free and Open Source Game Engine in the World

Post feature Report RSS Feature List

Feature List for Esenthel Engine. Key features : simplicity speed stability visual effects physics constantly evolving tons of useful functions. Detailed features: ...

Posted by on

Key features
simplicity
speed
stability
visual effects
physics
constantly evolving
tons of useful functions

Detailed features
AI
pathfinding (2d polygon based)

Animation System
skeletal
keyframed
multiple animation blending
events
highly compatible (one humanoid animation works on all humanoid skeletons)
creating animations in Mesh Editor tool
importing animations from external programs (3d Studio Max, Maya, XSI, Blender) through .x format

Camera
support of 4 cameras - Fpp, Tpp, Isometric, Custom
camera effects - quake, dizzyness
automatic frustum calculation for geometry culling

Geometry
calculating surface area, volume, distance between, multiple transform operations (moving, rotating, scaling, transforming by matrix), basic collision detection, drawing of
plane
point (2d/3d)
edge (2d/3d)
triangle (2d/3d)
quad (2d/3d)
rectangle
box
oriented box
circle
sphere
capsule
tube
torus
cone
pyramid

Graphics
color rgb, hsb (hue, saturation, brightness), opacity, inverse, adding, lerping
gamma calibration
4:3, 5:4, 16:9, 16:10 or custom screen aspect support
shader model 2.0, 3.0 supported
vertex buffering for simple graphics drawing (images, gui elements, geometry objects, ...)
anisotropic filtering, mip-mapping, synchronization, windowed / fullscreen
screenshot taking
custom font creation
font drawing with shadows
textures supported L8, A8, A8L8, X8R8G8B8, A8R8G8B8, DXT3, DXT5, ...
texture lock, unlock, crop, blur, downsample, pixel set, get
bump to normal map conversion
importing bmp, png, jpg, tga, dds
point, directional, cone lights
occlusion query support
particle system (based on a single shape, or animated skeleton)
viewports, rendertargets (with support of high precision formats)
smooth fading between screens
2d effects - subtitles, ripple, fade using fade texture

GUI
custom GUI, with support of - button, checkbox, combobox, context menu, desktop, custom element, image, menu, tabs, text, viewport, list, progress bar, region, slidebar, slider, textline, window, window IO (file/dir selection)

Input
keyboard, mouse, joypads
detecting key states, key pushes, key releases, key double clicks, and key combos
mouse rectangle clipping, driver disabling, hardware pointer

IO
custom file object class, with support of reading & writing - binary, text, xml files, from memory, file or file inside file wth data encryption
detecting file / directory information, file / directory searching, file / directory creating / deleting, operating on all files inside directory
data packing to one big PAK file (keeps directories structure, automatically sorts files for faster accessing)
drives detection (hdd, cd..)

Mathematics
math operations - minimum, maximum, average, abs, saturate, sign, trunc, round, ceil, floor, frac, align, sqr, cube, sqrt, cbrt, pow, ln, log2, sin, cos, sincos, tan, ctan, acos, asin, atan, angle, linear interpolation, hermite interpolation, power interpolation, equation solving of 0th, 1st, 2nd and 3rd degree
vector (2d, 3d, 4d float & int) operations - add, subtract, multiply, divide, change sign, abs, minimum component, maximum component, minimum index, maximum index, normalize, length, length^2, set length, dot product, cross product, perpendicular, comparing, epsilon comparing, matrix transforming
matrix (3x3, 4x3, 4x4) operations - moving, scaling, rotating, multiplying, inversion, from quaternion
512-bit precision integer / float operations - add, sub, mul, div, mod, sqr, sqrt
calculator function (calculates given strings for example "sin(2*x) + dot(vec(1,2,3),vec(4,5,6)) + 15*(1+2*pow(x,y))" to int, float or vectors)

Mesh
vertexes (position, normal, tangent, binormal, tex0, tex1, matrix index, blend weights, size, duplicate index)
edges (vertex index, adjacent face, normal, flag, id)
triangles (vertex index, adjacent face, adjacent edge, normal, flag, id)
quads (vertex index, adjacent face, adjacent edge, normal, flag, id)
automatic uv mapping
transforming (moving, scaling, matrix transforming), reversing, mirroring
correct normal, tangent, binormal calculation
vertex welding, edge welding, edge subdividing, face subdividing
joining, spliting, duplicating
linking vertex->vertex neighbour, vertex->edge, edge->face, rectangle->edge
convert triangle to quads, quads to triangles, edges to polygons
logical operations on 2d / 3d meshes (or, and, xor, sub..) - BETA
add/remove vertex / edge / triangle / quad
optimize (remove inline vertexes, faces, vertex cache)
binary / text custom format
importing 3ds, ase, obj, wrl, x, xml (igame/3dxi)

Memory
zero, copy, is copy, list copy, set byte value, comparing, swapping, copy aligned data (8to32, 16to32, 24to32, 32to8, 32to16, 32to24), encrypting, decrypting, allocating, reallocating
memory handlers working on any defined structure (list based, block based)
cache for storing dynamic loaded data (meshes, materials, textures, animations, skeletons or any custom data) with name sort for faster access times, and ability to load files in local or global path

Miscellaneous
game config file support
cpu detection (mmx, 3dnow, sse, sse2, sse3, number of cores)
state manager
custom randomizing unit creating random ints, floats, probability correct vector directions, points (on surface or inside) sphere, box, capsule, tube, edge, circle, rectangle.
log file support
clipboard get / set text values
detecting system language
custom string operations (case up, case down, add, length, compare, path compare, starts with, contains, contains words, replace, get extension, get not extension, get path, get base name, string<->int, string<->binary, string<->hex, string<->real, string<->vector)
timer support - frame time, current time, frames per second
date & time operations - differences between 2 dates in seconds, seconds from 1 Jan 0 AD 00:00:00 (leap years support included)
OS windows minimize, maximize, activate, move, get parent, get focused
drag & drop support with custom provided function
data de/compression
sorting custom structures with custom comparing function

Network
downloading file from url address

Physics
rigid body collision detection
rag dolls
character controllers
actors - sphere, capsule, box, oriented box, convex, triangle based (static only)
joints - fixed, hinge, sphere, prism, breakables
calculating actor position, matrix, velocity, angular velocity, energy, mass, damping
actor groups and user data
holding and dragging actors

Shaders
flat, normal, parallax, relief bump mapping
reflection / environment maps
dynamic light maps
light blooming
glow
hdr + eye adaptation
motion blur
depth of field
per pixel lighting
stencil shadows (soft & hard)
shadow mapping (soft & hard)
volumetric lighting
volumetric clouds
screen space ambient occlusion
early z
soft particles
grass, fire, water, fur, fog, sky effects
gui effects

Sound
1d/3d, streamed wav / ogg, from file or memory
custom volume groups (sound fx, voice, music, ambient, global)
music and ambient systems play random tracks from given theme (set of tracks), with crossfading support

Threading
process management
simplified threading
separate threads for game updating, physics calculating, rendering, sound processing

Post comment Comments
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: