I’ve always been a gamer. Like I mentioned in my last post, I’ve been playing games, in some form, since I was 5 years old. During the early days of my gaming experiences I just simply enjoyed exploring and mapping all of the worlds that existed. I had a book that had a list of all the enemies Mario would face in Mario Bros. I also used to map the dungeons in the original Legend of Zelda. As I got older I learnt to appreciate different artistic aspects in a considered way, particularly focussing on the graphics and music.
Music was another main interest in my life as I started learning the piano around the same time I got into games. I was given a bit of a head start in this area as I grew up in Wales, a country in the United Kingdom with strong cultural roots in singing. In Wales, there are not people who don’t sing. Everyone sings. Granted that some do it a lot better than others, but singing is normalized. Even now, this cultural grain runs deep.
I started writing some game-music-style pieces in school as I’d gotten hold of a free midi music making software called cakewalk. While I loved playing games, this was all in the mode of consuming entertainment. These game-music-esque pieces allowed me to create rather than just consume.
During university I focussed quite a lot on just music so gaming took a bit of a back seat save for the christmas WoW sessions with my home friends or occasional Warcraft 3 on the LAN in my student accommodation. I had a go, both for my undergraduate and my masters thesis to include games music as a subject but my supervisor convinced me that her expertise would not be utilised fully were I to research something that she wasn’t very familiar with. This managed to put me off doing a game related project until my PhD.
Early in my PhD I was introduced to MaxMSP, a piece of audio processing software developed by Cycling’74. MaxMSP could be described as a graphical programming environment. You manipulate pre-coded ‘objects’ on a blank page and then graphically connect them with patch cords. This sparked my first explorations into coding. I spent a full term doing practically no work directly related to my project as I was having so much fun with MaxMSP. The first thing I tried to do with it was make a musical transitioning program that would take a particular branch of bridging music from one loop of music to another. This was the sort of thing you could do in FMOD but I was coding it myself. I was quite excited about it and ended up using it in my final PhD thesis.
Luckily, around the same time I met three guys who were running a laptop orchestra in the music faculty’s department. Their laptop orchestra played pieces that were coded using MaxMSP’s graphical environment and also a programming language called ChucK, which I’d later learn was effectively a musically weighted version of java. That was it, I was in deep into the hardcore programming. Syntax and types and stacks and overflows.
It took me a long time to finish the PhD — they are a bit of a mental marathon — but when I got through I was free to learn about game design and to try and code something fun! I began working at a company that claimed to teach java. It got me reading and writing code pretty much daily, however a lot of that job was just copying from one area to another and being told almost line-for-line what to code where from the designers higher up. Even so, I was still practising coding and writing my own game in my spare time.
That brings us pretty much up to the present day. The game being The Cog Reaper, which I’m so nearly close to finishing! Through building this game I feel I’ve learnt a TON about what it mentally takes to get something [almost] released. While I certainly have a long way to go before I could offer any kind of potent technical advice, i’d like to share what i’ve come across for what it’s worth. I’ll write next time on some of these experiences since beginning work on The Cog Reaper and how I felt about them.