I added simple steering behavior for fishes. Steering does’t depend on environment, so fishes fly. I used OpenSteer library with “Boids” behavior for first tests but probably will switch to own steering implementation.
One more video with intensive movement.
Some additional forces to avoid air and walls should be added later.
First screen of Tarta game, based on OpenGL renderer. Nothing special, but it’s important for me - scheme, which I selected some time ago (some LONG ago) for cross platform development finally works.
Two weeks ago I tried compilation under GCC and Linux and finished it in 2-3 days without any significant problems.
Currently engine supports DirectX and OpenGL (primitively). OpenGL will allow me later to launch Glow engine on IOS and Android (plus Linux and MacOS)
Moreover, with usage of hlsl2glsl open source lib, it will be possible to use all sophisticated HLSL shaders from DirectX render automatically.
It’s obviously inspired by Minecraft, but goes in different direction. It will be more survival oriented, with various enemies and with more shooter/adventure elements, plus massive usage of terra-morphing in gameplay. Current gameplay document contains several pages of various ideas.
One more video with results of volume (sphere) extraction from voxel landscape:
I spent some time for looking to Minecraft clones, everybody tries to make exact clone, but with uglier/beautifuler graphics. Add sophisticated shaders, Depth Of Field, Dynamic Clouds, SSAO, you name it, and BAMP - you have millions in your pocket. (but maker of Minecraft Fortress already had it). Most interesting are
But gameplay possibilities of voxel engine are infinitive. I specially didn’t play Minecraft previously, to eliminate any possibility of copying ideas.
I made first implementation of a random landscape generator in editor. It’s based on Open Source (LGPL) libnoise library and allows to create random landscapes and grid of landscapes. Later I will add simple editing tools and bump/detail/weights maps generation.
Camera can be animated as any of entities in the editor - just drug the frame slider
and change object’s orientation/position/scale - it will create animation key, and after that position of object will be interpolated between key frames.
I thought about it a lot - how to implement planar reflection in engine with deferred lighting? Render scene with lighting (and shadows) into separate render target is very expensive - it doubles all calculations. And after I met idea about deferred reflections in article about rendering technologies in Metro 2033.
Idea is simple - render reflection into gbuffer with non-reflected attributes, and light both scene and reflected scene in the next step. There are some subtleties, but in general it’s easy to implement. Also there was some troubles with non-lighted objects, like sky and glass there, but it can be solved by preservation of depth buffer during rendering scene into gbuffers.
Today’s results - fancy Screen Space Ambient Occlusion! It searches pixel’s surroundings to check pixel’s occlusion, after that blurs results and blends with the screen.
Video with a water:
Some additional effects like Light Scattering (God rays ) remains to implement and I can finally start work on the game!