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 combining overpowered modules that can be traded as crypto-backed items.
Inputs and Debugging: This week I set the project up successfully for Oculus Go/Android development, am nearly finished getting its inputs ready, and found an ideal way to test and debug development for it.
Personal Experiences: At my day job I’ve had to do a lot of overtime this week and weekend, which has messed up by schedule and cut down on productivity on the project…
Inputs and Debugging
Last week I finished getting the desktop input system in place, which is easy to tweak and develop for. This is because you can do everything right from inside the game engine, which lets you see values as you press them. You can even test and debug by going through each line of code while the game is running! But when testing with Android devices, such as the Oculus Go, this luxury is not available.
For the Oculus Go, the process of testing becomes remarkably tedious. First, you must make a “build” of the game since the Go is an external device. Building is when the game code and assets are converted into the files that are actually run to play the game. This process varies in time, but for small games can take several minutes, and can take over half an hour or longer on larger games. When you do a build, you have to let the computer do its thing, then upload it to the device, which prevents you from doing any work; so, as you can see it is quite inconvenient for testing; it doesn’t matter how small the change is, the build time is the same. Next, for the actual debugging, I tried looking into a couple different methods, such as an external plugin, abd command lines (software to connect the device to your computer over wifi), the official android studio app, but finally stumbled across a new method within the Unity game engine itself that allows me to easily debug the game by seeing a printout of events happening. Now, unlike when developing on the desktop, you can only read messages but you cannot view the game in the code itself, so this is still not as ideal but it is the best that can be done that I know of.
Anyhow, by using the debugging for the Oculus Go I was able to find out the proper device names that Oculus Go requires and set them up to be read. The last steps are to tweak the various controls to what feels right on the default remote. In addition to running on the default controller, A Turret’s Life will also be compatible with any Bluetooth gamepad to maximize the gaming experience.
The next step after the finishing the inputs is the implementation of the User Interface for customizing your turret which will integrate directly into back end system for user account management + Enjin Coin 😊.
In the past blogs, I’ve detailed some of my internal struggles of balancing my life with the project, and the lessons I have been learning through this process. But this week, I’ve had a new challenge that is beyond my control – trying to balance the project when my day job follows me home!
At my day job, things have been getting quite busy, and I’ve had some late-night overtime this week, which physically exhausts me and makes it harder to work on the project in the morning. Then both Saturday and Sunday I had to do overtime remotely as well. Goodbye personal life!
At this point, all I can do is soldier on and keep enduring and hope that work returns to normal soon. I’d much rather spend the time working on A Turret’s Life than doing overtime, but in the meantime I will do what I can to learn from even this experience.
Join the Community!