What’s your name/background and how did you start game development?
My name is Oliver Dolan, and I’m currently studying Computer Science with Artificial Intelligence at university, while making games in my spare time. I first started game development when I was 12, when one of my close friends suggested that we learn how to make one together. He lost interest fairly quickly, but I’ve been making games ever since, mainly in Unity. Autonomy is the first game I plan to launch commercially as I haven’t felt ready to release any of my past projects and I’m quite picky about what I put my name to.
What inspired you to create a dynamic space adventure?
Last year, I watched a let’s play of Sid Meier’s: Pirates! and became very interested in the idea of creating a living game world which isn’t just dependent on what the player does. I like the thought of going on a trade mission to a faraway star system, only to return to find your home world conquered as a result of political decisions beyond your control. It lets the player experience their own unique story and allows them to react to events in the game in any way they want. Some players might want revenge in that situation, and seek to hunt down the faction leader who ordered the invasion; whereas some players might be un-phased and move on. I chose space as a setting for the game because space exploration has always been more interesting to me than exploration of a single planet, and I quite like creating space scenes.
I usually see more polished art for a game created further down the road in indie projects. What made you work a lot on the art in the early stages of Autonomy?
Put simply, art was the only part of the game which I wasn’t confident in creating. The combat system is simple – I have actually made something similar in the past – and AI is something which seems to come naturally, so the only area which I was unsure of was art. Before deciding whether Autonomy would be a commercial game, I had to be sure that I could make it look good enough, so I worked on getting some nice ship models and planet textures together and building some test scenes in Unity. I used r/gamedev and a range of CG forums to gauge whether people thought what I had made looked good, and people seemed to be impressed with the screenshots, so I began development.
What is your way of getting into the gamedev mindset?
I’m usually thinking about the game if I’m not doing anything else, so I suppose you could say I’m always in the gamedev mindset. The great thing about being a solo developer is that if I get tired of programming I can just switch to doing something else, like art or design, to split up the time. One thing that is important to me while I program is music, it helps me focus and also drowns out any background noise.
What does your workflow look like?
Long term, I break the project down into sections – for Autonomy some sections are art, combat, etc. – and then design those sections in more detail, writing up class descriptions and inheritance trees, as well as the methods and functions I’ll need to implement. When that’s done I’ll create skeleton or placeholder classes without functionality and then fill those in as I go. I tend to run wild with the code if I don’t plan things out, so I structure it this way to ensure I’m keeping the project tidy, clean and modular. I usually informally test as I develop, but it’s still necessary to go through a formal testing stage before release to catch any particularly strange bugs which I may have missed.
As for daily workflow, I keep a mental list for each section of the project of the things I can work on right now for that section. Then I just pick whichever section I feel like working on and start completing tasks from that section’s list. It sounds terribly unorganized, but somehow it works for me, and I like having the ability to pick and choose what I want to work on; it keeps the project feeling fresh and exciting.
What has been your biggest lesson learned in your game development career?
If you’re not having fun play-testing your own game, you’re doing it wrong. I’ve worked on games in the past that I just found so dull to play, of course I always blamed it on the fact that I was “testing” instead of “playing”; however I realized that if I, as the developer, can’t enjoy the game, I can’t expect anybody else to. Enjoying your own game also keeps you interested in the project and makes you less likely to drop it out of boredom. I believe it’s better to take a little longer than you need to make a game because you’re spending a lot of time playing it than to get bored after a month and shelve it.