Hi,
I know that I should post here when I have something fully working, however, I'm interested about your opinion what more should be included in the game engine of your dreams.
My planned feature list is the following:
General
• Cross-platform with offical support for Windows, Linux, FreeBSD and MacOSX
• Language independent interface with official support for C, C++, Delphi and FreePascal
• Clear design and high efficiency provided by underlying C++ implementation
• Model-View-Controller pattern based entity management
• Fully event based entity management for increased performance and better usability
• Triggers and other game logic helpers to streamline game logic creation
• High level of abstraction to provide an easy to use programming interface
• Scales well to multiple CPU cores by using a highly parallelized workflow
• Scales on NVIDIA SLI or AMD CrossFire configurations by dividing rendering tasks between GPUs
• Works efficiently for various game genres ranging from first person shooters and racing games to complex real-time strategy games
Graphics
• State of the art graphics quality using Shader Model 4.0
• Clear rendering engine design fully based on OpenGL 3 standard
• Outstanding performance even when rendering very complex scenes
• On-the-fly rendering optimization for any graphics driver based on statistics
• Deferred shading able to handle large number of dynamic light sources
• Instancing for extremely high geometry throughput
• Skeletal animation with support for skinned instancing
• Inverse kinematics for animated characters even with instancing support
• High quality dynamic soft shadows with support for translucent shadows
• Efficient particle system able to handle millions of particles
• Automatic instance cloud reduction and occlusion culling for reducing graphics workload
• Realistic high performance reflection and refraction using advanced SM 4.0 technologies
• Extremely realistim simulation of atmospheric effects including but not limited to volumetric fog and light scattering
• HDR rendering with integrated support for tone mapping and bloom effect
• Global illumination approximation using screen-space ambient occlusion and low-frequency directional occlusion
• Large amount of customizable post-processing effects including motion blur, gaussian blur, depth-of-field and more
• All the mentioned features are executed 100% on the GPU for premium performance
• Built-in support for various image and model formats
Physics
• Fully physics-driven design using Newton Game Dynamics
• Multi-threaded solver model scaling up to a theoretically unlimited number of CPU cores
• Realistic rigid body dynamics able to handle huge number of dynamically simulated objects
• Fully customizable event handling for various physics object interactions
• Highly customizable material and friction model
• Continuous collision detection support for fast moving objects
• Stable and easy to use kinematic character controller
• Complex body interactions by providing large variety of rigid body constraints
• Physics driven inverse kinematics and ragdolls
• Archimedean buoyancy for simulating water and other liquids
• Real-time air drag force calculation based on object shape
• Realistic and fast vehicle simulation
• Volumetric force field simulation
• Support for physics integration over network
Audio
• High quality 3D sound spacialization using OpenAL
• Simulate acustic environments using hardware EAX effects
• Streaming support for both offline and online audio stream sources
• Support for lightweight audio capture functionality
• Built-in support for dozens of sound file formats
Network
• Support for both TCP/IP and UDP/IP based network solutions
• Build-in support for client-server and P2P network architectures
• Easy to use VoIP and team-speak support
• Integrated HTTP and FTP support for implementing dynamic update systems
Scripting
• Powerful and ultra fast scripting with Lua
• Full control over entity management from within scripts
• Support for script based event handling
Unfortunately most of these is only in design and specification phase but not implemented yet. I plan to have the first release of OsirisEngine in about a year with the important features implemented.
I'm just interested in whether any of you have anything to add to this wish list that you would find useful if you would use the game engine.
I need this input to be able to keep in mind the wish list when designing the class hierarchies and interactions in order to easily integrate them in the future.
I know this sounds a bit stupid, but any feedback would be useful for me. Now I'm highly focusing on clear design and I want to collect as much requirements as possible.
Thanks in advance and sorry for the large post!