Meet the Team #1: Mark Allen (Programmer)
Welcome to the first edition of this new series! With the feature request updates now a distant memory we are back with something that many of you have been asking about for a long time, the opportunity to meet a few more of the faces behind the development team for Elite: Dangerous.
To start things off we have one of Frontier’s veteran programmers, Mark Allen! Mark has been at Frontier for almost 6 years and has programmed on a variety of projects and platforms; including Kinectimals, Kinect Disneyland Adventures, LostWinds 1 and 2, and Coaster Crazy Deluxe.
These days he finds himself wrestling with the nuances of flight controls & weapon systems, so he seemed the perfect person to start off with! To kick things off I asked how he got into Programming and what advice would he have for anyone else planning to follow a similar career:
I went through a Computer Science Bachelors & Masters degree, and then applied to games companies – it wasn’t until very near the end of University that I actually decided on games surprisingly. My single biggest suggestion would be to get a good grounding in the fundamentals; you’re generally much better off with a course or experience that’ll give you solid all-round technical skills than a course overly focused on games.
Could you describe to us what a normal day at Frontier is like for you?
Get in, pull the latest updates from SVN and build myself a new version of the game while catching up on emails, new design decisions, general tasks, etc, then get stuck in! Lunch is usually filled with Magic the Gathering these days (yep, plenty of gamers here!), then the afternoon follows the same routine as the morning usually, depending on whether I’ve got a single task that takes all day (or several days), or a lot of small ones.
When the shift ends does Frontier use Elite sounds to signal the end of the day?
No we don’t, though I think we might do now it’s been suggested.
What are you working on right now?
I’m mostly dealing with the handling of the ships, how their flight controls feel, weapon systems, some cockpit UI. Plus some more technical aspects related to docking with stations and multiplayer – I usually end up on the user-facing gameplay, which can be great fun.
As for right now? I'm adding an Engine booster (think afterburners in space!)
What are the biggest challenges that the programming team are currently working through at the moment?As for right now? I'm adding an Engine booster (think afterburners in space!)
In my view that’s the networked aspect – If you look back at our game history there’s not all that much multiplayer, it’s an interesting new set of challenges for us to get to grips with. I’ve certainly learned a lot already.
How do you get excited about such intrinsic coding as networking/database stuff? Surely, you must love what you do, specifically - so how did you end up loving something with no easily visible or audible payoff?
Sometimes yes, you can tell someone that this week you spent time making some constructive geometry algorithms run 50% faster – they’ll look at you like you’re a nutter and ask why. That doesn’t mean there’s no payoff though; if that 50% means it can now run in real-time without looking jerky that’s huge, as is meaning the game can run for longer on batteries – you just need to think of a different kind of payoff.
Sometimes there really is no good reason, but saving 10 cycles in some intricate loop just fulfills an inner geek. You either like it or you don’t, and not everyone has to by any means!
What programming languages are used for Elite: Dangerous?Sometimes there really is no good reason, but saving 10 cycles in some intricate loop just fulfills an inner geek. You either like it or you don’t, and not everyone has to by any means!
Almost exclusively C++. On other projects we’ve used a lot of Lua as well which we may also include in ED - that’s an open debate.
We use a much wider variety of languages for tools: often C++ or C#, but scattered around the company there’s some Python, Ruby, Java and others.
Is ED the most complex project you’ve worked on in your career?We use a much wider variety of languages for tools: often C++ or C#, but scattered around the company there’s some Python, Ruby, Java and others.
It’s the most complex of the ones I’m allowed to talk about... but no; there are others that have been a bigger technical challenge for me.
What is your favourite ship from the Elite series?
It’s at this point I must admit a form of blasphemy... I never played it. In fact it was released the year before I was born!
That’s quite the admission! What element of ED are you most excited about?
It’s got to be the dog fighting – I’ve not played a good space combat game in years... Plus I’m spending a lot of time with design working on that area at the moment.
What role will you be playing most in the final game?
With any luck – All of them
Despite not playing the original Elite, are you a long-standing fan of science fiction? If so, what are your favourite films/books/games in the genre?
Oh hell yes! I’d give you a list but it’d probably not end any time soon. This is probably a good time to confess an enormous inner geek and fandom of the Warhammer 40,000 setting though.
How confident are you that the game will be a success and the game the fans want?
It’s never going to be able to have every feature people want (some of which are in direct conflict with one another), but I am confident it’ll be an awesome game!
Will you feature as an NPC in the game?
You see that pirate that just turned your ship to vapour? See that one? That’s me.
If you had to choose a Commander name what would you choose and why?
Shepard? Nah... I actually backed the project on Kickstarter and pre-registered mine, but it’s a secret!
Where do you stand on fun vs. Realism when designing a game like Elite?
I’m not on the design team, but a lot of my work involves working closely with them. In general I like to start with a realistic base, then inevitably change things in the interests of fun – there’s little point in being realistic and boring. With all those changes though we try to justify the divergence from reality in some physical way, I don’t like being hand-wavy unless we have to!
What’s your favourite game genre, outside of space games / simulations?
Real-time Strategy and 4X games, which you can pretty much see from the list of games that I have modded.
So you’ve modded a lot of games?
Oh my yes, that’s where my love of games came from! Probably nothing anyone would have seen released; the mods I’ve made have been largely for my own & my friends’ enjoyment (with the exception of a period on a mod team for Star Trek – Bridge Commander, if anyone played that). At one point or another I’ve messed around with mods in:
Does anyone in the office play games to pass the time?- Red Alert 1/2 (and expansions)
- Warcraft 3 (and expansion)
- Star Trek: Bridge Commander
- Starcraft 1/2
- Unreal Tournament 2003/4
- Homeworld 2
- Freelancer
- Max Payne
- Supreme Commander 1/2(and expansions)
- Dawn of War 1/2(and all expansions)
- Company of Heroes
- LOTR: Battle for Middle Earth 1/2
- Galactic Civilizations 1/2
- Sins of a Solar Empire
- Sword of the Stars 2
Every lunch break!
Next week’s interview will be with concept artist and resident forum stalker Josh Atack! Josh was largely responsible for a lot of the concept art that you are familiar with; right from the beginning of the Kickstarter campaign to now. If you have any questions you’d like me to pitch to Josh, or any feedback on this interview then I’d love to hear from you below.
Thanks for reading,
Ashley