Hello again!
Hopefully this will be my last “lockdown” post as things seems to be going a bit better all around the world.
I wanted to share some new developments on the adventure project I started a couple of months ago and go a bit more in depth on some subjects.
Together with a few improvements here and there, the biggest addition is definitely the map I made to test out the current gameplay systems with my friends.
First, let’s check out a video that recaps most of the current features (sorry for the rough cuts!)
As I mentioned above, building a map this big and with so many paths required not only quite some practice with the Unity Terrain Tools but also research on composition, world design and environment art. Luckily, I have an extremely talented brother who could mentor me on the subject and dampen my instinct of oversaturating everything.
After a few performance tests and discarded scenes, I finally managed to select the assets I wanted to use (from the Unity Asset Store) and begin the construction! Here is a recap of the main steps.
First, I tested multiple metrics and setups to find good measurements to use in the world. In the screenshot you can see Green as good, Yellow as difficult, Orange as ambiguous and red as not performable.
Then I made a lot of micro scenes until I felt confident enough to start doing the sketch of the level I wanted to build, with its main areas, proportions and sight occluders.
After that, it was time to build a main blockout of the world with its main sightpoints using the assets I found as main “brick” and placing what would be the root scene that will always be active while playing.
Lastly, I added the chunked scenes that are streamed with all their contents and began to heavily populate with interactable objects, details and polish things a little bit. Below you can see the squares that define the areas: each of those is split into four sub-areas to optimize performance while playing.
I am quite happy with the result, even though there is still a lot of room for improvement as it was my first time doing something this huge and organic!
On another note, I also upgraded the Day/Night cycle system I wrote in order to have the stylized look I was looking for. Keep in mind that all illumination is realtime and using Unity URP, so it’s just a mixture of ambient settings, post process and fog values! Here is a quick video showing it in action.
To make things more interesting, I also wanted to challenge myself into implementing a wildlife system with some AI behavior. Even though I managed to make it work both locally and multiplayer, I still need to plug it in correctly with its spawning rules. But! It works, kinda, and you can see some examples of it below.
Last but not least, I dragged in a few friends to check how stable everything was, see if the systems were working properly and test performances together. A few mandatory bugs here and there, but overall it went super smooth!
Overall, I am extremely happy with the result so far, not only in its state but also in how all this made me explore and experiment with new concepts and systems that I never considered before. Most of them might be very simple to a lot of users, but for me, going from “scratch” and guesses to this result is a huge milestone.
Next time, I want to do the roundup of the third party assets I used, such as FMOD for sound, the 3D model packages and other extremely useful tools that I discovered during this journey.
Until next time,
Federico