This was supposed to be an obligatory post about coding and how bad I am at it but I’m instead going to use it to talk about how I structured my game in code. I figured I should try and get it out of the way now since most of the back-end stuff is complete, but there is a disclaimer that’s going to be pop up around here.
I am not a programmer. I do not claim to have any skill in proper, efficient, or even rudimentary coding practices, and most of what I’m going to spit out in the next couple of paragraphs is the result of me furiously Googling potential solutions to my problems that don’t quite work. /DISCLAIMER
With that, here’s an overview of the tools I’m using and why I’m using them.
After finishing my previous project Eternities (which I somehow completely forgot to post about on this blog, I think), I ran into the problem of completely forgetting to optimize the code for mobile devices. This was after 4-6 months of getting myself from “no coding experience” to “enough coding experience to finish a Flash game”, and I was tired of working on that particular project. So imagine the feeling you get when you first see your game running on an iOS device after having never completed a game project before, and then realizing that it’s running at literally 5 frames a second, after which you frantically search the internet and come to the conclusion that you either have to revamp your code or learn Objective-C to get it to run. I took the easy way out and just threw it on the internet, but Unity will help me avoid this situation in the future (I hope). I’m not going in with the assumption that I will NEVER need to optimize again, but at least with Unity I will be both learning a real 3D development environment (while making 2D games because I’m an idiot) and I won’t have to worry about super specific cross-platform details anymore.
2D Tookit by Unikron Software:
This is how I’m getting Unity to play nice with 2 dimensions. It’s a pretty easy-to-use toolkit (hence the name) that optimizes a lot of Unity’s workflow for 2D games, and I’ve found it pretty helpful, especially since my previous background involved FlashDevelop only. At $65, it’s not the cheapest solution to 2D inside a 3D environment, but then again, this solution doesn’t involve painstakingly making sure that every asset will play nicely in 2D, so I’m ok with shelling out.
PoolManager 4 by Path-O-Logical Games:
This is a little embarrassing, but again, disclaimer. After switching from Flixel to Unity, I was COMPLETELY stumped as to how to pool game objects for use and reuse, mostly because the way that objects interacted with each other in Unity was so different to me. This tool helped me wrap my brain around how pooling works in Unity, and that’s pretty much it. Not much else to say about it!
So there it is! My tools! But how does the game work, you ask? Well you’ll just have to wait for another post because this post is getting too large! At this point it should be obvious that I don’t really know how to talk about coding in a traditional, academic sense, so you’ll have to excuse me while I figure out how I’m going to approach this.