RealmForge Game Engine
Windows, Linux, Mac OS X, Solaris, HP/UX, FreeBSD
Languages Written In:
C/C++, C#, VB.NET, D, Perl, Python, Delphi, Fortran
C/C++, C#, VB.NET, D, Perl, Python, Delphi, Fortran
- User Reviews
RealmForge is a free, cross-platform game engine written entirely in C# and built upon Axiom, the C# port of the OGRE 3D engine.
- 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
- 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
- Environment Mapping
- Lens Flares
- Particle System
- 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
- Patches Biquadric Bezier patches for curved surfaces
- 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
- 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
- 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
- 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
- Mesh Loading
- 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
- 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
- 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
- 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
- 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
- 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
- Decision Making
- Finite State Machines
- 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
- 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
- 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
- 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
|License Name||Price in $US||Source Code Included?||Additional information|
|SourceForge.net Open-source Project|
These guys have moved on to Visual3D. So should you. The price is dynamite.
RealmForge has too large of scope for Open Source -- and not enough team left to support it well enough to make it really viable. I don't see much point in using it.
There are better near-free solutions available already, such as the RealmForge successor (written by the same guys I think), called Visual3D.
If I'm going to spend hours and hours learning a new engine for my game, I want it to be well-supported by a team, and see it keeping up with the times. These guys are kicking it good with Visual3D, and now have tutorials for how to work with it:
Why waste time on RealmForge when you have better near-free options?
Not as described; does not run.
I put this on our to-evaluate list because it appeared to have the cross-platform ability we need, it is stated above to be an open source project hosted on Sourceforge, and released under the LGPL, and the price is stated above as 'Free' (yes, I'm a cheapskate).
In fact, this is proprietary, for pay software. I've nothing against people taking their open source projects proprietary - good luck to you, guys - but there seems to be no remaining 'open' version of the engine available anywhere (so tough luck on anyone who started a project expecting to be able to use it), and the license is particularly onerous.
Finally, the software doesn't run. I loaded it onto a fully loaded Windows XP development machine, patched up to date and with .Net 3.5, Visual Studio 2008 and a broad range of normal development tools, and it simply would not run at all, failing after the first dialogue with 'Visual 3D World Launcher has encountered a problem and needs to close. We are sorry for any inconvenience."
OK, so this is stated to be beta software, and one can cut them a little slack for that.
* It is not open source
* It is not free
* You don't get the source code
* It does not run
And I remain skeptical - although I could be wrong here - that anything written in .Net could be truly multi-platform.
Looks very exciting!
It looks very exciting so far! The demo version for me has lots of mistakes, I almost always get kicked out from the software - but it is really looking good.
I gave only 3 stars for stability and performance + support but hell, they don't have it yet: still waiting for it to come out.
I advise anyone to wait for it - looking pretty kick-arse good!
RealmForge Succeeded by Visual3D Architect .NET - Framework & Visual Design Suite for .NET 2.0
After several years of development, the RealmForge project has ceased and its team is now partnering Suva Interactive to develop Visual3D Architect .NET (www.visual3d.net) as a runtime framework and integrated visual design environment for Managed DirectX 9 and .NET 2.0. This game and simulation development solution provides support for both the Suva3D engine and Axiom, the C# rewrite of the popular OGRE engine. Visual3D is a commercial platform and integrated toolset that is not yet publicly available, but free, non-commercial licenses are being provided to give back to the community of open-source users and developers due to all the interest we have received over the years.
Half and Half
Too many halves with this engine with Interop, and also I would think they would have a decent editor or method to create something simple in an editor after about 3 years combined with Axiom as this engine is more geared toward the editing part using Axiom as a backdrop.
Also doesn’t feel like a totally open source environment especially working with MS’ .NET where the compiler is closed source and Mono(The more open source UNIX implementation of .NET) isn’t well supported yet.
I am none too excited about using Interop as all the errors and overhead it produces.
C# is not my preferred language anymore but want to give a fair review based on content.
RF is more a tool kit then a raw engine but extremely well put together by the people who work on it.
Basically allot of the code like the Physics, some networking done with Ogre.NET and of course the path-finding and base AI is taken from other projects. It will need to be done or is in C++ wrapped in C# including managed DX which is already a wrapper as well firmly founded in C++.
To me this is not the worst thing to have to Interop in C++ but I would say use this engine after you have tried or are using a C++ based engine like Ogre3D which RealmForge and Axiom are largely based on since most of the grunt work is done on the Ogre3D boards.
The code is clean and C# seems to be used to it’s fullest, albeit hyper-managed, extent.
Also the forums seem to have gone Kaput lately as the mailing list is not really a totally pro way to run this type of operation I think.
I think the engine is a little over-hyped with all the 5 star reviews with really no output yet but that’s fine if people are excited...
Ogre is an exceptional game engine and realmforge is an inspired addition to it. I have watched and waited for some time as this engine matures and has been an amazing trip. Realmforges design allows even those of us whom are graphic designers began production and some implementation prior to bringing in progrmmers. The developers have been very responsive answering our posts even though they may have the stench of noob about them :). I often come to the engine specifications on this sight when I need to renew inspiration.
This engine has, as the title suggests, excellent potential. It is ahead of its time in nearly every single aspect, as it includes an in game editor with run time design facilities. It is still in its early stages of development, but will no doubt grow at exponential rates. The support forums are great - the head developer will often respond to posts himself. It looks beautiful so far, and the overall quality and design are superb.
Watch this engine for advancements - it will surely be incredible when finished.
This engine has great planned features.......some, according to the site, are broken now and don't work......which makes it ( currently) hard to use, and apparently, stabilty and performance is an issue as well....but...the forums are good, and they do try to answer questions with good frequency......i'd recommend this engine when they get it working right.
Everything you'd expect in a comercial game engine and more.
RealmForge GDK is a game engine that, upon reaching a mature 1.0 version, will only be rivaled by commercial engines like CryEngine. Even it its Alpha stage, it has all the features needed to develope a high-grade game. It is written in C#, but that does not limit it to that language. It can be used over any .NET supporting programming language like C++ .NET, VBasic .NET, Python .NET, Lua .NET, and many more. That means that if you have any Visual Studio .NET, Visual C++ .NET, etc. version... you can use RealmForge with ease.
Its features are still in development, but they are showing solid progress. The in-game editor, also in development, will allow you to enjoy the cool on-the-fly editing. That means you ca quickly edit any options without touching code. You can control anything from rendering to model loading to AI in scripts. This prevents you from re-compiling your ENTIRE game only to find something else wrong.
In conclusion, if you are an indie developer, or just want to make games as a hobby without the hassle of learning Direct-X or OpenGL, RealmForge GDK can meet your needs.
This GDK is excellent first of all because it's free! Second because it is being written in a high level language that is readily available and easy to use, plus it has support for various open source languages as well as Microsoft. There will be a great demo game that serves as an example to create other games from, it will be easy to use such that non-programmers will be able to use it to develop games as well.
What I like about RealmForge is that it's not only open-source, but that it's designed to be incredibly powerful, flexible, and extensible. It seems that nearly every aspect of it is pluggable to some extent!
Yes, I'm a developer on the project, but I do sincerely believe that this project is 5/5-worthy simply by virtue of the fact that it allows for use of the "best" technologies, whether commercial or open-source. It's not even the RealmForge dev team that defines what "best" is...that's entirely up to the user who will be using it.
Even though RealmForge is currently in alpha (at time of posting), it is rapidly nearing the beta stage. At that point, the GDK will be considered usable for game development. If you plan on creating a game, whether commercial or open, please consider all that RealmForge has to offer!
Perfect for MMORPGs
Well, at first I only think 'a GDK, what I have to develop and how it can help me?'. But after I've developed I stopped my current work and started it new with this great GDK. Yes, at this time it isn't in a status that you can make a whole game, but the community and the support are great and the development of the GDK grows and grows. The graphic based on Axiom, so I think look at the Axiom page, but for an MMORPG this graphic is more than enough. Besides I prefer that you on the one hand can use the GDK and only have to write scripts and put in the modelles, because with the editor you 'have the power' ;-D, on the other hand you can develop your own GDK and improve the basic structure with your personal ideas, or put them in plugins. At last I think a GDK with includes nearly everything you need to develop any type of game in nearly every language is one of the best ideas for game developers and it let you concentrate at the major thing, the game!
Last edited Sep 04, 2012 at 14:38