Having previously worked for companies such as Westwood on Command & Conquer and on other titles as a contractor and consultant for EA on the likes of Need for Speed, FIFA and Crysis, Tom Spencer-Smith is one of the latest developers to leave behind triple-A and go indie.
At his new studio Indiegama, Spencer-Smith is working on multiplayer action-strategy title Army 21, which is currently in alpha. The team-based game can hold up to 60 players at once across six teams, and involves building up a base, defending it and destroying the bases of other teams. When a base is destroyed, the defeated players are then reassigned to one of the remaining teams.
We spoke to Spencer-Smith on why he's left triple-A to go it alone, why he's developing a risky multiplayer game for his solo debut and how procedural generation is forming a key cornerstone of Army 21.
How has your time at Westwood and working on real-time strategy games helped with the development of Army 21?
Westwood was my first introduction to the triple-A industry so of course I learned a great deal from it. I learned that the way things were done at that kind of professional level largely matched my prior expectations and suppositions; until you're an insider, you're never quite sure about what type of magic happens inside those studios. So it was a vindication.
One of the best lessons for me was about how good games become great games. How did the early Command & Conquer games become so great? I believe a big part of it was iteration within the studio – keep on playing the game together within the company and keep on improving it, until it is great. Then release it.
I saw a hint of this process myself as online lead for C&C Renegade; it was the play-session iteration on the multiplayer game mode that honed the fun of it. We did this both internally and publicly, during beta testing. This was also, for me, very much the most enjoyable part of development. So I was determined to use this approach whenever I could both within triple-A and later as an indie.
C&C Renegade also cemented for me where the long-lasting fun of a video game lies: in online gameplay, and particularly in team-based gameplay. Long after the mechanics and content of the game are familiar, the fun continues due to the interactions and emergent gameplay of the players.
Renegade was influential in my design of Army 21. They are both team-based 3D combat games with a mix of action and strategy.
Having built up such vast experience in triple-A, why go indie and develop your own game? How have you funded development?
My triple-A career has been primarily as a programmer working on online/multiplayer functionality. As such I had little creative input on projects I worked on. As an engineer with a creative nature, I longed to create something entirely of my own, to channel my own creativity.
But there is also a lot of enjoyment and interest to be had from the technical challenges. How can a solo developer manage the complexity of an entire game? If you are responsible for absolutely every aspect of the game, then you have to work smart and constantly make good decisions so that the task remains manageable.
You have to code with care and use best practices. You can't reach alpha and have hundreds of bugs to fix. Keep the code clean and robust throughout the entire development. Added to this, online game development in my opinion is a level of difficulty harder than other aspects of development.
Army 21 was self-funded from my savings. Tools and assets probably total less than $1,000; the real cost of course is my developer time. Army 21 actually evolved out of an earlier hobby project I had started during my contracting days. It is only this last year that I have been full-time on it.
As an indie, why have you decided to make an online-only, multiplayer focused game? How can an indie achieve the marketing required to bring in sufficient numbers of players?
I'm making such a game because that is where my passion and skills are. For me it is more important to make a game than interests me than to make something that is more easily commercial. It is a bit of a luxury for an indie developer to be in a position to do so.
Making a multiplayer-only game as an unknown indie is extremely risky. Not at all advisable! This is because of the chicken-and-egg problem of multiplayer games: the game is fun when there are many players; but the players only come when it is fun. It is critical that you somehow seed the game by building up a small active playing community before your main launch. This will be my major challenge going forwards.
There are some critical design choices that I believe are necessary. Most importantly, the game should be drop-in/drop-out, a.k.a. "late-join" or "join-in-progress", so that nobody is ever waiting for a group of players to gather before gameplay commences. Players must also be engaged during the entire game. You cannot have them ‘knocked out’ of gameplay or acting as a spectator.
The game must also be fun and challenging with no other players, and with very few players. I believe I have achieved this to some degree. The game is extremely fun with a handful of players. But of course the world doesn't yet know this.
My plan with marketing is to first grow a small player community organically, through social media and other avenues that raise the awareness of the game. I must also succeed in making the game more visually attractive, because screenshots and trailers are now the dominant player gateway to games. People who play Army 21 are generally happy with the visuals, but unfortunately that is not enough. You have to be able to pull players into the game. So it is definitely something I need to focus on.
On the flipside of the argument that doing this type of game is very difficult and risky, is the advantage that the space is uncrowded. Furthermore, it is very difficult to create and deploy such a game, so it is difficult to copy.
How does your procedural technology work in the game? Given the tactical nature of the RTS genre, can this technique really work here?
I use the midpoint displacement algorithm to generate the terrain, which is the key scene aspect that affects gameplay. Other fractal approaches could also work if they are quick enough.
In Army 21's case the heightmap is computed synchronously in a small fraction of a second. This happens both on the game server and game client, using the same parameters. Terrain does affect tactics in a variety of ways, as you would expect. In Army 21 you are given a random initial base placement but you can subsequently build anywhere you choose. I don't see any incompatibility between procedural generation and my genre. But Army 21 doesn't really fit well into any current genre. I guess I would call it a multiplayer action-strategy game.
I use the same midpoint displacement technique as the basis for other aspects of the render – terrain colouring, skydome, etcetera. The buildings and player models are also modelled in code. They certainly need work though – players initially find their simplicity and abstractness off-putting.
Why are an increasing number of indie developers utilising procedural generation rather than fully crafted experiences? What are the benefits of this method?
There are many advantages and attractions to it. To a large extent, it allows us to save manpower; man-years of artist work are replaced by man-months of programmer work. You can then hire an artist part-time for auxiliary tasks. Where an artist might produce a few dozen maps, procedural generation effectively generates infinite maps, or infinitely large maps, or a whole universe, or infinite universes.
There is also literally another dimension to procedural generation: time. We can define a fixed scene in code, but we can also bring it to life in code; how it changes over time, how it changes in response to everything happening around it. This is an aspect that excites me.
Procedural generation can be used both statically and in real-time. By static, I mean that you use a tool that ‘pre-bakes’ a level made procedurally – applying lighting, pathfinding or other aspects to it in an editor. The other approach is real-time generation, where the content is created in-game at runtime. At present this is relatively uncommon, as there is little support for it within the dominant game engines such as Unity and Unreal. This will hopefully change.
The interest in procedural generation has been much enhanced by the growth of shader technology over the last decade; the migration from the fixed to programmable rendering pipeline. We can now run code on the GPU.
Part of Army 21's future plans is to take advantage of this. Currently Army 21 is fixed pipeline. When developing solo, you have to pick and choose your battles en route to alpha. I chose to focus on gameplay over visuals. I now need to focus more on visuals.
Artists will never be completely replaced in the games industry. Not every game is suitable for procedural generation, but I believe it will become commonplace in games, both triple-A and indie, as tools and techniques improve.
In the future it will probably be artists who are choosing the parameters of the procedural scenes. We still need the aesthetics of an artist to find or define the beauty or the visual style.
How does your plan to work with the community in the long-term work? What role do you envision players having?
I want to grow Army 21 over many years, both in functionality and scope. If you provide the channels for communication and discussion, players will tell you what they like and don't like, and will contribute many useful ideas. Adopt the best of these. Make the community involved in growing the player community, because the more players there are, the more fun the game is, along with the ‘metagame’ – the whole experience of Army 21, both online and offline.
I want the players at the top of the leaderboard to be famous, respected and rewarded. The story behind the game is really that this fame extends beyond the confines of the game. Whoever makes it to the top tier of the leaderboard is by definition a great leader, great strategist and a great team player.
I want the player community to feel that they share ownership in the game, to fell invested in it. To know that it can and will grow and evolve over many years. I have no shortage of ideas for where it can go. Nor will they.