eSports / enjin

Blog 11: Flood Fill Algorithm
A Turret's Life is a first person arcade shooter/tower defence game for PC and VR where you are the tower defending an area against the endless onslaught of attacking robots and crafting overpowered dream guns that can be traded as crypto-backed items. Updates Crafting Module Connections: This week I finished off the system for how each module gets connected to one another. Life Balance: I ended up taking things a little easier to help rebalance my hours. Progress Crafting Module Connections When placing the modules, it is required that they are all ultimately connected to each other (it might look a little strange to have floating modules). But this creates a technical question: how does the computer know what it means for them all to be connected? It is easy to tell the different modules to connect to each other when you are placing them, but deleting one becomes the problem. The computer would not know which cluster of modules was considered to be the main group and which was the unconnected group. I thought about different ideas on how to connect them, such as storing each cluster of modules in a list, where the list could only contain one module cluster to be considered connected. But this soon became a lot more complicated with having to manage all of the different clusters and what not. So, I decided on settling on a much simpler approach – one that you may all be familiar with if you ever used paint as a child :) - the answer is the Flood-Fill Algorithm. Do you remember the paint bucket in Paint that would fill all of the same color you clicked on? Basically instead of changing color, the algorithm checks if all modules are connected from a central module and remembers their state by setting a bool (a funny computer word just meaning true or false, eg “isLinked”). Every time the player places or removes a modules, the algorithm must run to reset the proper connected states. However, this requires a central module that acts as the origin for the “paint bucket”, if you will. Each major part of the turret will have a single type of base module in which the player can only place one of at a time, such as the turret body, ammo receiver, bullet case, and the camera sights. Without these base modules, you cannot use the turret and will be prompted to add the required modules. Life Balance Last week I was recommended to take a little bit of a break from you guys, I won't say by whom for anonymity's sake. So, I took this to heart and eased down a bit over the week to let my mind refocus. I still kept working on the project but I tried not to push too hard. I think it was the right thing to do since it let me do some more research on how to improve my diet and overall health. Also, my left wrist was starting to become disconcertingly weak for about two weeks, but is feeling mostly better now. Of course, a challenge for when resting, is starting back up again. I was battling a strong case of procrastination. It is so easy to get overwhelmed by everything that is needed to be done and yet all that really matters is that we start. I've read that if you can do something for 10 minutes, you can usually get into it, and can certainly say it is true from experience! So, next time you have a task to do, muster all your energy and just do it for 10 minutes, and the rest will follow :) Join the Community! Website: Telegram: