Stefano here. Man,it's been a while since the last update! Many things has changed and many new things are appeared, so let's dive in in the changelog straightaway! But before that, here is all the timelapse videos of this week:
During the holidays I didn't record myself coding because I didn't worked regularly, that's why most of that work isn't recorded.
Fully automated electric workflow with electric machines
In the previous update I wrote about electric cables and generator, but this time those things actually are useful in the game, because now the game has machine that suck all that juicy electricity to work! Machines like the Roller and the Die Drawer now needs electricity to work, if they do not have electricity the guy will try to work on those but then it will get stuck and abandon that job until the machine will have electricity (more on stuck jobs later). Also, the process of working on an electric machine is fully automated if you plan out the right setup, because guys are now able to check if a generator is fully charged or not, if it could feed more electricity in a grid but it lacks of fuel a guy will be scheduled to grab some fuel and feed it to the machine in order to maintain a high electric charge in the grid.
Electric Conductivity of materials
Raw materials have now the Electrical conductivity property. Based on that electric components made of different materials will act differently and will have different stats. For example a cable made of iron will have a maximum capacity of 100 electric units and will output at a rate of 1 unit per frame, while a cable made of copper (which has a much higher electrical capacity) will be able to store up to 700 units and output at a rate of 7 units per frame. This will have an impact on how the game work because for example 1 unit per frame isn't enough to feed a roller machine which need an input of 3 units per frame while it works, so the machine will work slowly if connected to an iron cable instead of a copper one.
PS:Making an electrical cable with wood isn't a great idea since it has no electrical conductivity, but you can still do it if you really want it
Stuck jobs recognition
Let's keep making the order's data structure more and more complex! Yay! Since the game is growing I keep finding faults while I test the game which leads to improvement on the main structures of the game in order to allow me to fix all that crap. This week I had to face the problem that my previous structure didn't support the fact that sometimes a job can't be done straightaway but it needs to wait for another job to be done.
To fix that I had to pair to each order tree a number which will tell to the system if that tree is currently stuck or not, and if it's stuck the system can check why it's stuck (based on which number it reads) and try to see if that could be unstuck now or if it has to remain stuck a bit more time. The system now support the following condition:
- NOT STUCK: the tree is not stuck
- STUCK_NOELECTRICITY: the tree has one or more machine that doesn't have electricity to work.
- Is triggered when a guy tries to work on a machine and see that doesn't work.
- Is resolved when all the machines in the tree has more than a threshold of electricity stored.
- STUCK_MACHINEBUSY: the tree has one or more machine currently busy.
- Is triggered before a guy tries to grab an item to place it in a machine which is busy.
- Is resolved when all the machines in the tree are not busy (it also check if there is more than one machine to do the job and tries to replace the old busy machine with another machine which is not busy)
Lights renderer and subtle effects
Since this week was the first week after the holidays I wanted it to be a good one and I took some time to add some spice to the game with few small graphical effects. The first obvious one is the presence of a light system to manage lights emitted from lamps and other future objects. This system will be remade partially next week because now it works with tiles but I don't like the results and it's not much scalable to bigger lights, so next week I'll remade it with raycasting to have a nicer effect.
Light will depend on the time in-game (day/night cycle will come next) and if a current spot is indoor or not to force players to take particular care of the lights inside their factories. A more subtle light effect is a moving fog layer before every object in the game. It's a very soft effect but in my opinion it makes the scene a little bit more interesting graphically and reduces the "identical tiles" effects when a lot of tiles are repeated.
As always, a lot of new objects in the game and a lot of new sprites are done.
- Cables have their own non-placeholder sprites.
- Walls are now tilable with nearby walls just like cables.
- DieDrawer, wires, filaments, lightbulb, lamps have now their sprite
- Furnace sprites as been remade to fit the current "all the machines have full top down view" style
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