It’s been 3 weeks since I started learning how to make games, and I’m happy to say that my first game is finally up! Of course, it’s just snake, but finishing anything is always an accomplishment (especially for INTPs. We’re notorious for never finishing stuff once the “good ideas” have been kind of sketched out).
I’ve basically only been able to do anything during my lunch breaks, so I’m squeezing out the game in 1-2 hour blocks, and even then maybe only thrice a week. Some days I start coding after my wife and kid have gone to bed, and go on to midnight, but that’s rough on my body – I’m not twenty any more! All nighters are just no!
Slogging through a new programming experience
This is the first thing I’ve done using Unity (not counting the tutorial) and I have to say, I’m reasonably pleased at how I managed to do it. I have a background in programming (Pascal) so it wasn’t like I was coming in absolutely cold, but at the same time, the paradigm of programming has moved a long way from Pascal, which was very much a child of the 80s.
[programmer jargon trigger warning]
On the first pass, I basically approximated how I would go about doing things in Pascal. Basically, I defined a 2D array of objects and manipulated that array, and “printed” the contents of that array to the screen. So, this was a 3d engine simulating a 2d engine simulating ASCII art simulating movement. There ought be a gif for this.
I then iterated on this, reducing the 2d array to lists which contained where objects were and manually checking for collisions.
Finally, I evolved the whole thing into Unity proper and used the built in physics engine to detect collisions etc.
I kind of hate that people need to download the Unity webplayer to play stuff online, but it seems like a necessary evil at this point. Everyone I talk to seems to say that Flash is on its way out, and html 5 isn’t working out for games. Anyway, Unity doesn’t allow me to publish to html 5 anyway – and I don’t think I want to learn html 5 just for this. I’m actually kind of upset about this, because I know first hand that most offices block plugins other than Flash (which seems to be grandfathered in everywhere)… ah well. At least when the time comes, I’ll be able to make a true blue iOS app, which I’ve wanted to do since forever!
What comes next
In the end, my programming background didn’t help all that much, but all that practice did me good. I may even have to go back to that 2D array thing when I make a grid based game next (maybe like a match 3?), we’ll see. I might take 3 weeks for the next game, but hopefully I’ll have more to show for it! In fact, I’ve already started on the sprites for it.. Here’s a teaser. See you next week!