Killing Horizon Update - 3/5/2014 - More Art, New Visual Style, and More!
Killing Horizon Update - 3/5/2014 - More Art, New Visual Style, and More!
I've got a new update on my project Killing Horizon, a 64-player-online-RTS/FPS/TPS hybrid wargame! In addition to some great new Concept Artwork, I've implemented a new visual style for the in-game rendering, which is centered upon a 100% dynamic-time-of-day system. Battles can start during the day and then continue into the pitch black only illuminated by the sparsely populated mining outposts. I feel like the new style, while a bit different from the colorful concept art - really goes a long way to creating the feeling of a desolate mining planet on the Battlefield style maps.
While I may prefer this visual style - I wouldn't let the rest of you guys down, who might not enjoy that kind of thing - so I've made this 'dynamic-time-of-day', a map-author-selectable option. The visual styles of a certain map/level is a selectable environment option from the game's World Editor when the map is created and saved. This functionality is a precursor to the detailed/varied environments I want to deliver later in the game's life cycle.
In addition to reworking the primary "look" of the default environment in the game, I've also made progress on a number of other, more gameplay relevant, features of the project. Implementation of a spline based road system, optionally imported from .svg ( Scalable Vector Graphics ) files, which is basically a XML-like markup of shapes/lines/splines...that system had a lot of interesting elements to it's implementation. I also spent some time on an evolutionary/procedural rock formation tool/system that, I can use to add variety to the game environments. Plus a few other miscellaneous things!
Let's get to it...
New Concept Art
Below you will see the next 3 pieces of concept art for Killing Horizon. The first one shows a Dropship assault - I feel this image represents the game best. The next image shows the dune buggy racing across the martian landscape. The third image shows a Legion posiiton being attacked by Rebel rockets being launched from attacking dune buggies.
New Visual Style "Dynamic-Time-Of-Day"
Like I said before, this new 100% dynamic time of day allows me to have the lights on the mining facilities 'click' on at a certain time, and really adds to the feeling of immersion you get in the game [ multiply it with the Oculus VR dev kit ]. These screenshots are at a very low texture resolution ~10% of actual size [ again this type of thing doesn't matter with a lower resolution VR dev kit ]. I snapped them on my dev machine a while ago. Trust me, I will go through and pile on the post-processing and anti-aliasing and create 'glamor shots' later on ;-) haha... if you want to see more, please visit the game's website @ http://KillingHorizonGame.com ...
The first image shows a Legion base/shield through the fog-of-war, as viewed in the RTS mode. The second screenshot shows a Rebel sniper outside a command point. The third screenshot shows a command point, full of resources, with a Rebel shield in the background.
So the main difference between the below screenshots and the ones in the last update/entry would be the sky and lighting system. In the below screenshots the sun ( or nearest star, hell I could have 4 suns... ) is totally dynamic and moves across the sky in real-time...when it gets dark due to the sun/light source being below the horizon - the lights ( if there are any ) on the vehicles and environment props 'click' on. I can't wait to further explore this ... I'll post a lot more about this in the future.
Vehicle Physics and Ragdoll Physics
I've tackled the physics in a big way, essentially re-writing the entire system(s) over a few weeks. It really produced great results. I'm running very smoothly on my min-spec machine with 64 player controllers and ~16 vehicles, +100s of props. All of that is occurring on a massive, physically simulated terrain and environment collision mesh [ dynamic/keyframed]. It looks like everything is holding together and all kinds of funny situations can occur using the dynamic testing tools I've integrated into my game engine. I'll let you guess what happens when you drive a battle tank into a dense crowd of human soldiers ...
Road System Progress
One issue I've had with my previous game, was the massive landscapes not being connected in any meaningful way. Also the sheer size of the maps was a huge issue. My solution is two-fold, first I've got an entire "Dropship" system for delivering soldiers and equipment around the battlefield, see the above concept art. I will discuss the Dropships at a later date. The second element to solve the size of the maps is a decent infrastructure/system that defines, and allows, clear movement/flow between "points of interest" on the battlefield.
Some of the screenshots below are taken from OLD version of my World Editor, but they show the imported .svg road path, as well as AABB bounding information which is useful for AI navigation, and various other algorithms. I basically generate a AABB around the entire 'road' (spline), and it's point-list representation 'clusters'(vertices). The pathfinding implications of such large maps and detailed accuracy is pushing the limits of the systems I'm using, but I've got some solutions worked out.
Enough yapping - here are some images of my road system in-game/in-engine/in-editor ... the last 3 screenshots show what it looks like when I generate geometry down the spline/road curves and apply a "road" texture. I plan on having many available road textures, and options for the map/level/world authors. The last 2 screenshots ALSO show some environment settings other than the "dynamic-time-of-day" I've described above...
Procedural/Evolutionary Rock System Progress
I've also been making progress on rock formations to represent shapes in between the 100,000s of small rocks placed around the world - and the large mountains made up of the terrain. I needed to be able to blend an arbitrary mesh with my terrain's heightmap system. I started by generating a procedural evolutionary skeleton beneath the rock and "shrink wrapping" the mesh around the procedural skeleton, that got very complicated very quickly. I will describe it in detail someday... I designed the rock subdivision gene pools and rule sets to be randomly generated. This system while cool, took a lot of work and produced mediocre results.
So I've still got that all into the game, but I've switch to a MUCH simpler noise based solution. These are totally randomly generated with the click of a button, within the World Editor. You specify the size and the noise model and strength of the noise ... the tool then builds and randomizes the rock. You can slide the "bump" around the terrain in real-time :-D
These rocks are about the size of a *very* small house.
*NOTE BELOW REPRESENTS THE UN-MODIFIED STARTING MESH FOR THE ROCKS
1,000,000 Views @ Gamedev.net Developer Journal
Wow, I guess it has been since 2005 that I've been tracking my game development journey and progress on Gamedev.net [ http://gamedev.net/blog/289-radioactive-software/ ] ... recently when I logged in I noticed the journal has surpassed 1,000,000 views - so thanks a lot for all the support guys. I hope people out there can take *something* away from all my entries, and posts about my work.
I've personally received so much information and support from the Gamedev.net community I really want to thank you guys again for everything. Also, if any member of the Gamedev.net community ever has questions/inquiries about game development - I'm always available to talk, if you want to e-mail me questions [ firstname.lastname@example.org ] or post anything in the comments section below, or on my website's forum [ http://RadioactiveSoftware.com/forum ] I'll be sure to get back to you ASAP. Anything I can do to give back to the game development community that has given me so much.
Thanks a lot, I'll keep you guys updated on all the progress of the project! As usual please keep updated on social media!!