Malevolence: The Sword of Ahkranox is an indie game with the intent to recreate the amazing turn-based, first person RPGs from the golden age of PC gaming using modern game engine technology. Rich classics such as the Might & Magic series, Eye of the Beholder and the like have inspired this new title which, when finished will put its players into a literally infinite fantasy world filled with procedurally generated content. The Sword of Ahkranox isn't trying to compete with the larger, professionally developed RPG titles out there, but instead our aim is to fill a large gap that we believe has existed in game technology since the mid-nineties. It is definitely a must-have for all enthusiasts of the quintessential RPG. The game's procedural engine can generate an infinite number of weapons, items, spells, monsters, dungeons, cities, countryside and even dialogue, allowing the player to explore the game with no end and no reason to stop.

Post news Report RSS The Great Outdoors

Right, so we've been busy lately... Outdoors are really starting to shape up the way we want them to!

Posted by on

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 here 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!

Post comment Comments
SinaCutie
SinaCutie - - 70 comments

Hot damn, this is looking pretty amazing!

Reply Good karma Bad karma+3 votes
CumQuaT Author
CumQuaT - - 776 comments

Thank you! We're very proud of the way it's turning out!

Reply Good karma+2 votes
Xsnip3rX
Xsnip3rX - - 72 comments

Don't suppose this was made in DarkBasic Professional? looks like Evolved's Advanced Lighting shader. looks good though none the less.

Reply Good karma Bad karma+2 votes
CumQuaT Author
CumQuaT - - 776 comments

If you read the article it's in the second line. Yes, we've been getting help from the Evolved dude. He's a very clever guy!

Reply Good karma+1 vote
myxale
myxale - - 666 comments

I imagine that after some epic Dungeon-Crawling, some outdoor beauty is most welcome.

Somewhat unrelated, but still:

Will you guys support Wide-screen?
Sorry if you already covered that question!

Reply Good karma Bad karma+1 vote
CumQuaT Author
CumQuaT - - 776 comments

Yes indeed! The game supports both 4:3 and 16:9 gameplay modes (it's truly a thing to behold in widescreen, btw). I believe if you look through some of our screenshots in the library above, you'll get to see some of it!

Reply Good karma+1 vote
Expack
Expack - - 312 comments

Here's my thought on the lighting situation: since players will be moving through the environment at a predictable speed, and since there's probably a draw distance for the player, couldn't you simply create a real-time shadow baking method which takes large chunks of the procedural landscape and is able to provide fast, efficient, cached, and high-quality lighting? The reason why I suggest this is the engine is probably going to have to know ahead of time what the player will be seeing in an area before they actually reach it. Therefore, why not be using a pixel/vertex shader to compute baked lighting on the GPU before you reach the area? In fact, you could probably make baking the initial area the player will see part of the outdoor loading process!

Also, nice work on what you've been able to do so far with the terrain, and I'm glad you've decided to implement underwater areas and dungeons! Just as a quick last question, might you consider adding air pockets into some of those underwater dungeons? It'd be nice to have a place to go when the player's run out of water-breathing potions.

Reply Good karma Bad karma+1 vote
CumQuaT Author
CumQuaT - - 776 comments

Hi Expack! We'd considered doing batch baking like you suggested, and even prototyped it, but it left people having to wait an average of 2.3 seconds when moving to a new zone, which was kinda fine, but if you were exploring along the edge of a zone, it'd keep happening again and again, which definitely wasn't cool. The method we settled on works really well, it just means you have to have a slightly beefier computer than for other games (not much though)

Air pockets are definitely going to be happening. If you find a dungeon entrance underwater, you can go down inside it and breathe the (stale) air inside the dungeon :)

Reply Good karma+1 vote
Mr_Cookies
Mr_Cookies - - 750 comments

Hmm... now the world will be VERY BIG... how about fast travel and horses too ?

Reply Good karma Bad karma+1 vote
CumQuaT Author
CumQuaT - - 776 comments

I can't say too much at this stage, but why ride a horse when you can ride a GRIFFON??? O_o

Reply Good karma+1 vote
CumQuaT Author
CumQuaT - - 776 comments

Was that too subtle? >_<

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: