Post news RSS Project_BuildTutto Development Update 20

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 the 20th Project_BuildTutto Update!
Man, these weeks are passing by so fast that it's incredible.



IMG CHANGELOG 5
IMG STATS 4

Alloys and AlloyMachine

Alloys were the classical things that were sitting in my todo list for so long that I almost forgot them because I was always thinking "Oh that thing will take so long to do it and will mess with so many other things in the game that will take me forever to do it" so I was always procrastinating over it. This week I somehow found the force to attack that todo-list point and, to my surprise, I was wrong about it because it did not messed up too much with the other part of the code and it was also pretty quick to do it!
Alloys are a rawresource-like item in the game that will have the same exact purpose off raw resource but can't be bought with in-game money. They are usually made inside a machine called AlloyMachine (Temporary name I think) and it take two specific raw material object (usually metal-like).

GIF BRONZEMAKING

(Raw_tin sprite is still missing)


Two raw resource to make one item which is basically a raw resource? What's the point, you may ask. Well, an alloy has different properties from the two base one used to make it! For example, you can melt together tin and copper inside the alloymachine to make bronze, which has different base properties from copper and tin alone. Since the whole game revolve around the use of the correct materials for each object to have an optimal performance and output, this alloy mechanics can play a major role inside the game.

Guy's improvements

The work on the alloys took me only two days, so, on the other two days, I worked on the other todo-list point: Upgrading the codebase of Guys and their graphics.
The first needed step was to split the previous single class "Guy" into two classes "GENERIC_Guy" and "Guy_worker". This let me split the general functions and behavior of a normal guy (Like pathfinding, movement, sprite rendering) and leave the specific functions of a worker (Like order processing, building, grabbing, etc). This will help me a lot in the future when I will add other guys which will not be worker.
The second part of this point was to add stats to each guy in order to diversify and characterize them.

IMG GUYSTATS


The stats let me add visual changed to them too. Now each guy can have a sprite made of:

  • 1 of 4 head shapes
  • 1 of 4 hair types
  • 1 of 4 hair colors
  • 1 of 4 body shapes (based on their strength and weight)
  • 1 of 4 skin colors
  • body vertical scale based on their height stat

IMG GUYSVARIATION


IMG GUYSVARIATIONSZOOM

This properties lead to a pretty high number of different combination, but I'm still not 100% satisfied with this since I have still some work to do.

Small lights improvements

A small change that can benefit the game visual a lot is that I improved the light rendering over doors. The light (or better the "darkness") of a closed room was previously rendered by full tiles, this was not working nicely with doors since those are not full tiles. To fix this I had to fiddle a bit with the raycasting behavior and change it when the ray was hitting a door object.
Another thing to solve was that when a door is open it should let the light pass through. This is still a work in progress point since I have to keep in mind a lot of different situation and I have to experiment a bit with this one.

IMG DOORCLOSE


IMG DOOROPEN


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.