It hasn’t always been true, but modern videogame development tools allow for a huge range of team sizes. At one end you get indie development ‘teams’ of just one person, to the massive, multi-national, hundreds-strong teams of big console publishers. Well Played Games is at the smaller end of that scale, so Combat Card’s team varies between three and ten people, depending on the needs of the project.
Up to now I’ve mostly talked about the design behind the game, but design is of course just a small part of what’s needed to create a game like Combat Cards. We wanted to use some of these blog posts to introduce some of the people at Well Played Games, and talk about the different skills and disciplines involved in building a game like Combat Cards.
I’m Tim Page, and as Technical Director my focus is on the programmers and technology of the game.
When introducing what I do for a living as a games programmer, like most people in the games industry, I think people assume we just play games all day. Of course the trouble is you have to write the game first, and that’s a pretty big and complicated undertaking! Fortunately, even after my 20+ years doing it, making games is a continually interesting challenge.
So what is a games programmer? Fundamentally you’re the person who makes the PC, mobile device or console do what you want it to do… which means learning a programming language.
Programming is a skill that anyone with a logical mind can pick up – it’s more about learning to think about and express what you want to happen in a ‘computer friendly’ way than about learning how to type pages of arcane instructions.
These days, Primary school kids can learn to make simple games in visual programming environments like Scratch, and there are tonnes of resources online to help you learn at any level.
Aside from learning the programming language itself, the main skill of coding is learning how to approach a big problem logically and break it down into manageable chunks. By carefully splitting the game into smaller systems – each doing a specific job and only interacting with other systems through carefully designed interfaces – you can build and test one piece of the game at a time.
And, while it’s always surprising how many little systems go into making a game, step-by-step you see the game in the Designers’ heads becoming reality. It’s a really satisfying and fun process for a team of developers to go through.
One of the most exciting (and sometimes frustrating!) things about making games is you rarely know exactly what you are making until you’ve finished – and there’ll be a lot of iteration and wrong turns along the way. So it’s really important that programmers build the game flexibly, making trying out different game design ideas as easy as possible.
We’ve taken pains on Combat Cards to expose as much control as possible over the way the game works to the Designers, so by changing values in a spreadsheet they can tweak and experiment with the game without needing a programmer at all. This also means we’ll be able to fix, balance and tweak many aspects of the game live, which will be really important when it’s released.
Many game developers use a game engine to build their game, which at a stroke gives you the core technology that any game needs – drawing images on screen, animating and displaying 3D models, getting input from the player, running on a range of different computer platforms, tools for artists and designers… and any number of other things that programmers would otherwise have to write themselves. This means the team can get started on their game on day one, rather than waiting for programmers to create the basic systems.
The most popular commercials engines are Unity and Unreal, and both are free for personal use, if you want to try one. We are using Unreal for Combat Cards, but Unity is arguably the more popular and user friendly of the two for Indie developers and novices.
These big commercial engines are hugely featured, and the sheer amount of stuff you suddenly have access to can be daunting for less experienced developers. But because they are very popular, there’s a huge community of other users with tutorials, assets, and answers to technical problems. So if you have an idea for a game and want to have a go at making it a reality, it’s worth looking them up!
Thanks, Tim. As with all of these diaries, if you’d like to hear more about the videogame development process (or if you definitely don’t want to hear about it!) then let me know at [email protected] or visit the Combat Cards Facebook page.
Next week, I’m going to cover why ‘authenticity’ is important in a game like Combat Cards.