Please note that all screen shots displayed in this blog are works in progress and in no way represent the appearance of the final game. Check out the main site here.

Be sure to follow us everywhere with these links!



Tuesday, January 24, 2012

The Great Outdoors

Right, so we've been busy lately... Outdoors are really starting to shape up the way we want them to!
The lighting code has been quite difficult to write... Luckily, we've been getting a lot of help from Evolved Software to get us pointed in the right direction.


You see, our conundrum is this: In a normal game with hand-made levels, the in-game lighting can be "baked" into surfaces, so that it essentially becomes a part of the object's texture. This is just one example, but there are a heap of little tricks like this that game devs can use to milk more efficiency out of their game. It's not a cheat, it's just being super clever with resources to get the best performance for the resources. Because of these little tricks, very few lighting calculations actually need to be processed by the GPU in any one section of the game. It's a great system and it's worked for developers for years.


 But when making a game such as Malevolence, you don't know where the lights will be, what colour they will be, or what objects they will be projecting onto, since the entire game is generated through code. Due to this, every single bit of light calculation must be done in real-time. So, to use the game on high settings, you need a bit more grunt in your box than you would a game such as, say, Skyrim. We're not talking too much more grunt... A Dual-Core 2.4GHz machine with a decent speed 1GB video card and 2GB of ram should run it just dandy. Anything below that and you'll likely have to start sacrificing things like the real-time shadows. Why can you run Skyrim but not Malevolence? Because Skyrim has the luxury of being able to pull off fancy lighting tricks, because the level designers knew where everything would be in the game at all times.
Unfortunately, if you want to play a game with an infinite world, you need at least a relatively up-to-date machine. It's an unfortunate trade-off, but we're hoping that by the end of the year most people have a machine that's up to spec. But let's face it, if you're a gamer, it probably already is.
So anyway. Calculating an entire world worth of environmental lighting from one single light source (the sun) is a teensy bit tricky, but as you saw in the last video, we're getting pretty good at it. We've had to handle bouncing of light, realistic bloom, canopy shadows around trees, water reflection and refraction but take a look and at the same time enjoy the incredible countryside music being made by Nicolas Lee.


 And here's a bit of a look at the amazing light refraction effects while underwater in the game:


We originally weren't going to allow the player to move underwater, but the thought of being able to find and explore submerged ruins and cities proved to be just far too inspiring. So we figured, if we're going to be doing it, then we might as well make it look sexy as hell while we're at it!
But anyway, that was a very rough example of what the external environments will look like with the finished lighting on them. Unfortunately that demo was made with a hand-made heightmap, but we have also been doing lots and lots and LOTS of work on our infinite procedural terrain heightmap generator (way cooler to say than IPTH)

Check it out:


This little tech demo shows the early-days procedural construction of the overworld in the game (minus textures or lighting). The solid grey parts are the water, if you can imagine it.
These environments differ from other games as they are not generated via perlin noise or fractals or blobs or diamonds. They are a simulation of the actual plate tectonics and erosion that is seen in nature, thus making a much more natural looking and unpredictable environment for the player to experience.
We figure that just because the game isn't full of hand-made levels, that doesn't mean that it has to FEEL like it isn't made full of hand-made levels. By now you've probably all played Skyrim, and you can tell that those guys know their stuff when designing worlds. They have done such an incredible job that it brings a tear to the eye, but imagine if a game could create that sort of thing on its own? That'd be something quite special.
What you see above is quite early stages, but you should be able to get the gist of what we're trying to do. Just imagine those rolling hills covered in forests and fields and towns and farming communities and caves and ancient ruins (some of which will be partially or even fully submerged underwater and will require you to go down there)

Better bring some potions of water breathing.....

One last thing. Yesterday we managed to reach position #2 on the charts at IndieDB/ModDB, right there next to Minecraft. Having that happen has been the single most uplifting thing that has happened to our humble team since we started this project, and it's from people like you reading and supporting us, so keep on being amazing, all of you! Who knows? Maybe one day we'll be sitting just above Minecraft and Notch might finally notice us hahaha I really think that this would be his sort of game.
But anyway. We'll see you next time with more cool stuff. Keep on rocking! And, as usual, if you haven't already, join us on the social networks!

2 comments:

  1. It's all very impressive, but the bloom seems a bit overblown. Maybe it's just this time of day or something.

    ReplyDelete
  2. The amount of bloom in the game is configurable :) some people like more, some people like less. We usually have it turned up to max in our videos because we're stress testing the GPU, but when you play the game you'll get to set it to whatever you'd like :)

    ReplyDelete