|
General
Platforms
- Windows (Classic and UWP)
- Xbox
- Mac
- iOS
- Android
- Nintendo Switch™
- Linux
- Web
Game Manager
- Huge Sized Worlds - The only limits are related to floating point precision and what your computer can handle
- Terrain and Object Manager
- Multi-Threaded
- Updating
- Rendering
- Serialization
- Streaming World Data
- Low Memory Usage
- In-background - No pauses when travelling through Worlds
Pathfinding
- 2D Pathfinding
- 3D Navmesh Pathfinding (Recast/Detour Library)
Editor
- Looks and works the same on all Platforms
- Collaborative Development
- Real-Time Automatic and in-background Synchronization of all Project Elements (including Worlds) between Team Members
- Account Management for Team Members (Email, Password, Permissions)
- Works both Online and Offline
- Automatic and in-background World Processing
- Drag and Drop Asset Importing
- Huge Sized Worlds
- Automatic World Mini-Map Generation
- Creating Terrain/Heightmaps
- Hand Painting
- Importing from Images
- Programatic Generation
- Powerful Game Object Class System
- Base Objects/Classes with custom Parameters
- Extending Base Objects with Parameter overriding
- Project Elements Management
- Renaming and re-arranging (moving to different folders) does not require making any changes to codes or other resources
- Removed elements are restorable
- Auto Publishing
- Source Code Compilation
- Game Assets Packaging
- Data Optimization for Mobile Platforms
- Data Encryption
- Data Compression
- 3D Model Editing
- Mesh Editor
- Bones Editor
- Skinning Editor
- Animation Editor
- Programming
- Based on the fastest and industry-standard language - C++
- Very Clean and Simple API
- Works with multiple IDE's
- Visual Studio (Windows)
- Xcode (Mac)
- NetBeans (Linux)
- Code Editor built-in to the Engine (all Platforms) offering some extra advantages
- Write code directly in Esenthel Editor
- Powerful Auto-Complete
- Headerless Programming (write code just once, without duplicating it to headers)
- No need for Header Files, Forward Declarations or Class Rearrangement
- Jump to Definition
- Find All References
- View Mode showing only function names and hiding their implementation
- Integration with Project Assets (3D preview in codes, jump to/open Asset, insert Asset ID with Auto-Complete)
- many more
- Editor Network Interface
- Sending Commands to the Editor from custom made Applications
- Programatic access to Project Elements
- Programatic access to World Terrain and Objects
Graphics
Perfect for both 2D and 3D.
API's
- DirectX 10, 10.1, 11 (Shader Model 4, 4.1, 5)
- Open GL
- Open GL ES
- Web GL
Renderers
Capabilities
- Physically Based Rendering (PBR)
- Gamma Correct Rendering
- Diffuse Shading
- Lambert
- Oren–Nayar
- Burley/Disney
- Bump Mapping
- Flat
- Normal
- Parallax
- Relief
- Ambient Occlusion (AO)
- Fully Dynamic Lighting
- Directional
- Point (with realistic and small attenuation)
- Cone
- Volumetric
- Shadow Mapping
- Cascaded Shadow Maps (1-6 maps)
- Soft Shadows
- Shadow Jittering
- Motion Blur
- Depth of Field
- Bloom
- Glow
- Screen Space Reflections (SSR)
- Sun with Sun Rays (God Rays)
- Sky (Atmospheric or Skybox)
- Tesselation
- Decals
- Clouds
- Edge Detection
- High Precision (64-bit) Rendering
- High Dynamic Range (HDR) Eye Adaptation
- Tone Mapping
- Contrast
- Water (Ocean, Lake, Rivers) Rendering with real-time reflections
- Fur Rendering
- Fog (Global and Local)
- 3D Model Highlighting and Outlining
- Cel-Shading
- 3D Holographic Images
- Sharpening
- Particles
- Soft Particles
- Motion Stretching
- Animated Source Images
- Custom Emitters
- Geometry Shapes
- 3D Models
- Animated Skeletons
- Color Management (sRGB, Display P3)
- Gamma Control (Screen Brightness)
- Screen Color Transformations
- Virtual Reality - Stereoscopic Rendering
- OpenVR SDK - HTC Vive, Oculus Rift and OSVR HDK Devices
- Rendering with 64-bit (double precision) for Matrix positions to support huge Worlds/Scenes
- Windowed and Fullscreen
- Custom Viewports
- Taking Screenshots
- Screen Synchronization
- Dithering
- Screen Aspect Ratio Control
- Vertex Buffering for Simple Graphics (Images, Gui Objects, Geometry Shapes, ..)
Upscaling/Filtering
- None (Nearest)
- Linear
- Cubic
- Cubic+
- AMD FidelityFX Super Resolution (FSR/EASU)
- Temporal Super-Resolution (TSR)
Anti-Aliasing
- Multi-Sampling (MSAA)
- Super-Sampling (SSAA)
- Fast Approximate Anti-Aliasing (FXAA)
- Subpixel Morphological Anti-Aliasing (SMAA)
- Temporal Anti-Aliasing (TAA)
Texture Compression
- S3
- BC1/DXT1
- BC2/DXT3
- BC3/DXT5
- BC4
- BC5
- BC6
- BC7
- Ericsson
- PowerVR
Importing Textures
- BMP
- PNG
- JPG
- JPG XL
- WEBP
- AVIF
- TGA
- TIF
- DDS
- PSD
- ICO
Texture Modes
- Software
- 2D
- 3D
- Cubemap (Skybox)
Material Texture Types
- Color
- Alpha/Opacity
- Bump/Height
- Normal
- Smoothness/Roughness/Gloss
- Metallic/Reflectivity
- Glow
- Emissive
- Detail
- Color
- Normal
- Smoothness/Roughness/Gloss
Image Processing
- Get/Set Pixel
- Gather
- Resize/Stretch (Nearest, Linear, Cubic, Cubic+, Waifu2x)
- Crop
- Blur/Average
- Mirror
- Scale/Add Colors
- Sharpen
- Noise
- Statistics
Fonts
- Automatic Font Generation
- Unicode (Asian Characters)
- Custom Color, Size, Shadow and Aligning
- Hardware drawing to screen and software drawing to Image
- Emojis
Importing 3D Models
- FBX - Autodesk Filmbox
- DAE - Collada
- OBJ - Wavefront
- 3DS - 3D Studio Max
- B3D - BlitzMax
- MS3D - MilkShape 3D
- PSK PSA - Unreal Engine
- BVH - Biovision Motion Capture
- ASE - ASCII Scene Export
Animation System
- Skeletal based
- Up to 256 Bones
- Multiple Animation Blending
- Root Motion
- Animation Events
- Item Slots
- Animation Optimization
- Removal of Redundant Keyframes
- Level of Detail (LOD) - Animating fewer Bones
- Keyframes
- Target Orientation
- Relative Rotation
- Position Offset
- Scale Factor
Meshes
- Block Based Meshes
- Ambient Occlusion calculation
- Terrain Heightmap Meshes
- Ambient Occlusion calculation
- Up to 4 Materials Blending per Triangle
- Optimization
- Vertex Cache
- Simplification (Vertex/Triangle Reduction)
- Level of Detail (LOD) Generation
- Constructive Solid Geometry (CSG)
- Triangulation
- Dynamic Mesh Generation
Physics
Engines
Functionalities
- Multi-Threaded
- Dynamic, Kinematic and Static Actors
- Plane
- Box
- Ball
- Capsule
- Tube
- Convex Mesh
- Triangle Mesh
- Joints
- Fixed
- Hinge
- Spherical
- Sliding
- Distance
- Breakable
- Ragdolls
- Character Controllers
- Vehicles/Cars
- Destructible Objects
- Triggers
- Ray, Sweep and Overlap tests
GUI
Looks and works the same on all Platforms.
Fully customizable and extendable.
Gui Objects
- Button
- CheckBox
- ComboBox
- Context Menu
- Desktop
- Custom Element
- Image
- List
- Menu
- ProgressBar
- Region
- SlideBar
- Slider
- Tabs
- Text
- TextBox
- TextLine
- Viewport
- Window
- Window IO (File/Directory selection)
Network
Functionalities
- Headless (can run without a GPU on board - for Servers)
- Data Compression
- Data Interpolators
- MAC Address Detection
- Local/Global IP Detection
- Sending E-mails
Connections
- HTTP/HTTPS (SSL/TLS) - Downloading/Uploading files
- FTP/FTPS
- IPv4/IPv6
- Low Level TCP/UDP Sockets
- High Level Connection/Server
SQL
- Microsoft SQL Server
- MySQL
- PostgreSQL
- SQLite
Online Stores
- Steam - In-App Purchases and Subscriptions, Friends, Cloud Saves
- Xbox Live - Friends, Cloud Saves, Achievements
- Windows Store - In-App Purchases
- Apple Store - In-App Purchases
- Google Play - In-App Billing
- Esenthel Store Integration
Advertising
- AdMob support
- Chartboost support
Facebook Integration
- Getting User ID, Name and Email
- Getting List of Friends
- Downloading User Profile Photos
- Making Posts
MMO Capable - Tutorials available
- Client, Server and Launcher applications
- Account Creation/Removal
- Character Creation/Removal
- Log in/Log out
- Awareness of Nearby Players
- Chat
- Inventory
Sound
API's
- Direct Sound
- XAudio
- Open AL
- Open SL
Supported Formats
- WAV
- FLAC
- OGG Vorbis
- OGG Opus
- WEBM Vorbis
- WEBM Opus
- MP3
- MP4/M4A AAC
Music and Ambient System
- Automatically plays songs from provided lists or a custom callback
- Continuous or Random/Shuffle Playback
- Crossfade
Functionalities
- 1D and 3D Positioning (Surround System)
- Playing Dynamically Generated Sounds
- Capturing Audio (Microphone Recording)
- Voice Chat
- Resampling
- Spectrometer
- Custom Volume for different Sound Groups
- Sound Effect
- Music
- Ambient
- Voice
- UI
- Global
Miscellaneous
Game Updating/Patching
- Uploader Tool for uploading Game Patches
- Only new/modified files are uploaded
- Data Encryption
- Data Compression
- Patcher Class for downloading Game Patches
Input Devices and Sensors
- Keyboard
- Asian Characters Input (Windows IME)
- Keyboard Layout Detection (QWERTY/AZERTY/..)
- Mouse
- Setting custom Mouse Cursor
- Clipping Mouse Position to a custom Rectangle
- Joypads
- Vibrations/Force-Feedback
- Xbox Controllers
- Samsung Gamepad Controller
- Touch Screen
- Accelerometer
- Gyroscope
- Magnetometer
- Orientation
- GPS
File Management
- File Classes
- Encodings
- Data Encryption
- Data Compression
- Packaging Files to PAK Archives (Creating New and Updating Existing)
- Decompressing ZIP Archives
- Basic IO Operations - Iterating/Creating/Deleting/Recycling/Copying/Moving/Accessing of Files and Folders
Memory Management
- Memory Leaks Detection
- Memory Status (Usage, Available)
- Memory Containers (with out-of-bounds checks in Debug mode)
- Simple Continuous (uses least amount of memory possible)
- Dynamic Continuous (default)
- Blocked (fast for frequent adding of new elements)
- Blocked Extended (preserves memory address of all elements)
- Temporary (avoids dynamic memory allocation)
- List
- Cache (for loading Assets, with Automatic Reference Counting for small memory usage)
- Map (fast Element access based on its Key)
- Grid (stores Data in Cells of a 2D map)
- Sorting, Randomizing, Rotating of Element Order
- Data Encryption
- 3 fast and secure permutation based ciphers with 8/16/24 bit periods (seekable/with random access)
- AES
- Data Compression
- RLE
- Snappy
- LZ4
- ZLIB
- ZSTD
- LZHAM
- LZMA
- Hash Calculation
- CRC32
- xxHash
- SpookyHash
- MetroHash
- MD5
- SHA1
- SHA2-256
Text Strings
- 8-bit and 16-bit (Unicode) String Classes
- String Functions - Case Up/Down, Set, Append, Get Length, Compare, Equal, Starts/Ends with, Contains, Replace, Split, Get Extension, Not Extension, Path, Base Name, Start, Not Start, Relative Path, Normalize Path
- Text <-> Number Conversion
- String Library - Storing frequently occurring Strings with least amount of bytes possible
Application State Manager
- Intro, Menu, Game states and similar
- Initialize, Update, Draw, Shut Down
- Smooth Fade between States
Video Playback
Timer
- Application Time
- Frame Time
- Frames Per Second
- Dynamic Game Speed adjustment for "Slow Motion" effects (with automatic Sound speed adjustments)
Complete Math Library
- Math Functions - Minimum, Maximum, Average, Abs, Saturate, Sign, Trunc, Round, Ceil, Floor, Frac, Align, Sqr, Cube, Quart, Quint, Sqrt, Cbrt, Pow, Ln, Log2, Cos, Sin, CosSin, Tan, CTan, ACos, ASin, ATan, Angle, Linear Interpolation, Hermite Interpolation, Power Interpolation, 4-Values Interpolation, Equation solving of 0th, 1st, 2nd and 3rd degree, Simultaneous Equation Solving
- Vector Classes (2D/3D/4D, Integer/Float/Double) - Add, Subtract, Multiply, Divide, Change Sign, Abs, Minimum Component, Maximum Component, Minimum Index, Maximum Index, Normalize, Length, Squared Length, Set Length, Dot Product, Cross Product, Perpendicular, Comparing, Epsilon Comparing, Matrix Transforming
- Matrix Classes (3x3/4x3/4x4, Float/Double/Mixed) - Moving, Scaling, Rotating, Multiplying, Inversing, Normalizing, Mirroring, Calculating Angle and Axis of Rotation
- Quaternion Classes
- Geometry Shapes (Plane, Point 2D/3D, Edge 2D/3D, Triangle 2D/3D, Quad 2D/3D, Rectangle, Box, Oriented Box, Circle, Sphere, Capsule, Tube, Torus, Cone, Pyramid) - Calculating of Surface Area, Volume, Distance Between, Transforming (Moving, Rotating, Scaling, Transforming by Matrix), Basic Collision Detection, Drawing, Projecting 3D shapes to on-screen 2D shapes, Frustum Culling
- High Precision (512-bit) Numbers - Add, Subtract, Multiply, Divide, Mod, Square, Square Root
- Random Value Generator - Integers, Floats, Vectors, Directions and Points (with uniform distribution) both inside or on surface of Geometry Shapes
- Noise Generator - Perlin/Simplex, 1D/2D/3D/4D
- Calculator Functionality - Calculating values from Text Strings
Thread Management
- Threads
- Synchronization Locks
- Synchronization Events
- Read/Write Locks
- Executing Processes with their STDIO Output Readback
Other
- Unique ID (UID) generation
- CPU Detection
- Log File support
- Push Notifications
- Date and Time Classes
- DLL support (from both Files and Memory)
- System Screen Capture
- System Language Detection
- System Clipboard support
- System Drag and Drop File support
- System Windows Management
- System Paths Detection
- Windows Registry Access
- Process Management
- Preventing Device from going to Sleep
Feature availability depends on platform and device capabilities.
Nintendo Switch is a trademark of Nintendo.
|