Dev Blog #1

Merry christmas and a happy new year! With 2021 starting, the page is back online after a few weeks of server struggle. An while most of my time went to work tasks and said server problems, I still did some improvements to my current projects.

First of all TAC has seen alot of optimization in terms of hit detection, performance and post processing. The field of view effect now has a smooth fadeout and the calculations for player and AI units are much more efficient. The old code could barely handle 20 units on old hardware, but will now run smooth with 50 units on-screen and alot more off-screen even on my very-much-not-gaming-compatbile-office-laptop. Nice. Since I intend to use a state system for my AI, the rest of my frames are free for the upcoming graphical stuff. I can already see this working with a wave mechanic. See here for how it looks at the moment. And yes, I’m playing around with music.

Also I researched more into Boids for a possible bigger work project and created a little proof of concept for controlling a swarm of drones with touch screen inputs. Some other developers have already taken a look into that mechanic, for example “Drone Swarm” (it’s pretty cool, you should check it out). I see a lot of potential in those mechanics and there is still alot of room for improvements. I guess the Drone Swarm devs are already working on the next version with a multiplayer. It makes total sense to test the idea and mechanics in singleplayer first and follow it with a version where you focus on implementing a multiplayer layer. 10/10 would recommend to any dev. Anyway, I took my own aproach on the topic.

Now I already made a tutorial on how to implement Boids into Unity. Which served well as my base code, but it soon became clear that I needed a little bit more than just 100 drones to achieve a good looking effect. Since the target platform is mobile, I’m limited in choosing my method of optimization. My goto option would be a ComputeShader, but they are not that well supported on mobile platforms and the last time it tried those I ended up lowering my fps by like 500%. So it’s the next best thing: The Burst Compiler and the Job system. Again 10/10 would recommend to any dev. Pattern-wise it’s similar to the Compute Shader: You create a native Buffer for Input and Output, fire the script and collect the results when you need them. I will make another tutorial on both, maybe continuing Boids as a series. For now just note that with the Burst Compiler and a few tweaks to the core Boid system I can display up to 10k drones on screen. A good result for 2 days of coding marathon. I also implemented a touch based controller to “fire out” swarms. The system would look better with a boost and…enemies to fire onto, but this is just a tech demo. I’m espacially proud of the very anti-climatic transition from menu to gameplay. It was late, don’t judge me.

Uniwars may benefit from those mechanics. I already thought about having a drone mechanic and maybe I will use some of the tech demo for that project. But we will see where this goes.

That’s all for now. I hope you all have/had nice holidays and f*ck 2020. I’m out.

Cheers

Related Projects

TAC

“TAC” was my try at a top down shooter similar to “Door Kickers” from Killhouse Games but in 3D (at that time I wans’t aware they had their own 3D...