If you are a subscriber of the TGC newsletter, or subscribed to our YouTube channel, you will no doubt be aware that the rest of the team have beaten me to the punch and released shots and a video of the terrain module. Allow me to supplement this material with some of my own.
Thanks largely to a lot of help from the Blitzwerks Terrain plug-in for Dark Basic Pro, I was able to complete the editing and playback parts of the terrain module in less than two weeks, and I am pretty happy with the result. I am getting good performance, and thanks to Mark we have some gorgeous textures and shader insight to lavish on you.
We've decided to focus on a desert theme, which will compliment the other assets we are doing in the desert third world style. It also allows us to come back in the future with a green, forestry make-over to knock your socks off. It is also an honest genre to use, as the terrain is often bleak and lifeless, and if we can get THAT to look good, then we'll be laughing. Please don't ask me why there is lots of water in our desert, we just thought it looked cool :)
Terrain In The Game
The next two videos are from the in-game prototype component, which shows a few key features we added to create a believable landscape. Obviously the water shader, which uses reflection and refraction effects, plus a rather nifty idea by Evolved which uses a water mask to soften the interaction with the shore.
You will also see a patch of shadow coming from the high rocks, which is a technique I intend to optimize and internalize as a C++ routine, partly as this would then afford me the opportunity to thread it and get some serious speed up when generating this pre-baked data.
The vegetation takes the shadow from the terrain itself, and also moves the plants around and oscillates their color slightly to give them more life, and they can be rendered at different sizes to mix it up a little. I have more plants, and might create a system where several grass types will occupy the same clump area, but we'll come back to that when more essential matters are taken care of.
One of the last things Mark did was enhance the vegetation shader, as shown in the above shot with more detailed grasses and a reflective term applied to the grass directly under the sun. It's subtle, but that's because I went in and modified the shader to tone it down a bit (I am expecting an angry email from Mark any day now) ;)
The editor is really my pride and joy because it is here where you will be spending most, if not all, your time when creating games in Reloaded. I only intended it to be a basic slope editor, so you can run some ground up to the side of buildings and have a nice curve or steeple effect. What I ended up with is a sculpture and paint system so cool, you could almost create buildings out of the very terrain!
I am the first to admit the 8 modes currently in the editor are opening shots across the bow of this terrain module, but they are pretty useful and probably represent 80% of the tools you would most need. Once they are in the main engine, I will probably add a few more such as smoothing tools and perhaps more painting modes (i.e. paint highlights and dark patches, basic colors, e.t.c). I won't be adding texture stamps at this stage as the performance hit was getting in the way of adding that one quickly, but I have a few ideas to mull over and more on this when we take the terrain module back out of the box and shake it up.
The system can save and load terrains, complete with what you painted, it can automatically spawn rocks, shadows, water masks, vegetation and even generates a realistic random terrain using a diamond-square technique. The final bits will come in the form of improved textures, shader tweaks, small editor and in-game performance improvements and testing. I have decided to post-pone full engine integration until I have the physics complete, as they pretty much go hand in hand, and when you press the big green test game button in the Reloaded IDE, you really want to stay on the ground when you walk out of a building.
Here is a video Rick produced when he got his hands on the prototype earlier today. I think he needs more practice but it did not take him long to find and use all the features, a good sign:
So with terrain pretty much boxed in, I move swiftly onto physics and a little AI work too. The good news is that despite the meeting and a few other distractions, I am on track with the physics work and have a character controller wandering over the terrain height data, and dynamic objects raining form the sky. I also send off a very early prototype of the DarkAI system to Paul, to resolve a little issue with line of sight through mountains. Even this early prototype has found a way to generate obstacle data from the terrain heights so that when an AI entity navigates to a high vantage point, they figure out that they cannot just take a direct line up a steep slope, but have to walk around until they find a slope that is acceptable. A very nice idea from Paul and implemented in less than 30 minutes ;)
Again, I have more 'crappy' visuals from my physics and AI work that I would like to show you, but I fear the almighty glass eye in the sky will frown upon my transgressions. I did have the idea though that as we move forward to a beta release, we start an 'official' blog which Rick can author, featuring all the lovely final art and choice eye candy for the masses. This would then allow me to move my own blog underground, and provide the link only to pledgers who are beta testing and following the internal development. Properly plastered with warnings and conditions, I think we should be able to get away with a more open policy on screen shots if there was something official to distract the buying public.
I honestly believe something was lost when we did our black out trick, for now you do not have the visual log of how that horrible green blotch of a screenshot you saw two weeks ago turned into the terrain module you see today. You also did not see all the dead-end versions of the prototype, which might have triggered some stimulating conversation in the comments section and give rise to a new terrain idea. Ah well :)
I hope you enjoyed the terrain videos and if you are lucky, I will make one more which features the editor itself and give you a whistle stop tour of the features and the thinking behind them.