Stefano here, and welcome to the fifth Project_BuildTutto Update! This week's changes might seems fewer than the past weeks, but that's because I had to change a lot of stuff in the code to add the complexity level required by the introduction of the furnace object to give me better times when I'll need to add other "processing" objects. So here you have the videos and the changelog so then we can dive into the major changes!
Fire related properties to resources
This week's work started with a lot of researching and a lot of wikipedia. In fact I had to add to every resource some properties related to fire like:
- melting temperature, to know how much heat a furnace should produce to melt a certain material
- ignition temperature, to know how resistant can be a wood wall if it's near a source of heat
- flame temperature, to know how much heat a furnace can produce when at work
- burnup time, to know for how much a furnace can burn a certain material to produce heat
All this information at the moment are somewhat real but with some changes to make the game playable, you can see all this information in the third sheet in the Google spreadsheet changelog.
Furnace and Ingots objects
With all these new properties to play around I started to code the first material processing tool of the game, the classic furnace object. This will be useful to produce a lot of cool stuff in the game, but for now it will just produce basic ingots. This took a lot of time to code completely because it required many changes to the code structure of guy's orders and item recipes.
I had to change the nodes of the order trees:
and I also had to change the recipes of the items:
These two changes required a lot of changes here and there in the code since those were a fundamental structure of the whole game. So the final guy workflow when building something with the furnace will be something like this:
Changes to blueprint menu
The introduction of the new processing tool required some changes in the blueprint menu too because I needed to add something to tell to the system where the input items should be processed. This problem was solved by introducing to my custom GUI system the "radio buttons" object type. Radio buttons are a famous gui element that consist in a list of buttons where you can only choose one of them at the time. This kind of object was perfect for my problem because it allowed me to add this toggle below the crafting grid and add a button for every processing tool I have, so in this way the system will always check what tool is currently selected and react according to it.
Minor quality of life changes
This week I had time to add some minor code to make the life of the player a little bit easier when doing certain type of things. For example I added the possibility to hold the click when placing a ghost and drag the mouse around to place multiple ghosts easier.
I added something similar to the blueprint menu too so you can drag to place multiple items.
And some other minor changes like the ability to delete ghosts and debug items autoinstallation.
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