3D engine - RealmForge

来源:互联网 发布:干支纪年算法 编辑:程序博客网 时间:2024/04/29 15:46

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: Ease of Use: Stability: Support: Date Added Fri, 6 Aug 2004 Last Updated Tue, 19 Apr 2005 There are currently 10 reviews for this engine License Name Price Source Code Comments LGPL Free Yes SourceForge.net Open-source Project

Screenshots:

原创粉丝点击