Since the last post, the framework received some major updates that touched many parts of the underlying resource management and rendering systems:
The rendering and update system has been refactored to allow any number of players in a split screen scenario. Each player is bound to a specific input device.
Another useful feature that has been added is the hot-reloading of external files: shaders, scripts, language files, etc.
Other features include:
- Multi-threaded resource loading
- ChaiScript support: http://chaiscript.com/
- Velocity buffer rendering
- Better file-management support
Quick demonstration of the new Forward+ renderer with 100+ lights on screen. A better version, with 1000+ lights will be uploaded soon.
Implementation is based on this blog post: http://bioglaze.blogspot.fi/2014/07/2048-point-lights-60-fps.html
- Very good scaling.
- Point & Spot lights supported
- Compute based culling
P.S. : Is it just me, or is the codding style (and class structure for that matter) used in Aether3D surprisingly similar to my own? Hmm ...
The final version of the presentation will include a detail explanation of the the system actually works, because it's very interesting and straight-forward.
A quick update with the G.O.A.P. based A.I. fighting it out in a Capture the Flag scenario. Video is in Romanian; sorry about that. An update version will be posted eventually with complete details.
Currently, all development is geared towards the implementation of the Forward+ renderer, command based rendering queue and GOAP base AI with all 3 approaching working status. Expect updates/screenshots/videos. In the meantime, development can be tracked over at XP-Dev.
Current development update
- Multiple obstacles / multiple agent support
- Navigation mesh generation and caching is working for both imported geometry and terrain and path finding between 2 given points on said mesh is calculated using A*
- Implementation is based on the very powerful ReCast library.
PhysX triangle mesh cooking with caching to/from file is currently working without major issues.
Also, more work is being put into the new in-engine editor. Currently, only navigation mesh recalculation is supported:
Debug info rendering is also extended with render target preview, skeletons, axis gizmo, bounding boxes, etc. :
Some other work in post processing, optimizations and general code cleanups is also done as a side-task, but navigation is the main goal for now.
- Current side updates:
- - HDR rendering is newly introduced to the code and can be examined in the BloomPreRenderOperator source file.
- - Camera classes are now fully quaternion driven and the main code can be examined in the camera source file.
A small Youtube video demonstrating the effects of various "field of view" angles in games.
Most games, especially console ports do not include any FoV options and some are stuck at a hard 60 degrees horizontal. While 60 is fine for TVs in the living room, it is not OK for PC gaming where the monitor is usually 1 to 2 meters from your eyes. Some people can get motion sick from low values.
I would recommend to any developer to add an FoV option (slider in the options menu, config file setting, console command, etc). The excuse that it will break rendering does not hold ground. (The Darkness 2 case - http://www.youtube.com/watch?v=DPDq_q... - is clear evidence).
Any UE3/4 game has FoV options (config file minimum), any CryEngine game has FoV options (console commands minimum) so why don't some idTech based solutions (like CoD: MW3, look it up.) allow you to change this on PC?
Two scenes are presented: an outdoor environment and a small cluster of objects to simulate 2 different gaming environments.
I am not a designer, I am not an editor, I am a programmer, so please excuse the video quality.