Last week we looked at the art team for Distant Star, talking about the development of ship and environment design and explaining some of the thought that went into that.
This week, we talk to the programming team, Trevor Fountain (Head of Programming), Gillian Patterson and Richard Humphries, who were working hard on code as we approached but happily engaged in some cordial and relaxed chat.
In fact, much like the art team, the coders seem to be well on top of the workload but we wanted to know more about what challenges they faced with Distant Star, and what languages suited the project.
Trevor pinned down the languages Distant Star used first, explaining the reasons why
“It’s mostly C++ for the engine and gameplay, the behaviour of things in the game and data defined in Lua, and the integration between these two languages is easy.”
“The C++ lets us port to future platforms really easily, so its available on everything and quite easy for us to get a version of the game running on iOS, PC or Mac.”
“Lua lets us pull in code after release, so we can script the behaviour of a new ship or weapon and the player can download that script, without having to download an entire new copy of the game.”
Trevor made the process appear seamless, the confidence from the team obvious throughout our chat.
His teams conviction in resolving challenges was obvious and Trevor was happy to identify two the team faced.
“Much of the control and behaviour of ships, and other elements of the gameplay, needs to be placed in the hands of the design and art team. Lua allows us to take whole chunks of the game, all of the code and the logic that defines how a ship flies for example, what weapons it fires, what damage it does and we can hand that off to those teams because they get it in a user friendly script.”
“Another challenge that we’re having is that the tactical level of Distant Star is a physics simulation, so we have to put all of the objects making up the play into this physics simulation and make sure its consistent over multiplayer.”
“Somewhat tricky.”, Trevor explains, clearly up for the test.
Gillian had some other challenges to overcome. Having been programming in Flash recently, but being well versed in C++, she had to re-learn using the former language again.
“The transition has been far from impossible as I worked with C++ at university and so its just about getting back into that way of thinking, that way of working. More relearning than learning.”
“Even though Flash is designed to be simple, so you can get something up and running quickly, it hides a lot of the nasty data management you have to do with its garbage collector. It clears up all your data so you don’t have to manually keep track of things.”
Distant Star needs the power of C++ and Lua to realise the full beauty of the game and with the more complex language, automatic garbage collection through the code is impossible and, “just getting something physically onto the screen requires so many more steps”, Gillian explains.
“I’ve put principles in place early to ensure that the data is cleared up properly because when you send an app to Apple for release they leave it running and if it crashes in that space of time it doesn’t pass their test.”
“So if you have even a tiny amount of memory leakage (caused by garbage within the code) you won’t pass as it will crash within that time period.”
“Trevor has developed some lovely code that helps with that”, she grins.
Richard had challenges of his own, the youngest member of the programming team he explained, “I was working for a Unity Company but I’ve just come out of university.”
“Distant Star is on a massive scale compared to uni projects, and I’m working on a far larger team than I’m used to. Simply the scale of things. But it’s going OK. It’s just catching up with Trevor’s level, which is daunting.”
But what did our team feel the advantages of working in Blazing Griffin were. Where open development was at the core of what we do?
Trevor was delighted to explain, “I have worked on game projects in the past which were either working with one other or just me. The huge advantage here is we have one space with really talented artists, designers and creative directors. We’ve got a much larger programming team and the ability to have an idea of something you want to build, being able to describe and task it to another person. They can work on it, and you can come back in a day, or even just twenty minutes, and it is there, its perfect and its exactly how you envisaged it. That’s really cool.”
Richard agreed and Gillian added,
“I’m used to working with a virtual company. Having everyone in one room is so much better. You just look up from your computer and bounce an idea off someone and you’ve got your answer: You don’t have to wait for a half a day before they get back to you, or try and catch them on Skype.”
“Even being able to take lunch together you get the opportunity to talk about silly ideas with the whole of the team. When you discuss them you realise some of them might work, you try them and the project evolves in that way. Being in one environment lets us run ideas off each other all the time and also means if you get stuck you can ask for help.”
So the most important question was how far we have come since the programming team came together?
Trevor answered clearly, “We’ve got a rough working prototype of both the tactical and the high level strategy games and we’re iterating a prototype of the tactical game really quickly. By the end of the week we should be able to put that in front of the design team and let them have a bash.”
And what about a date for a working prototype that others can try?
“One of our milestones is to have a fully playable version of the tactical game to spit onto iPads by Xmas. So we can go on holiday, show it to friends and also show it to strangers for play-testing.”
“We’re well on track to do that”, Trevor grinned.
Truth be told, less than an hour after we talked to our programming team an iPad was being passed around where a ship could be controlled across a backdrop by the user and the excitement in the whole team was clear to see.
Next: Distant Star’s design and the game history, the path they have taken and why they are both vital to the experience.