A status update, some plugin choices and some screenshots…
I can’t believe it’s been over a month since my last blog post – originally my plan was to write something once a week! Still, at least I have made some progress in that month.
My last post talked about the need to identify which Unity3D plugins I would like to use. So that’s where I have spent the majority of the last month, and I have managed to narrow down some of the choices.
Car Physics
I picked up Realistic Car Controller on sale last month, and I have found it easy to integrate into the game. Once the cars have been rigged (I use a separate project for this) I can export them as prefabs into the main project. I’m not 100% happy with the camera, as it tends to slide below the terrain when going down steeper parts, so I am writing an alternative camera script. It’s almost there, but seems to be a bit jerky at the moment, so I won’t go into any details yet. I’ll write another post about this when it is finished.
Water
There are some amazing looking water assets on the asset store. Reading the GAIA forum is an excellent place to start making decisions about this sort of thing – there are lots of people posting images, saying what they used to create them. Based on several of these I chose AQUAS, and I am glad I did! It’s very simple and easy to use, but hugely effective. Just check out the screenshots below!
Sky
Again, you are spoilt for choice when it comes to sky plugins. Many of them also handle time of day and weather effects too. But there was one aspect I was unhappy about with many of them, and that is how they draw their clouds. Most seems to draw to a cloud sphere that moves with the player, but I was struggling to get those to show on the car reflections. To optimise the reflections I wanted to keep the draw distance of the reflection probe low, but that didn’t cover the cloud sphere leaving me with three choices. I could either increase the draw distance and suffer the performance penalty, don’t have clouds in the reflections, or look for an alternative approach. I chose the latter, and found that Azure[sky] draws its clouds to the skybox. That’s ideal for the reflection probe, which clears to the skybox anyway. So I can have great looking clouds in the reflections without increasing the draw distance.
As an added bonus, the fog in Azure[sky] looks really great, as do the sunset/sunrise effects. I spent ages just watching the sun come up and go down again – very relaxing! It also handles time of day and has a good looking night mode. There are no weather effects yet, but the author says that they are coming.
Terrain
I really want to use GAIA – it produces lovely terrain with minimum effort. But there is still no sign of support for tiled terrains, which I am going to need eventually. The game currently exists on a single 8k x 8k terrain with a 4k heightmap resolution. It looks great, but I want a bigger map area, more like 32k x 32k. Of course, having a bigger map comes with its own set of problems, but i want a real open-world feel. I can’t create a single terrain of that size, so I experimented with Terrain Composer 2 which has built-in support for tiled terrains.
Unfortunately creating 16×16 terrains at 2k resolution brought my PC to its knees – although it performs most operation on the GPU I was running out of memory (12GB just isn’t enough these days!). I managed to get it textured (although I prefer the texturing from GAIA), but the map felt very bumpy. I think the stamps that come with Terrain Composer have so much detail and I couldn’t find an easy way to smooth the whole terrain. Then I tried placing trees. 2 hours later (no really) my PC finally blue-screened and I gave up. The 32k map will have to wait until I can afford a better PC! Hopefully by then GAIA will have been updated to support tiled terrains too…
Terrain Shader
Initially I chose Distingo, which has been shown off to good effect on the GAIA forum page. It certainly made the terrain look a lot better than the default shader (it’s also great value). But something was niggling away at the back of my mind. I had seen screenshots of something called Relief Terrain Pack, and it looked amazing. “Try it”, the voices kept saying. Eventually I relented and shoved RTP into my project.
First thoughts – OMG it’s complicated! So many options! But Youtube came to the rescue! I found this tutorial on how to add RTP to a GAIA terrain, and in half an hour I had an AMAZING looking terrain. With snow! Even more amazing was the performance – I can now run the game at 1080p on my PC, where before it would only run at 720p. RTP will combine the terrain textures into a single atlas (or two if you are using 8 textures), which I think is the reason for the improvements. I haven’t even touched the surface yet (no pun intended), and will play around with the water features at some point.
Level Design
So yes, most of my time has been spent designing an 8k x 8k world that probably won’t make it in to final game. But I am still learning Unity, and have at least identified most of the plugins I want to use. Once I came to terms with my inability to create the 32k world I was able to concentrate on making a demo game. I have six different levels types so I want to get a few of each around this island, mainly for the purposes of creating demo videos for a future Kickstarter campaign I am planning. I now have the beginnings of a level editor and have started on the GUI elements around that. The basic idea is that you drive around, find the level start points (which may be on roads, in the middle of nowhere, up a mountain etc.) then activate the level when you are at the start point. I may add a “quick launch” for levels that you have discovered, so you don’t have to drive across the whole map to attempt a level.
That was a rather long post – I guess that’s what happens when you write nothing for a month! Until next time…