Game dev, three months in

· by Steve · Read in about 5 min · (863 Words)

How about that 2016 eh? I mean, leaving aside that a couple of mature western democracies deciding that it was well past time they got a little ker-azy and lit themselves on fire in case it might distract from other problems.

Ignoring the 2016 “Cirque de Caca” thing, it’s been an interesting year for me. I decided to try being a game developer about 3 months ago, and that’s been a fun learning experience so far. 👾

Leaving the safety of triangle-land

As many of you know, I used to major solely on graphics before, although it’s been a few years since I did that. I’ve spent a bunch of my time learning about other aspects of gamedev, such as procedural generation and AI. Both have been very enjoyable, although I’m well aware that 3 months is barely enough to scratch the surface (I’m also still working part-time for Atlassian). I still have many subjects to cover.

Luckily I only need to learn enough to solve the specific problems I have in the games I want to make, which is a luxury I never had when building engines. It’s pretty nice to be able to focus on making something work solely for my specific use case, and not worry about all the other variants!

I still built some libraries though

True to form, I couldn’t help but release a couple of helper libraries that I’ve created as I went along. In the last 3 months I published:

  • SpriteRecolour - a system for changing sprite palettes on the fly with shaders
  • Spline2D - easy splines optimised for 2D games

I’ve created a lot of other smaller helpers for myself too but they haven’t really been worthy of publishing as a unit. Oh, and I also pitched in a bit on the development of UnitySteer, which I’m using for some of my low-level AI behaviours.

I’m wary of getting too distracted by tooling, but it’s nice to be able to give things back to the community where I can, since I’m constantly learning from other people.

Engine wrangling

I’ve chosen to use Unity and by and large I’ve been happy with it. As with anything you don’t write yourself, there are occasional misunderstandings & frustrations, but so far I’ve been able to work through them, and it’s definitely a net positive to be able to just customise where I need to, and leave most of the heavy lifting to others.

It still feels a little weird using C# for gamedev, particularly some of the performance characteristics being less obvious, but I’m not pushing any boundaries technically so the trade-off of a simpler language (compared to C++) feels appropriate in my current situation.

I really like how easy it is to tack things on to the editor, although understanding how state migrates, and making scripts work both in the editor and at runtime with their different lifecycles etc. can be a pain. Then again, that sort of conceptual issue probably comes up regardless of what engine you’re using.

I know, I haven’t talked about my game yet

I’m not ready to share specifics of what I’m working on with the general Internet yet, because it’s still very early days. I’m conscious that it’s fairly slow going so far, because I’m having to tackle all the non-graphics tasks for the first time, and the process of both learning and building a toolbox for myself - luckily not from scratch this time - is time consuming.

I’m expecting future prototypes to take me far less time, since all these pieces I’ve either built or selected from 3rd parties will be ready to go from the start. Unity has a lot of stuff built in, but you definitely still need a good toolbox on top to be effective. I definitely don’t feel effective enough yet.

Luckily we have a local Slack channel where I’m sharing early things with a smaller circle, which is less of a confidence hurdle for what is essentially a slowly evolving experiment in programmer art 😂 I’ll share it more widely when I’m happier with it.

Gamedev facets which interest me

In the absence of specifics, what I feel happy to talk about is the particular areas of game development which are influencing most of my exploration:

  • Non-violent games
  • Retro homage (re-interpretation not re-creation)
  • Co-op for couples
  • Text narratives
  • Non-reflex action games
  • Iterative exploration

I have a fairly large folder full of ideas, most of which intersect those facets in one or more ways, and I hope to some day be able to do them justice. Maybe I’ll expand on what I mean by some of them in a future post.

2017: already?

So that’s what I’ve been pottering with in my little insignificant corner of the universe. I’m enjoying myself, and maybe one day one of these things I make will manage to bring a little joy to someone else too. I’d like that.

It only remains for me to wish you all a great holiday season and new year, and that in 2017 you manage to deftly sidestep the raging dumpster fires our respective governments are busily working on. 🤞

Have fun! 🎄🎁🍾