Post news RSS Project_BuildTutto Development Update 31

In this series of updates I'll document the development process of the game in detail, post timelapse videos of the work, and talk about some features...

Posted by on

Hello everyone!

Stefano here with a brand new Project_BuildTutto Update!
This week I moved to my parent’s house for the summer so I wasn't be able to produce videos, but for the next weeks I'll try do that and MAYBE even stream something on Twitch if my connection allows that!

IMG CHANGELOG 16

IMG STATS 15

Walls and Roofs collapsing

Last week I introduced to you the new StructuresManager class with its new classes and objects.
Objects like roofs were particular complex since the player will have to be able to manage them properly to build the right structure and supports for the building in order to not fail in it.
Poorly designed roofs will indeed collapse and fall down, and they could also destroy objects below them!
So, this week I added all the conditions and checking where roofs and walls should collapse and the following condition are now present in the game:

  • A group of roofs will collapse if the player decide to remove a wall that was previously supporting those roofs, leaving them without nearby walls to offload their weight.
  • A wall, and the roofs supported by that, will collapse if the sum of the weights of all the roofs supported by it is greater than the maximum weights that that wall can support.
GIF ROOFCOLLAPSE
GIF WALLCOLLAPSE

Improved Indoor recognition

Before the indoor recognition system was pretty easy since it checked only walls and doors to delimit all the rooms of the level and that was it.
Now, a room without a roof is obviously not an indoor space, so I had to improve the previous algorithm to be able to check for roofs too to be able to recognize a correctly indoor space as a room.
To be able to achieve that result I kept the old system, but after one run of it I check that all the rooms have a roof in each tile of them, if one tile is missing a roof I set that tile to be outdoor and propagate it on all the rest of the room.

New Indoor Light system

With the new indoor recognition system I wanted to also improve the old indoor light occlusion.
Previously the rooms were lit until the last wall was installed. Once they became an indoor room I started to render all the indoor tile as dark tiles. The problem with that was a very unrealistic feel of sudden darkness in all the room which was totally not what I wanted.
Now instead of just one type of dark tile I have two (maybe more in the future): a soft darkness and an hard darkness. The new rules that the light renderer follows to assign darkness to a tile are simple:

  • A soft darkness tile is rendered when it has a roof over it and has at least one tile adjacent to it with the normal ambient light (no darkness)(solid walls counts as full darkness)
  • A hard darkness tile is rendered when it has a roof over it and all the 4 adiacent tile are hard darkness OR soft darkness OR a solid wall

This system create a very basic way to fade lights. A simple but quite effective way to improve the previous system.

GIF NEWDARKNESS

Keep in touch

If you are curious to see how things will go feel free click any of these links to join our community:
Discord Server: Discord.gg
YouTube channel for Timelapses: Youtube.com
Twitter: Twitter.com
Changelog: Docs.google.com

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.