A couple of weeks ago I had a chat with Nicholas Francis, one of the founders of Unity 3D, the game development suite. I'd already been looking at Unity because we'd seen a bunch of games using it. The guys over at Blurst use it to make their crazy output, and things like the lovely PuzzleBloom have been turning up on the web more and more. I even downloaded the 30-day trial and messed about editing terrain and adding weird noises to seagulls for a while, at which time Paul Barnett from Mythic dropped me a line to say he was using it to prototype new game projects. I can't say I spend a great deal of time playing around with development suites, but the accessibility of this one certainly intrigued me. I was glad to be able to put some questions to Francis, and ask a bit more about what his company was up to. They were, it seems, making a nuclear-powered toaster...
RPS: How did the company start? I know it started with games, but what was the route into game engines? Was there a particular catalyst?
Francis: Well, I guess we were basically just three guys who wanted to make computer games. We met at an OpenGL development conference and we said "look, let's work on a technology component set that we can all share". Instead of all making our own engines we should pool and make one. And of course we couldn't decide which game to make - I wanted to make a top-down racing shooter, Joachim wanted to make an underwater Top Gun flight sim, and so on. In the end we made a game with a rolling ball, so it all came out of this crazy dream. We all moved in together and sat and coded for years. And, then, well, we hadn't actually thought about making middleware - we were making games - this was seven years ago, when the market was a little different. Anyway, when you get coders together to work on a problem, they won't solve the problem so much as create a tool to solve a problem for them. Our problem was "we want to make games", and so we spent a long time making the editor, making it really polished, and making this good user experience so we could actually use the tool. We released our first and only game and thought, "hey, this editor is pretty good, why don't we get it out there to everyone." After that we decided to concentrate on the engine technology.
Of course we then a problem of how to price it... How do you price technology? Back then we knew nothing about the market and had no idea. One thing we thought about was the camera market. So you have big and expensive cameras which don't sell very much, and at the other end you have really cheap consumer stuff, which sells loads. But in the middle there's this market for the sort of guy you might call a "prosumer", something like that. We wanted to be something like that. So we wanted to make the barriers to entry minimal, but balance that with the technology being powerful enough to take you as far as you want to go, as with the cameras in the same range.
So that's how it happened. We then just worked hard in it, for years.
RPS: So "making games"was the basic philosophy for the company...
Francis: I can't pinpoint one philosophy, we're not quite that groomed yet! I guess the aim, though, is simply to put a powerful technology into the hands of anyone who wants to play a game, which is a lot of people.
RPS: But why is what you're doing good for the aspiring game designer? There will be loads of indies or wannabe indies reading this article, and, well, the first thing I noticed on the Unity site is that you have cheap package targeted at them. Why is it good for them? Why should they use this over anything else?
Francis: Well, we have done this in order to make games. We've seen where the bottlenecks were! Some of the worst stuff was iteration time - when you have an art asset how quickly can you get it into your game? That is vital. We've always had this idea of an integrated development environment. If you can get your asset straight into your editor, or if you can go and change a texture in Photoshop and the game can pick it up while you are still running, then you can really quickly iterate your design. If you change a model in Maya the game will reimport it and make sure that everything works. None of this is rocket science! But it is about applying polish over time to make it as good as it can possibly be.
RPS: So why is the "professional" package so much more expensive?
Francis: Well, there wasn't any kind of masterplan, because we started out knowing nothing about the market. But we've always wanted everyone to be able to get into this tech, and then we also want it to be so that if you are serious about it you will be okay with paying us money. That's the basics: anyone can get into it and taste it. We just want to get it to people. You can release a game on the basic licence and then upgrade, a kind of bootstrap process. Feature-wise there is so much in there, especially for all the features in the pro licence.
RPS: You hear about other games tech communities sharing their experiences and solutions a fair bit, is that the same for Unity?
Francis: We have eight thousand users on the forums and a lot of those are just trying it and playing around, but others are professional developers, and they do help each other. One amateir guy will try and help the professional and back and forth. It's hard to even keep up with the posts of eight thousand people. Users are supporting themselves, but we will be there to fix any bugs, of course.
RPS: And does that community produce any surprises? Anything weird emerge from the tech?
Francis: Yeah, wow. A lot of those surprises came in like the first year, because there were a lot of people using it. There were a lot of people with a really creative background - you don't have to be a C++ developer! - working on things, and so in that first year we had a lot of really weird games come out. So after that sort of time you just don't get surprised by stuff: Oh yeah, a flying camel game, whatever. A bigger surprise, perhaps, was that we had some high end users. We got the Cartoon Network to buy into it and use it for the FusionFall game, and we had EA doing Tiger Woods. Tiger Woods!
RPS: That comment about the C++ developer is an interesting one. I talked to some developer friends about Unity and their general reaction was "oh well I like to just program all my own tools, no use for me", do you find that you find more resistance in that experienced set to using Unity, than say less technical types?
Francis: We're seeing it somewhat less now, but I think that is partly because the tools have become much more powerful. We've always had this idea about "well you shouldn't have to deal with the source code", and that has set a very high barrier for us. But on the coder thing... well, I think many coders actually want to code, and gamers are an excellent excuse to be able to do that, but others have realised that getting the code interpolation right when you are importing animations just isn't that interesting a problem to solve. When you use Unity you're not that close to the metal, but you can make with plugins, and you can work on the more fun parts of your game.
RPS: Some teams have said to me that they didn't choose Unity because they couldn't play around with the source code? Is that a problem?
Francis: Well it's not a problem now, because we have source code licences. You can write to us and get a licence on the source code. The other thing we get is people from studios saying "oh hey, I want to get the source code so that I can mess around with this and that", but then we talk to them and find out what they want to do, and when we find out we can say "well you can do this and that, you can do it this way already inside Unity". So often it's just a case of getting to know the tools. If they don't know the tools they don't know whether they need the source code for what they want to do. Once we solve that it's suddenly something they don't have to worry about any more. Often, then, it is only a problem in people's perceptions. Our job is to make sure you don't really need it. People should be making games, not dealing with debugging. "We suffer so you don't have to!" That's one of our internal mottos.
Lots of people have suggested that professionals won't use Unity because they want source code access, but then professionals started using it. And back at the start of when we were doing this people were saying "no one will buy middleware, because they will want to have have maximum control through source code" and then everyone starts buying middleware. If your tools are good enough people don't want source code. They make assumptions about what they need, because that's what they used to.
RPS: Yeah, that's a difficult communication problem isn't it. I'm leafing through your documentation and tutorials, and it's pretty sprawling...
Francis: Yeah, and there's a hundred pages coming out for iPhone development too. You know, because of the webplayer there's always an issue with backwards compatibility, and we can spend hours arguing about function, and testing for function, and we can have this intellectual Darwninism going on with features, and that can take as long as it has to. I think it's a well structured API and tool set, easy to get into, and once you're in there you just start asking "how can I do this". We just had some guys do real time global illumination just using our standard API. So we have all this documentation for people who want to find out, but other people, most other people, they won't really care about it. They just want to get on and make a game!
RPS: People seem a bit reticent about the Unity browser plugin... do you see yourself as like a super Flash plugin, or something different?
Francis: No. We have an idea of Unity which is "console quality games on the web" so that might seem like "oh, it's 3D Flash", but it's a real game engine. We have the physics, we have the 3D audio, we can do all of these things. We are a real 3D game engine company, the difference is you /can/ you use the webplayer as a better Flash. If you want to make 3D games for a browser, you can do that.
But let's come at this from another angle. In the past everyone was doing physical distribution. Everyone hated that because you had limited shelf space, so you moved to downloadable executables, but then other companies were saying "that's just another barrier, that's just more steps in the way", so you just want to get them online immediately. You want to get games working in Facebook so they they can play against each other right there, right away. Of course the scope of Unity is that you can do hardcore 3D development, or you can just make a 3D banner. That's hard for us because we have different messages to send out to people. Someone from an Adobe Director background comes in and goes wild with all the things you can do on the web, while a traditional game developer is looking elsewhere and aiming higher.
But really, from a user perspective, the Unity plugin just gets more people playing games, faster. An example of this is the Cartoon Network's FusionFall game. That was made as an executable in another engine and then at some point they realised they had a 1.5gig download for a game targeted at teens! They can't wait through that, but they will play it if they can get to it via their browser.
RPS: Will there be more and more 3D games played via browsers then?
Francis: It seems to me just that people are playing more games and they are playing them in different ways. I'm not going to come along and say "oh browser games are the future and traditional games are dead" because that's just not what's happening. It's a mix. As a game developer you just have to meet players where they are. If you are doing a hardcore shooter they're going to expect an executable, if it's more casual they'll want to browse it. But people do want to get at games faster. They like Steam because you put your card details in and then you can just download the games you see online, and it's why the iPhone is popular because it's so easy to get a game and play it, right away.
RPS: Were you surprised by the success of the iPhone? I mean you support it, so did you expect it to take off?
Francis: Oh, it surprised us. We have two hundred games in the app store. Well, our uses have 200 games. When you have Unity you have the tools and whatever you make is yours. A bit untraditional, because people usually think "we need a cut of the profits". When you buy a hammer, you own the hammer. You build a house with it, it's your house. The person who made the hammer doesn't get a cut of the house. It's the same for us. We're seeing around one iPhone game released every day since we launched. We're selling a lot of iPhone Unity. Of course Apple's business model is in a box: there's one way to get apps, and they get a 30% cut. That's it. No one who has an iPhone feels uncomfortable about it.
RPS: That's interesting. The idea of a kind of universal fabricator for games. Build it with one toolset and export it to a whole load of different places. Someone could make a 3D game and have it online to download, or in a browser, or on an iPhone.
Francis: We are looking at 360 and PS3 development too. Our goal is, of course, write once run anywhere. Of course you are going to struggle to write a game that works well on PS3, iphone and PC all at once, but we're going to go as far as we can to help people achieve that. Things might need to be cut down, but core code will just work.
RPS: What's the future for Unity then? Multiplayer and MMO support?
Francis: Well we are geeks, we will just keep on adding cool new tech, more cool tools for people. We have multiplayer in there, just up to 64-players, LAN and internet and that sort of stuff. As for the MMO stuff, a few of the big MMO platforms now have Unity integration kits. These guys are good at that, so in a way that is sort of covered. People are more and more online, and so a networked games are feasible and you can pick your own back end to do that.
The message though, we need to get out, is to not be fooled by how simply Unity can look. I took two years out just to make games with Unity, to figure out what we could do and what we could improve. And we do that. We're taking high end tech and dressing it up to look like a toaster, Unity is the toaster that is nuclear powered via it's own core. People just see a toaster. We want to keep it simple and easy to get into, but that doesn't mean you can't get to the dirty bits.