2014 was the first year I spent almost entirely working on games. (One or two freelance projects didn’t qualify, but the majority of them were games, which is very exciting!)
As usual, I tried to split my time about 50/50 between freelance work and product development. I spent a lot of that product development time in 2014 working on Catchup. And, as expected, I still spent the majority of my time this year in Xcode, working on iOS apps. iOS is definitely the platform that it is still easiest for me to prototype in, simply because I am most familiar with it, and to some extent because I can re-use code from previous projects. I think I did less iOS prototyping this year than in previous years, but there are still a few new projects sitting around that I would love to give more attention to (and release) in 2015.
But the point of this article is that I also spent a lot of time thinking about different platforms. And when I started thinking back on this, I realized there were a lot of them. So here is a rough list:
- Unity – I’d “played around” with Unity before, but early in 2014 I spent a weekend at the Global Game Jam working with a rather large team on several games in Unity. Since I was such a newb, I ended up just playing pinch-hitter, helping out where I could, and in general learning as much as I could from the other more experienced Jammers. I left the game jam feeling like I could code a Unity game from scratch if I had to, which was far more skill than I’d had when I started.
- PuzzleScript – In the middle of the summer sometime, a few of us at #Doughvelopment (game dev co-working on Fridays from a donut shop) started playing with PuzzleScript. Mostly this was Ian’s fault, but several of us ended up working on PuzzleScript games. I was intrigued mostly because PuzzleScript is a language written to encode a particular type of game (box pushers in the Sokoban family) as simply and flexibly as possible. I got a couple of levels into a pretty derivative design before abandoning it, (in PuzzleScript it takes a lot of extra effort to be original, I think), but I spent at least a day working in the web-based editor, which is just very different from most of the coding I’ve ever done before.
- Board Game Development – I’ve designed a lot of board games over the years… but very few of them have had the sort of iteration usually associated with a polished (or better yet published) game design. Board Game Development is the process of playing and testing your design, then iterating on the rules (or as in my case, specific cards), playtesting again, and iterating again, etc.. The actual work involved ends up being quite different from game design, and this year was the first time I actually spent any time and effort at it during work hours. I’ve sort of put that game away for the near-future, but I do hope to get back to it again in 2015, possibly in a publishing context.
- Physical Games – This year I had some ideas for playground-sized games, including one idea that stands out above the rest. That game is something that I now consider to be a long term goal to actually see played / implemented. It will be expensive though, which is why it’s a long term goal. Incidentally, I can think of very few projects that qualify as “life sized” video games. There are a few, but nothing like what I’m envisioning. There is a blurry line here, for sure (is laser tag a life sized video game, for instance?), but the point is that I am moving slowly toward a real life implementation of this game. There will be programming involved, for sure, but that is only a small slice of the project in this case.
- Unreal Engine / Oculus – I do occasionally have ideas that are “bigger” than the 2D puzzle type games I typically make. Adding the 3rd dimension is not something I’m excited about, but sometimes I have designs that feel like it’s probably necessary. I subscribed to Unreal Engine ostensibly to start working on some Oculus games. (As usual, I’ve got lots of ideas.) I made a tiny bit of progress toward that goal, (got some of the sample projects working with my Dev Kit 2, as well as watched a bunch of Unreal tutorials), but ultimately haven’t really started coding anything yet.
- Processing / Arduino / L3D – I’ve always been peripherally aware of and interested in the Arduino / hardware Maker movement. In the fall of this year, partly as an extension of the physical game I eluded to above, I started thinking a bit about prototyping games with simple LED arrays. Then the L3D project fell onto my radar, and now I’m super into creating games for it. There is a Processing plugin to stream signals to the L3D, but in my testing so far, it’s relatively bandwidth intensive, so while I’ve done a bunch of work in Processing already (a platform I’d only dabbled in years ago), I’m now moving the project to “native” code running on the Spark core that powers the L3D. This means taking a step backwards in terms of functionality, but assuming what I want to do is possible, (reading Xbox controller input from controllers plugged into a USB hub that also powers the L3D) it should be much faster, and has the added benefit of not requiring a laptop/computer to run it on. I’m waiting for a powered USB hub from amazon, then I should have a quick test for this shortly thereafter. Anyway, in the mean time, I’ll be playing with some L3D visualizations needed to help “juice” the games anyway.
There are of course infinite things to learn and do, even limiting your activity to “game development”. I made a deliberate decision when I went independent to continue working in iOS so as not to lose the “depth” of skill needed to pick up a full-time job again if Abstract Puzzle didn’t work out, and I’m definitely not going to abandon that decision in 2015. That having been said, dabbling in new platforms gives you perspective! And as hot as IoT is right now, it probably won’t be a bad thing to have some microcontroller programming on my gamedev resume.