Interview with Tom Hancocks

Tom Hancocks, who is developing the new game engine for Cosmic Frontier, has been putting a huge amount of work into that lately, and this on top of campaign promotion activities (not to mention his regular job!), but he found some time to answer some questions about himself for this update.

Before we go on, please check out, if you haven’t already, our previous interview with Nolan Markey, the composer of the new Override theme.

Now, on to the interview: —

What was your first experience with the Escape Velocity games?

Tom: I was first introduced to the series through EV Nova when I was about 14. I remember finding it on one of the magazine discs, though I can’t for the life of me recall which. I started playing it and pretty much fell in love with the game immediately. I dedicated so much time to that game, playing through each of the storylines, exploring the galaxy, conquering worlds and creating plugins for myself.

I didn’t learn of the existence of the other games until a few years after that, and by that point there wasn’t really any way for me to play EV Classic or Override.

I’ve played all the games now, but I’m ashamed to say I still have never actually done full playthroughs of EV Classic or Override.

What other games do you think had a formative impact on you?

That’s a tricky one. I played a fair number of games, but in terms of ones that had a lasting impact? The Pokémon games for certain, and probably the Jedi Knight games. Particularly with the latter, I absolutely used to love making maps and mods for those games.

Tell us about your background in software development.

I started programming when I was about 8 or 9. I found a copy of REALbasic on a disc (though I can’t for the life of me remember what disc it was). It came with a single 10-page tutorial for making a text editor. I taught myself to program using REALbasic for the next 5 or 6 years before eventually moving to Objective-C and Cocoa.

When I was 16, I started developing a program called TuneBar. It was an iTunes Controller, allowing you to control iTunes using a mixture of hotkeys and a controller that slid out from beneath the menu bar, and get notifications of the currently playing song. I developed and maintained it for probably 3 or 4 years, before Apple began to include some of the same features into iTunes itself.

I did some freelance contract work with macOS and iOS development before going to Cardiff University and studying Computer Science. After I completed my degree I became a fulltime iOS developer. I’ve worked on a variety of projects, ranging from low-level hardware interaction to e-commerce systems to financing apps to media platforms.

What prompted you to start a project to create a modernised EV engine?

This is one of the difficult-to-answer questions, as there were so many factors in this, and I stopped and started the project so many times due to other things in life taking over.

The biggest contributing factors were, in somewhat chronological order, the desire to create a Cocoa-based plugin editor for EV Nova, the release of Mac OS X Snow Leopard (start of the 64-bit transition), Ambrosia Software’s April Fool jokes about EV Nova coming to iPad and the transition away from HFS+.

All of these had various contributions towards my desire to create a modernised EV engine.

I should also mention that I kept looking for equivalents online, but none of them really stuck out to me as something I’d want to play, but I don’t know much that really contributed.

What are some of the challenges you’ve faced in developing an engine that has to interpret so many old and disused file types for a range of modern systems?

Obsolescence of technology is always difficult to deal with. Apple in particular is very difficult. Whenever they deprecate anything they gradually make its documentation increasingly difficult to access. When they consider it fully obsolete they practically expunge any trace of it from their documentation and website.

The file formats and types themselves are not really that much of an issue, once you can work out the structure of them, but some of the resource formats such as PICT, rlëD and cicn have been nightmares to get working. There are so many different edge cases to consider. The problem is over the era that these formats were used, computer graphics and memory were improving at breakneck speeds, and thus these formats cater for a wide range of graphical capabilities.

We understand that getting involved in this Kickstarter project has been just one of the major changes to your life over the past year …

Yes, last June my daughter was born, and in January my wife and I got married. Any one of these things is a major undertaking… maybe I’m a little insane for biting off more than is probably reasonable.

It’s been a great year though. Experiencing the world with my daughter as she learns and discovers new things is absolutely incredible.

Your goals for the Kestrel engine create lots of potential for modders and developers in the future. What aspects of this potential are most exciting for you, and which do you think will attract the most interest from the audience?

The Kestrel Engine is the platform that provides the facilities of reading and writing resources, rendering sprites, as well as offering a Lua Scripting environment to control all of it. Cosmic Frontier itself is being written in Lua, and those scripts are stored in resources just like any other bit of data that the game uses, such as ships, sprites or missions.

This means that modders will have access to all of the same tools for creating mods, as we’ve had for building the game. There is no reason that ambitious modders shouldn’t be able to introduce new functionality into the game to support and bring their ideas to life.

One idea for a mod that I have, which should give an indication as to what should be possible is introducing the ability for hyper jumps to fail, causing your ship to become stranded in interstellar space. You’d have to wait for fuel to replenish, repairs to complete or maybe you get attacked by pirates?

Quite possibly the most exciting thing for me is knowing that modders will be able to take the Kestrel Engine and build their own games using exactly the same tools as they would when creating a mod. It kind of brings a new meaning to the term Total Conversion.