Wipe layers and make it nicer.. ;)

So a few things happened over the week, first, clouds are working, the SSAO shader has been optimized and looks great now and I killed off a few of the layers in the overworld to redo a bit of the groundwork.

Silent is now working on the water layer and being able to add it to the overworld with a few clicks – So in advance I’ve made some trenches for the water to be added to, added some simple bridges, added even more trees to the area and added both a parallax mountain range in the background and a ‘temple’-ish building in the mountain face, which will one of the ‘dungeons’ players will be able to enter.

Screenshot 2016-01-13 23.08.48 Screenshot 2016-01-13 23.09.04

In other news; we reduced the size of our world files by a lot by not including heightmap information anymore (it was required for the navigation meshing to build it, but not to actually use it.) – saves around 80MB uncompressed data.

This week’s “work-out” will consist of a few things:

  • Silent’s working on the water layering and was/is working on shadowing although that part is on the backburner for now. Need more work done in the editor first (adding lights with radius etc.)
  • I’m working on prepping the overworld, teleport triggers and pretty much starting the preparations for the first dungeon tiles.
  • Also a lot of cleaning up in the code, some leftovers from the old rendering engine needs to be removed, updated and need to streamline some of the code regarding how we talk to SquidUI.
  • Fixing the audio

So, what’s all the talk about the water layer? 

Since we want to add water to dungeons and the overworld I came up with the idea to actually use our ‘add’ system to add water to the world by placing a single block and expanding on the horizontal and downward vertical space, filling in any void it can find without actually ‘leaking’ into the real void.

This way we can easily add and remove water, block water from going places and make them unrestricted in the vertical space, which was a problem in our previous procedural world.

And the dungeon tiles?

As explained in a few posts back – our dungeons will be semi-randomly generated with the use of tiling – basically stitching together a big dungeon based on numerous amounts of dungeon tiles (a tile being something like a corridor, or a room, etc.). The dungeon tiles will be thematic, so that you’ll get caves, sewers, castles, temples etc.

It’s a bit tricky on the technical side as all of a sudden we have a bunch of different tiles that need to form one world, with one pathfinding lookup and preferably one physics body. So far it’s working well for the overworld but that’s only one tile.

Cleanup

The clean up is something we do on a day by day basis, a lot of code got commented out when we changed rendering to mesh rendering instead of chunk rendering. And we need to clean up Squid UI code calling since we had some small issues where one would start the game, go back to the main menu, start the game again and found out that 2 UI objects weren’t recreated. Not SquidUI’s fault tho – just our multithreaded code by the looks of it.

Overworld got some cleaning as well, making sure that smaller nodes were removed in favor of creating a bigger node (less vertices to worry about), mostly done for the underside of the world where no player will ever venture 🙂

Fixing the audio

Initially I had Stanley’s Parable’s song just for fun, removed it now because well, it is not our work – so in exchange I added some bat cave noises for the cave and some water sounds for the waterfall instead… to find out they don’t work, by the looks of it they don’t work because XAudio is trying to play them both on the same mixer channel and they cancel eachother out. At least that’s what my current guess is. Looking around the internet I do see a lot of ‘submixing’ terms and I think I might have left that part out when I was recreating the audio engine. #oops

So that’s it for now, more info later 🙂

Add a Comment

Your email address will not be published. Required fields are marked *