The RealmForge GDK is a cross-platform game development framework and toolkit written in Mono/C# and powered by the Axiom 3D engine. It will allow for the rapid development of cutting-edge software and MMORPGs with advanced graphics, audio, and networking capabilities. | Author | Dan Moorehead | | | Graphics API | OpenGL, DirectX | Operating Systems | Windows, Linux, MacOS, Solaris, HP/UX, FreeBSD | Programming Language | C/C++, C#, D, Delphi, Ada, Fortran, Perl, Python, VB.NET | Status | Alpha | Documentation | Yes | | | Features |
| General Features | Object-Oriented Design, Plug-in Architecture, Save/Load System:
• | Plugin architecture ensures a flexible framework, game engine, and toolset | • | Everything from the editor to the GUI's are data and script-driven | • | Master Modules contains nearly all aspects of the game data: world design, script attachment, entity placement and configurations, shader configuration, game settings, in-game literature, races and classes, and gameplay settings to name a few | • | The framework supports every conceivable game genre (eg. RPG, FPS, MMORPG, Adventure) and even those not often considered for 3D games (ie board, and puzzle) | • | The framework includes the RealmForge Media Library which is a compilation of free resources developed for it | • | A heavy singleton architecture is used to create a series of distinct systems with minimal dependencies which can be replaced with custom implementations | • | Plugin Modules can be created by the editor, these are concise diff-grams similar to those of Morrowind. They can be used by the modding communities or distributed as game updates. | • | Maintainability and good OOP practices as well as project standards are enforced in this open-source project | • | The plugin architecture allows OpenGL and DirectX to be used interchangeably, like most aspects of the game; this can be changed simply by changing a value in the Config class. | • | Written in C# using the .NET Framework, so can be used by all .NET Languages including C#, C++ .NET (MC++), VB .NET, J#, Delphi .NET, Jscript .NET, Lua .NET, Perl .NET, Python .NET | | | Scripting |
• | Everything is controlled by scripts and uses interfaces to allow for full customization without modification of the code | • | Uses C# and JScript.net for scripting language providing unprecedented power, flexibility, and simplicity | • | Scripts can be developed in the IDE with an optional minimized syntax to emulate JScript.net | • | Scripts can be compiled and run on the fly mid-game | • | Assemblies can be automatically loaded and have their scripts registered | • | Every entity is fully scriptable and has a wide range of events which scripts can be attached to | | | Built-in Editors |
• | The Game Editor is integrated into the engine and can be displayed in-game similar to Doom III | • | The line between design-time and runtime are blurred as a game can be edited using the full range of tool windows similar to an IDE | • | The in-game edit allows the beta testing and modifications to be made simultaneously | | | Physics | Basic Physics, Collision Detection, Rigid Body, Vehicle Physics:
• | The Tao C# binding for ODE is used for an excellent open-source physics implementation | • | The OOP plugin architecture allows for an extensible physics engine which can easily be configured for you game | • | Rag-doll physics allows for characters to be designed from a series of body parts for a vast array of different character with minimal effort | • | Support for the dismemberment of characters | | | Lighting | Per-vertex, Per-pixel, Lightmapping:
• | Unlimited number of lights | • | Easy application of lighting effects such as blinking and sparks | • | scriptable Light entities with scriptable movement paths | • | A wealth of properties including ambient and diffuse colors, intensity and radius | • | Support for different light types including spotlight, point, cone, and ambient | | | Shadows | Shadow Mapping, Projected planar, Shadow Volume:
• | Supported techniques include modulative stencil, additive stencil, modulative projective, texture mapped, texture modulative, and decals | • | Multiple stencil shadow optimizations | • | Texture shadows fade out at far distance for FPS optimization | | | Texturing | Basic, Multi-texturing, Bumpmapping, Mipmapping, Volumetric, Projected:
• | Support for Picture-in-picture to emulate effects such as cameras or rear-view mirrors | • | Views can be rendered to a texture and applied to an entity to simulate working in-game cameras or video feeds | • | Textures are registered as Materials so that can be loaded from different resource including compressed archives and libraries. | • | All materials are simple shaders allowing them have dynamic properties | • | Excellent in-game cut-scene rendering and path/movement scripting | • | Supports PNG, JPEG, TGA, BMP and DDS image files | | | Shaders | Vertex, Pixel, High Level:
• | Supports vertex and fragment programs (shaders) | • | Low-level programs written in assembler | • | High-level programs written in Cg or DirectX9 HLSL | • | The shaders are abstracted into Modifiers which can be applied to entities to generate the desired visual effects | • | A number of different properties are provided for each Modifier to allow it to be tailored to the target without the writing multiple programs | • | The OOP design allows game designers to concentrate on the game itself without an intricate knowledge of shaders | • | A library of Modifiers abstracting a series of different shaders are provided as a catalyst for game development | • | Every entity uses a simple shader or Material object to ensure that all textures are dynamic | • | Material support different techniques to account for different levels of shader support in video cards | • | Provides automatic support for many commonly bound constant parameters in the shaders | | | Scene Management | General, BSP, Octrees, LOD:
• | Highly customizable and flexible scene management | • | Plugins can override parts scene management with custom implementation | • | Different Axiom Scene Managers are supported to control low-level culling and features such as terrain rendering | • | Hierarchical (node-based) scene design | • | References to node trees provide an inlined prefab support (ie. a house template is used and minor modifications can be made for each instance) | • | Unique ID's allow referencing of specific entities in scripts | • | Regions or second-level nodes allow for environment settings such as sky and fog to differ for different areas | • | Node-based design with Region culling allows for a loadless game design | • | Realms (or highest level nodes) are used to denote unconnected regions of the game. This can be used to create a game which maintains separate cells and loads them when entered. | • | All Entities (including Regions, Nodes, and Realm) can be overridden to allow for custom implementations | | | Animation | Keyframe Animation, Skeletal Animation, Facial Animation, Animation Blending:
• | Skeletal animation with blending of multiple animations and variable bone weights | • | Physics-based animations in which forces are applied to bones and body parts to ensure the realism and integrity of animations | • | Built-in tools for animating rag-doll characters | | | Meshes | Mesh Loading, Skinning, Progressive:
• | Hardware-accelerated skinning | • | Flexible mesh data formats accepted | • | Loads OGRE Mesh, Skeleton, and Material formats | • | Working on 3DS and LWO loading | • | Exporters for 3DS Studio Max, Blender, Lightwave, Maya, Milkshape, Wings3D | | | Surfaces & Curves | Splines, Patches:
• | Biquadric Bezier patches for curved surfaces | | | Special Effects | Environment Mapping, Lens Flares, Billboarding, Particle System, Sky, Water, Fire, Explosion, Decals, Fog, Weather, Mirror:
• | Interactive water which responds to weather such as rain and hail and is displaced by other entities | • | Particle Systems represented as IEffect entities which can have scripted movement and variance or be applied to other entities | • | Support for different sky types including Dome, Plane, and Cube | • | Use of shaders allows dynamic effects such as wind-speed and direction for Sky and Water | • | Different water entities have different properties allowing them to be more viscous or thick for the creation of swamps | • | Fog disguises the camera culling region or can be applied over an area | • | Underwater foggy effect | • | Incredible Fire, Explosion, and other particle/sprite effects are represented as configurable IEffect entities which can be placed with the game editor | • | Environment settings such as sky, fog, ambient light, and weather can be configured separately for different regions of the world | | | Terrain | Rendering:
• | Rendering and culling of terrain cells | • | Loading of meshes and height-maps | • | Support for lighting and shadows on terrain | • | Optional approximation of lighting for FPS optimization | • | Terrain collision detection | | | Networking System | Client-Server, Peer-to-Peer, Master Server:
• | Flexible network and server support for different types of games | • | Centralized server, or peer-to-peer networking | • | Designed for use in massive-multiplayer games such as MMORPGs | • | The flexible design provides different server implementation to ensure that the networking is optimized and tailored to each game | • | The use of .NET Remoting (or clear proxy object with RPC calls under the hood) allows games to be run with a server with no changes in the underling code. This allows games to be networking enabled with no extra effort | | | Sound & Video | 3D Sound, Streaming Sound:
• | OpenAL for excelent cross-platform sound | • | 3D sound with panning, volume, doppler, and cones | • | Implemented in an OOP fashion with the use of scriptable Sound entities | | | Artificial Intelligence | Pathfinding, Decision Making, Finite State Machines, Scripted, Neural Networks:
• | A Neural Networks/Decision-Tree Hybrid is used as the primary mode of AI decision making | • | A genetic algorithm allows for the evolution or characters or races of creatures for the creation of challenging opponents which learn to match the player’s tactics | • | Every aspect of the engine is scriptable and AI is no exception | • | An event-based architecture for the characters to provides a powerful scripting interface for the AI | • | Different path finding algorithms will be provided to accommodate different game genres | | | Rendering | Fixed-function, Render-to-Texture, Fonts, GUI:
• | Level-of Detail rendering optimizes FPS | • | Transparency in textures automatically applied (eg. png, gif) | • | Supports the complete range of fixed function operations to account for hardware which doesn’t support shader use | • | Support for multiple material techniques | | | Features: | ![](http://www.devmaster.net/engines/rating/rating-4+.gif) | Ease of Use: | ![](http://www.devmaster.net/engines/rating/rating-4.gif) | Stability: | ![](http://www.devmaster.net/engines/rating/rating-3+.gif) | Support: | ![](http://www.devmaster.net/engines/rating/rating-4.gif) | Date Added | Fri, 6 Aug 2004 | Last Updated | Tue, 19 Apr 2005 | There are currently 10 reviews for this engine | |