Lately, I've been corresponding with Joel Kinnunen, Vice President of Finnish independent game development company Frozenbyte, who are currently recovering from the lauch of Trine 2's native Linux client, and working hard on the as yet untitled upcoming Trine 2 expansion.
In this two part interview, Joel and Senior Programmer Jukka Kokkonen share their thoughts on the Trine series, the in-house development of Trine 2's Linux port, and what the future may hold for Frozenbyte. Part two of the interview is also live.
How long have you been with Frozenbyte? Can you describe a typical day at the Frozenbyte offices?
Joel: I've been with the "company" since 2002 - Jukka had joined the team a few months earlier. The founders Lauri and Juha set up the company in 2001, although at first it was really more of a get-together of similar-minded guys who wanted to make games. We spent the summer of 2003 in Lauri's mother's garage, that's when it started to get more serious and "real", and in 2004 we were finally able to move to a proper office to create Shadowgrounds. From thereon it's been a rollercoaster ride, but right now - finally - after Trine 2 it feels like we are controlling that train, and our destiny is in our own hands.
Anyhow that explanation out the way, my typical day tends to involve general business stuff like some discussion about on-going topics (like project planning, finances, improvement ideas etc), and a whole lot of emails and forum replies. Usually there's a few "very important" things in a week like reading and signing some contracts or delivering builds or patches etc. A lot of my work is being a communicator, or a communication gateway between our internal staff and our external partners or gamers and press. We try to gather all emails etc to myself and our Marketing Manager, Mikael, so everybody else can focus on their own stuff, i.e. stuff that they usually care about.
Jukka: Usually when I arrive at the office, all of the artists there are already at work. Should I bump into them on my way to my desk, the day often starts with a discussion about some latest new editor feature, or some unfortunate existing misfeature that the artists would like to get done or fixed as soon as possible, so that they can have some of their new ideas implemented to the game levels they happen to be working on. If the requests seem like something that is easy to implement and the rationale on why they need it seems solid, we might come to an agreement and I'll head off to my desk to quickly implement the feature, then returning to whatever was on my actual task list. If the request seems like many hours or days of work and the artists' reasoning why the feature is "a must have" doesn't sound very convincing, I'll just politely ask them to add it to official task list and quickly sneak on to my desk to do whatever programming tasks I had in my task list. During Trine 2, these tasks usually involved the engine code, editor code or automated build scripts - and lately, the Linux porting.
Last year, the puzzle platformer Trine passed 1.1 million sales. Can you talk a little about how Trine has grown in popularity since its initial release? Are there any significant events that have helped the Trine user base expand?
Joel: Trine was a sleeper hit. On this side we like to think that we made it a success despite the odds, really. The launch certainly wasn't huge, but it wasn't too bad either, it did well on the PSN. Steam is where we made most of our revenue though, and that's been a gradual rise. I think Trine brought us around the same revenue year-on-year in 2009, 2010 and 2011, which is quite amazing - it was because of the big sales on Steam in 2010 and because of the sales and Humble Bundle in 2011. Trine is our first game that has clearly made a profit, and it was that success that helped us self-fund Trine 2.
What kind of impact did being self-funded have on the development process of Trine 2 compared to previous titles?
Joel: Self confidence. What I mean is that we knew what we could do and how we wanted to do it, which in turn was important in the way we approached publishers (who are needed to get simultaneous console releases - which we deemed very important at the time). So from the start we wanted to retain complete control over the development process and that's what we did, and we were confident that we would be able to release a great game. It's hard for me to really say what the exact changes were on the development side though, we've always been able to follow our own visions with our games and despite some compromises and other hardships in some projects it's all been in our own hands for the most part, and the lack of money was usually more of a stress on the business side.
One major change of course is that we rewrote the whole game engine for Trine 2, which took over a year from our programmers, so that was a big change between Trine and Trine 2 - we had always wanted to do this but never had the financial opportunity to do so until then.
Perhaps one of the changes in the project itself was that we had a different approach to middleware. In the past we had mostly done stuff in-house, because it tends to be cheaper at first. With Trine 2 we knew that the schedule would be long, so we figured that we could spend some money on middleware that would save us time on the overall schedule and ensure console compatibility. We licensed Wwise for audio and Bink for video, and they worked reasonably well. Some of the time we saved has been lost since then though, we had to write our own audio system for Linux for example. But nevertheless this was a big change for us mentally. Related to this, Trine 2 was a lot less stressful than any of our earlier projects because we were able to pay all our bills on time, we were able to upgrade our development hardware and order enough console devkits, and so on. This helped development a lot even if it's not a creative change.
Linux versions of Frozenbyte's games have been available since 2009, but Trine 2 is the first game to have a native Linux port developed in-house. How did the decision to handle a Linux port internally come about?
Jukka: At least technology-wise, we had already gone with a major engine re-write for Trine 2. And as we did that, writing portable code was one of the major points of focus. So with an engine that was already portable to various other platforms, Windows, Xbox 360, PS3 and Mac OS X, it seemed like a rather easy task to port it to Linux as well. Specifically the relative similarity of the Mac port made the Linux port seem like a feasible thing to do.
Joel: We also wanted to be able to provide proper support for the Linux versions. There will always be problems and if we're going to be serious about Linux, then we need to be able to help our customers directly.
Has developing a Linux port internally proved to be a positive or negative experience? In what ways has it compared to the processes and results of outsourcing?
Jukka: At least now that the engine was in much better shape than in Trine 1, and much more portable to begin with, doing this internally was a positive experience. Outsourcing always adds some communication hurdles and management overhead, and with a good base code for the porting to begin with, it can often actually be faster to just do the port yourself, rather than write all the specifications, handle source code and data accesses, etc. for outsourcing. I think that in general, with Trine 2, the amount of effort that we would have saved in programming time by outsourcing, would have mostly been lost in the added overhead. This was somewhat different than with the old Trine 1 engine.
Joel: From the management perspective, everything has been very smooth. We - or rather, Jukka - knew what we were doing, and there's been only a few things that we've needed to check together. That's vastly different to some of the outsourced stuff we have done.
What have been the biggest hurdles during the porting process? Have there been any pleasant surprises?
Jukka: I don't think there were any single major hurdle, more about a lot of minor things here and there. Certainly there were some of the things that caused some head-ache - such as the audio middleware we used on other platforms not being available for Linux. So all of the sudden, one of the programmers had to be assigned to write an "internal audio middleware replacement", and in order to require no extensive audio content changes or re-configuration, it had to be able to perform pretty much all of the same tasks of the real large-scale middleware. Still it turned out to work surprisingly well and was done surprisingly fast, but wasn't really something we would have expected to be doing beforehand. Additionally, the versatility of Linux distributions out there, all with their minor differences, caused some added testing and tweaking work, and will probably add more support work in the future as well.
One of the pleasant surprises was the porting of the Mac renderer to Linux. Since rendering is usually one of the major issues during porting and since I'm not the one generally involved with rendering code, I was kind of expecting getting all of that to work on Linux to be a painful process. But surprisingly, it turned out to be one of the easiest parts, thanks to the OpenGL renderer code for Mac working almost out-of-the box for Linux.
Looking forward, are future titles likely to be ported in-house?
Joel: Yes, this is the plan. We will do these decisions on a game-by-game basis but the Trine 2 experience at least has been very good, so chances are good.
What distribution platforms for Linux are currently being considered for Trine 2?
Joel: I think we'll go with everything, it just takes time to set things up. It's not a high priority to be honest - we have the game now on our own store and will bring it to Desura, and I guess Ubuntu Software Center would be good too, and Gameolith just because it's easy to work with Jonathan over there, but other than that it'll be a new channel every now and then. We are somewhat selective about the stores though, so we have to decline the smallest ones unfortunately.
Both Trine and Trine 2 have been described as "art-driven" during development. What do you consider to be the pros and cons of this style of approach?
Joel: The pros are rather easy: just look at the game(s). :) The only issue is integrating the story stuff properly, we failed with that in Trine 1, and Trine 2 had its share of problems too, so that's the main thing we'll try to improve in the future.
What kind of response have you had from the Linux community in leading up to and following the native Trine 2 Linux client's launch?
Joel: The response has been great. I think there was a lot of excitement and there's been lots of news. The Desura community has been very vocal too, and seem to be generally happy with the game. :) We haven't yet reached a lot of mainstream Linux publicity but hopefully we'll get some of that too, we'll be contacting some major sites and magazines soon.
As for sales, I was expecting around a thousand units in the launch week. I think we're a bit short of that but clearly over the half-way mark right now, so it's been quite as expected. We didn't have any illusions that the Linux version would sell a gazillion copies based on the "market share" from the Humble Bundle statistics, so I think we're reasonably happy with the sales too.
With the experiences you've had developing Trine 2 for Linux in-house, would simultaneous releases be likely for future tiles?
Joel: To be honest that's probably unlikely, at least in the near future, say for example the Trine 2 expansion coming out later this year. Simultaneous release would be great but it adds a big burden to the development at the last moments, so we rather release Linux a little bit later when we've had time to fix the major issues on Windows and Mac, and have had some time to test the Linux version and different distributions a bit as well. We will try to improve the time it takes though, with Trine 2 it was 4 months, so we'll aim for a bit less with the expansion (it also helps when we have all the sales channels etc in place).
Are there plans to add multiplayer support for the DRM Free version of Trine 2 to the Steam version?
Joel: There are. :) We have plans related to these and we'll be announcing something soon-ish...
Modern: One of the most enthralling things in the Trine games that drives it forward is the unique spin on quintessential characters - they decided to not make the knight a 'gallant hero' and the wizard isn't a 'wise man' - was there a particular moment in development where you figured that breaking the stereotype would create more memorable characters? *
Joel: There was indeed, but I don't recall when exactly. It was during a general brainstorming session I think, perhaps a year before the original game's release or so - some of it is referenced in the postmortem over at Gamasutra (see page 3). My memory is a bit fuzzy on it all but it was a group effort, including myself, probably Jukka as well, and a couple of other guys as well. We just wanted to create better characters, because it would help make a better story (and in fact the characters are probably the only really good part of the story in Trine 1 in my opinion).
Mimness: Will there be any Trine 2 merchandise available in the future outside of competitions (Giant Snail plushies please!)? *
Joel: Ah a giant snail plushie would be awesome! We're actually experimenting with these for Splot, so if that goes well, who knows what could be next... :)
That concludes part one. Read on for part two, as we discuss Trine's story, Humble Bundles, and Splot.
Thanks for reading, and a big thanks to Joel and Jukka for sharing their time and their thoughts!
Questions marked with an asterisk (*) have been submitted by community members/friends/people who are not me.
If you'd like to find out more about about Frozenbyte, visit their official website (there's a whole stack of interesting and informative stuff on their blog as well). Trine, Trine 2, Shadowgrounds and Shadowgrounds: Survivor can be all found for Linux, MacOS and Windows on the Frozenbyte website, Steam, and Desura. Frozenbyte's upcoming game Splot is slated for a 2012 release.
You can email me at firstname.lastname@example.org
This interview was first published on the 3rd of May 2012.