If anyone has actually been following me then you may have noticed that some blogs have disappeared. Here’s an update on how my year of running my own games studio has gone and what I’m up to now. Note that this blog has been repurposed to show off some differences between now and last year as I shouldn’t be using assets from the old studio in this blog.
My studio, BestInSlot, didn’t exactly go the way I planned it to. Two members remain of the original six as a result of us splitting up. I will say that I was under a lot of pressure from personal things going on in life, but I really tried my best to keep everything together and keep people motivated and productive until I realised that this mentality wasn’t shared by everyone. In a university assignment, you get slammed into a team and if you want to get a better grade you have to work for it. The mark scheme is never fair, and so while you do the majority of work people you carry will still achieve the same grade. However, this year was different — we were a team of five programmers and one artist who were challenging themselves to make something. The task at hand wasn’t something you could push through in a week, so if someone didn’t do their bit then simply doing it for them won’t cut it.
In this sense, this was my first time leading a team where I couldn’t simply micromanage everyone to get results. When we started having problems, I had to try different methods to motivate people. As time went on the pressure built up on me, and during one of our meetings it became apparent that the quality of communication wasn’t of the standard I’d have liked. Things that were on GitHub weren’t read, and people’s opinions had to be worked through in order to be made clear. We met up with our tutors from university for a scheduled half-way review of the year. It was a shitshow. The tutors know that I’m hard working, and so when I was transparent with the GitHub analytics it was clear who was and wasn’t working. I can confidently say that I tried my very best to do my bit and further myself, and that I can’t say the same for anyone else in the team other than one. In the end, I decided that removing myself from the equation will make benefit not just me, but everyone. While they were angry at first, I like to think that my departure gave them a reason to start fresh and should hopefully thrive from it.
I can’t say I’m not at fault — I made several severe mistakes with regards to the planning of the project. Following an experience from our previous year of university, we hated Trello due to the fact that we were forced to use Trello+ which felt unnatural and over the top for the project we used it with. Looking back, I now know exactly how important it is to use project management tools such as Trello in order to push through the development cycle and actually get something out there. While I’m on this topic, I heavily suggest you go take a look at Taiga.io. Taiga has just announced a new pricing scheme which may make things more interesting to those short on cash (just take note that right now it’s per person — if you invite someone to your project then you’ll have to pay. Their support says that they are planning to release a plan where you pay just for yourself and other people have to pay for their own membership).
Anyway, I went off topic, damn you Taiga.io for being so good! While people said that they weren’t interested in Trello, I am now aware that the team didn’t always speak their mind. I should have really thought things through in greater detail as to how we were going to plan our project. I knew that voting on absolutely everything was going to take a long time, so after the game was discussed in a meeting my right hand man joined me on an all nighter drafting a GDD. We colour coded it to differentiate things that we had discussed and things that we thought were a cool idea and wanted people to think about. After setting it to read-only, we let it loose on the team to see what they think. However, as the months went by it turned out that the team disliked the way things were done, and bottled up their opinions until things escalated. I didn’t realise that the game I was thoroughly enjoying making wasn’t the game that the others wanted it to be.
I delegated roles to the people that wanted them. I told the artist that they had complete control over the art direction as they know better than I did, and that they can use funds to look for freelancers to hire or assets to buy etc. With five programmers, I figured that we could burn through a lot of boilerplate code quickly and get onto the fun stuff. I wanted people to take their desired domain and really make it their own — with my area (which I shared with my right hand man) I quickly had something resembling a level editor where the player could create rooms and assemble them together, changing the wall, door and object locations and appearances as they go. I made it moddable, serializing absolutely everything — even the art. I was proud to have learned so much about Unity in such a short space of time, even if I hadn’t really touched the editor as much as I did the scripting system.
I miscalculated. I work in my own time, I will take days and weeks off if I need to as I trust myself absolutely to get work done. I live and breathe code, and I chose to do this for this year, why would I goof off when this is my aspiration — to do something I didn’t think I could? This didn’t translate with everyone else though. Without any funds to pay ourselves, the only reason we really had to invest our time was our own motivation. I am a motivated person, but it came to light that not everyone else was. People put part time jobs before the studio and League of Legends took over crunch time. I was murdering my sleeping schedule and free time for this studio. Granted, I enjoyed it, but the point is that I had to leave as the snags were caused by people simply not working.
To summarise, I split up with the studio because I scoped the project for six ambitious individuals and I was punished for thinking that people making games at university would work hard on a personal project for no money. I have learned so much from the experience though, and I do not regret anything at all. To my knowledge, their studio is going along just fine, and I know that the small game we’re making to test the waters of Steam is doing well. With not long left to go, I am writing this blog to warp back in time to before the studio went south — taking the knowledge with me of course. When I go back to university next year, I will be going harder on the studying than I have done previously knowing that I took those two years for granted.
I’m going to be blogging again as it is quite therapeutic and now that I don’t have the stress of a large(r) team on my shoulders I can find the time to do fun things again. For instance, I currently learning Haskell and it is now my favourite language. To quote myself from earlier today, I feel like I’m going vegan but in the programming world; I can’t help trying but trying to convince people to try it. If you wish to learn it, you should look into buying the HaskellBook or simply trying to hack Learn You a Haskell for a Great Good. It is completely different from imperative programming and will benefit you even if you don’t use it in the end. I’m currently furthering my Haskell skills via games development as I know SDL2 pretty well. I am moving away from Unity again purely to encounter and overcome more challenges, much like I did when testing out both SDL2 and SFML (the latter pictured below).
As I said, I don’t regret anything, but this experience has given me an incredible insight into how games development actually goes. What would be a first (highest grade) in a university assignment is simply a prototype, and there’s a lot of work that goes into a game from that point onwards in order to prepare for release. Sometimes, this polishing stage is actually more effort and or more time consuming than the game itself — our current game was made in a 48 hour personal game-jam where I was the participant. Now we are just adding levels, UI and quality of life updates. I hate it. The fun of programming for me is the challenge; to implement something that previously wasn’t there. I’ve already done the fun part, and the stuff that designers and artists would probably love I loathe.
While my aspiration is to own a games studio where I have a large hand in fleshing out the mechanics and context of the game, I now know that without employees on a salary I’m going to really struggle. Following this, my perspective has shifted, and I will now appreciate being in a games team a lot more now that I know the amount of work that goes in overall. I do not want to be stuck with the non-maths work after this game, I can assure you! It is on this note, that I conclude that learning Haskell in an attempt to be employable in fields other than games development is definitely my takeaway from this year along with the experience of handling a team I didn’t evaluate correctly.
Thanks for reading!