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

Turret Design: This has been a fairly productive week so far. I have been implementing the player character system and created a mockup to figure out how all the modules need to connect to one another.

Personal Life: My diet and life balance struggles continue, but I am learning more and more.

Progress

Turret Design

This week I have begun working directly on the turret itself/player character. I have started off with the low-level aspects like architecting how all the data-structures of the modules and their stats interact with one another. The greatest challenge was figuring out how to handle when the player swaps a module for another. Changing the stats is easy, even changing the model is easy, but the hard part is when the modules of one module are connected to another. For instance, the muzzle modules are attached to the barrel, so when the player swaps out a longer barrel for a shorter one, the muzzle has to change its position as well. The easy approach would be to try to parent the muzzle to the barrel, but in this case, it would be considered part of the barrel, thus would be despawned as well. Instead, this is handled by an object-oriented programming practice called “abstraction”. Instead of having the visual models connected to each other, a separate non-Unity class manages to connections. So, when a model is despawned, these abstraction classes still have reference to each other and can then get access to the latest model the player swapped in to set the visual attach points accordingly. Ugh I apologize for that terrible wording! Anyhow, a benefit to using these abstractions is that it allows me to design a system once then reuse it for all the different modules. It is harder to get right in the short term, but saves a lot of time in the long run.

I also created some basic mock-ups of how all of the different modules would look and interact with each other (I’m sure you guys don’t want to see my programmer art haha). The main point here is to figure out pivot locations. The pivot determines normal position for the model when it is loaded into the game. For instance, suppose you have two barrel-modules with pivots facing different directions, when you swap them out, the new one might be rotated 90 degrees and be pointing the wrong way! Pivots are only one issue with models though, scale and position are other big hassles. It is very important for the 3d modeller to remain consistent with the models and follow a standard so you can swap models out without issue. I don’t have to worry about this now, but once I start on the art this could be an issue… Otherwise I might have to manually adjust the pivots myself or try to come up with a programmatic solution that applies offsets all the time (at my work I had to do this and it was a nightmare! The artist rigged a model with the forwards axis as up)

Personal Life

I have still really been struggling to balance my life between the project, work, and personal time. I find that there is plenty of time in a day, but mustering the energy to use it productively is the real challenge! I am not moving very efficiently and my mind likes to procrastinate. At first, I thought that this was because I have terrible willpower, but now I am realizing that it is due to a lack of physical and mental balance. It is true that I have much to do, but instead of keeping my mind in a “always work” zone, which leads to fatigue, I need to try to find some time each day to just relax and de-stress. But this is also a matter of changing perspective. Even though I really enjoy working on A Turret’s Life, I am used to a project management mindset where every feature is a task that needs to be done for the next milestone. I instead need to enjoy working on the game in the moment, instead of looking to the future to find satisfaction. Learning how to apply this would drastically reduce stress. I really believe that this can be applied to many other areas of one’s life; I hope you guys can find something useful through this and try to apply it to your life to enjoy the moment instead of the far-future goal.

That’s the mental side of things. Physically, I have managed to keep my goal of cutting sugar out so far for two weeks, despite constant temptation at work. However, my body is not happy about this. I have never felt strangely exhausted in my life. It’s not like being exhausted after a workout where you feel like you’ve drained your batteries – instead it’s like your batteries are already empty before the workout even started! I read that this stage can last 1-4 weeks, and I think I am starting to recover (fingers crossed). But boy this sure isn’t fun and doesn’t make life any easier.

The learning to de-stress thing reminds me from the song “Time Stand Still” by Rush, with the line “I’m not looking back but I want to look around me now”. Are any of you guys Rush fans 😊?

Join the Community!

Website: https://www.aturretslife.com/

Telegram: https://t.me/aturretslife