Jump to content
  • Advertisement
  • Remove ads and support GameDev.net for only $3. Learn more: The New GDNet+: No Ads!

  • 08/20/07 10:34 PM
    Sign in to follow this  

    Unity Interview


    Myopic Rhino
    I had a chat with one of the founders of Unity, an up and coming game engine with lots of promise and potential. Currently based off the Mac platform for development, it can export games for use on Mac, Windows, webbrowser plugin (both platforms) and even a Mac OSX dashboard widget. In the near future, Unity will also empower developers to create games for the Nintendo Wii console. So what else makes Unity special? When can we see it on the Windows development platform? What brought about it's genesis? Let's find out.

    [size="3"]Who are you and how are you involved with Unity?

    Hi - I'm Nicholas Francis, one of the Unity founders. First, I was the graphics programmer, as well as writing a fairly big chunk of the editng functionality. Now I'm the "User Experience" guy, which means I design & implement the Unity Editor GUI, handle the website, docs, etc... Basically, all the touchy-feely bits. In between these 2 roles, I was game director on Global Conflicts: Palestine - doing the game design and a fair amount of programming. Oh and I also code quite a lot ;)

    [size="3"]For people who have never heard of Unity before, who is it for and what does it do?

    Unity is designed to be an integrated tool for developing and publishing games to Windows, Mac, Web and Nintendo Wii. Unity is an integrated development environment where you assemble all your assets & set up your game code scripts to pull your game together. 3D models are either exported from your app as .fbx files, or in many cases just saved in their native format - then Unity will import the models. Textures can be any format - including multi-layer photoshop files. You assemble scenes in Unity, Setting up lighting, triggers, sound, etc. You also script your game code using JavaScript, C# or Boo. Unity is designed to be an intuitive tool that will enable a lot of people to make games - our rule of thumb is that if you've created a game in Flash, you'll be able to make it in Unity...

    [size="3"]What was one of the main reasons why Unity was created?

    Unity got started by Joachim Ante and me joining forces to create a game engine. We were working on different games at the time, so Unity was an engine that was made to do a top-down racing game and an underwater top-gun flight simulator. Both these projects got scrapped - but they still forced us to constantly think in terms of making things flexible and not tying Unity down to a specific genre. After that, we wanted to do a futuristic helicopter sim, a Wipeout clone and an incredible machine-like domino-toppling game. All of these got scrapped as well ;) - before we did GooBall. Each of these projects matured Unity and made sure it was never linked to a specific kind of game.

    None of us (which at that point was 3 people) were really busy to be shipping a game. That meant that we not only made an engine, but did a complete editor as well - we thought it sucked too much if you had to edit properties in text files (seriously, XML sucks), so we spent a lot of time making sure that if you have a gamecode script, all properties automatically show up in the editor. We also wanted to keep artists in the creative flow, so we made sure we could import all graphic formats (including layered PSD files) with no loss in performance. Same for 3D models - just save a maya binary file (or about 5 other formats) in your project, and Unity will automatically import it and update it across the entire game - in 2 seconds flat.

    At that point in time, we still considered Unity to be an in-house tool. However, we had showed it to some talented graphic artists and were amazed at what they were able to do with it - without any introduction.

    It all ties together - I have this theory: When creative people grow up, we want to create the media we consumed as kids (quite a few of us start doing that before we grow up ;). In films, when the DV cameras started appearing suddenly everyone was able to make movies - and a lot of people (myself included) went and did just that. With games, there still was a huge initial investment - it was like everyone was busy building their own camera from scratch. We sat down and saw that Unity was user-friendly enough to be able to kickstart this process for a whole generation. Hence, we had this hope of starting a game-making revolution. Once we looked at it like that, how could we not release it?

    [size="3"]What do you think is the number one benefit for developers using Unity?

    It just works. You don't need to spend a lot of time installing developer tools, compiling some source code you don't really know what does, digging into complex C++ code. All of these things are basically keeping you from making your game. At first, you think this is a necessary step to game crafting, but once you've tried Unity, you'll wonder why no-one else has done it this good.

    The main thing that makes Unity tick is that the entire OtEE crew are passionate perfectionists. We want to create the best tech, give the best editor interface to this tech and even write the best docs about it. About 50% of our source code commits are done at 2AM because we just love Unity so much.

    If I have to pull out a specific feature it would be our scripting interface: We use Mono to get C#, JavaScript and Boo languages in there for gamecode. This means you get a scripting language running incredibly fast (*footnote: Initially, we used Python for GooBall. With that we were spending 50% of the CPU time inside scripting code. When we switched to Mono, the same functionality dropped to 1-2% CPU usage - we were completely blown away with how fast it is.) so this is what you make your games in (we also have C++ plugins for people who are passionate about C++ or need to use an existing library). When you make a Mono class, all public variables show up in the inspector for easy modification. So basically, Scripts are 1st class citizens of Unity. We're also using Mono for extending Unity - It really is that good.

    [size="3"]What made you decide to release Unity on the Mac platform?

    It's what we had!

    [size="3"]Any plans to release a Windows version of Unity to compliment the Mac OSX flavor?

    Right now, our highest priority is making the upcoming 2.0 release of Unity the best it can be!

    This is one of those questions where the dream world meets the real one: We would love to have the editor running on Windows, but actually making that happen is not something that is easily done by a long shot...

    Someday - we would love to have a Windows version of the Unity Editor, and we are continually thinking "is now the time to start it?". In the ideal world, it would be coming real soon. In the real world, however, we only have a limited number of people - and the focus so far has been to make the Unity Engine be the best it can possibly be. It's getting better and better, but right now starting a Windows port would mean just focusing the development team on porting the editor - effectively halting all new features for a long time. We are just not ready to do that to the people who showed faith in us by purchasing Unity - and especially the people who showed the faith to ditch their Windows machine, buying a Mac to get Unity.

    So yeah, one day. The sooner the better! But you won't find us announcing it's coming until we're well underway. In the meantime, get a Mac - they're really great machines and with the Mac/Unity combo, there's a nice and easy path to actually making complete games.

    [size="3"]What made you decide to adopt the Ageia physX engine for Unity?

    Basically, Ageia has the best cross-platform software-based physics engine out there. If they can get their accelerated cards going, all the better. But even if they don't, their software physics are world class.

    [size="3"]What makes Unity such a capable platform for developing Nintendo Wii games?

    I think the main reason the Unity-Wii combo is interesting is that they share a common trait: creativity. With the Wii, we've got this great new platform to develop on that radically changes the way people are meant to interact with games. This puts some interesting challenges on developers to rethink which games we make. As a games designer, I know that for each good idea you discard at least ten bad ones - so this means lots and lots of testing. Fortunately, the core feature of Unity is the quick develop-test-debug cycle. Therefore, Unity is positioned to be the tool for all these creative people to get their dreams out.

    [size="3"]Is Unity set to become the XNA-like solution for the Nintendo Wii or will there be other future avenues to the Wii for indie developers?

    Unity is not trying to be like XNA - XNA is basically a slow version of DirectX targetted at hobbyists. Unity is a complete authoring environment with an integrated editor targeted at small and medium-sized professional game development teams. All the hard parts are done. Good people can make a game in a weekend - and we've seen this happen several times: we introduce Unity on a Friday afternoon, and Sunday night people have a game that looks good and plays nice.

    [size="3"]Since you still need a Nintendo license and development kit to actually publish to the Wii, how is Nintendo working with you guys to help streamline the process for Unity users?

    The main thing is that when you're developing, you'll see the game exactly as it appears on the Wii - we're emulating the Wii graphics chip on the GPU in your development machine.... So if it looks great in Unity, it'll look great on the Wii.

    [size="3"]Could you give a general example as to how a development cycle might look for creating a Wii game using Unity?

    What I've seen is that people develop their game inside Unity - the controllers get integrated into the authoring environment, so you keep the niceness of Unity; pausing the game, examining & changing variables, moving the camera around the paused scene to get a better perspective on what's going on. While developing, Unity will show the graphics just like they appear on the Wii. Once a feature or section of gameplay is done, you run it on your devkit (one button click) to make sure that it runs exactly the same way.

    [size="3"]What do you think is the most exciting thing about the Unity/Wii combo?

    With WiiWare Nintendo is the first console maker who is actually opening up the business for small developers. With WiiWare, Nintendo is opening up a channel to actually sell games on a console to the small developer. We were extremely impressed that Nintendo specifically said that they will not do screening of ideas, but just bugtesting. I'm not seeing any other console makers actually embracing the indie development scene in that way!

    Unity is the perfect tool to create those games - we've got fast development iteration solved, so you can tweak your game until its perfect.

    [size="3"]What's the next milestone for Unity?

    More deployment platforms...

    For our 2.x releases, The goal is to be adding more Shock and Awe features. With Unity 2.0, we finally have the complete package (networking? done. shadows? done. ease of use? done). I really think with 2.0, we're the best tool out there. For me, the goal is to make sure that we're the best tool in every single category. A lot of that is really leveraging the features we have - we have users who script, say, heat distortion from particles. I want to make that as easy as enabling it in a checkbox.

    And then we also have some larger features planned, but we're not ready to go on the record about those :)

      Report Article
    Sign in to follow this  

    User Feedback

    There are no comments to display.

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement
  • Advertisement
  • Latest Featured Articles

  • Featured Blogs

  • Popular Now

  • Similar Content

    • By trapazza
      I'm trying to add some details like grass, rocks, trees, etc. to my little procedurally-generated planet. The meshes for the terrain are created from a spherified cube which is split in chunks (chunked LOD).
      To do this I've wrote a geometry shader that takes a mesh as input and uses its vertex positions as locations where the patches of grass will be placed (as textured quads).
      For an infinite flat world (not spherical) I'd use the terrain mesh as input to the geometry shader, but I've found that this won't work well on a sphere, since the vertex density is not homogeneous across the surface.
      So the main question would be: How to create a point cloud for each terrain chunk whose points were equally distributed across the chunk?
      Note: I've seen some examples where these points are calculated from intersecting a massive rain of totally random perpendicular rays from above... but I found this solution overkill, to say the least.
      Another related question would be: Is there something better/faster than the geometry shader approach, maybe using compute shaders and instancing?
    • By FedGuard
      Hello all,
      I would like to start off with thanking you all for this community. Without fora like these to assist people the already hard journey to making an own game would be exponentially more difficult. Next I would like to apologize for the long post, in advance...
      I am contemplating making a game. There, now that's out of the way, maybe some further details might be handy.
      I am not some youngster (no offence) with dreams of breaking into the industry, I am 38, have a full-time job, a wife, kid and dog so I think I am not even considered indie? However I recently found myself with additional time on my hands and decided I would try my hand at making a game.Why? Well mostly because I would like to contribute something, also because I think I have a project worth making (and of course some extra income wouldn't hurt either to be honest). The first thing I realized was, I have absolutely no relevant skill or experience. Hmm; ok, never mind, we can overcome that, right?
      I have spent a few months "researching",meaning looking at YouTube channels, reading articles and fora. Needless to say, I am more confused now than when I started. I also bought some courses (Blender, Unity, C#) and set out to make my ideas more concrete.
      I quickly discovered, I am definitely not an artist... So I decided, though I do plan to continue learning the art side eventually, I would focus on the design and development phase first. The idea being, if it takes me a year or more solely learning stuff and taking courses without actually working on my game, I would become demoralized and the risk of quitting would increase.
      So I thought I would:
      1: Keep following the courses Unity and C# while starting on the actual game development as the courses and my knowledge progress.
      2: Acquire some artwork to help me get a connection with the game and main character, and have something to helm keep me motivated. (I already did some contacting and realized this will not be cheap...). Also try to have the main character model so I can use it to start testing the initial character and game mechanics. For this I have my first concrete question. I already learned that outsourcing this will easily run up in the high hundreds or thousands of dollars... (lowest offer so far being 220 USD) I am therefore playing with the idea of purchasing https://assetstore.unity.com/packages/3d/animations/medieval-animations-mega-pack-12141 with the intention of then have an artist alter and/or add to the animations (it is for a Roman character so some shield animations are not going to work the same way.). This way I could start  with the basic character mechanics. Is this a good idea, waste of money,...? Any suggestions? I then have a related but separate question. Is it a good idea to buy Playmaker (or some other similar software I haven't yet heard of like RPGAIO), and using this for initial build, then changing/adding code as the need arises?
      3.Get a playable initial level ready as a rough demo and then starting to look for artist for level design and character/prop creation.
      I would really appreciate some input from more experienced people, and especially answers to my questions. Of course any advice is extremely welcome.
    • By GameTop
      Dirt Bike Extreme - another game made with Unity. Took about 2 months to complete.
      Take part in extreme motorcycle races across the dangerous and challenging tracks. Dirt Bike Extreme is easy to pick up but hard to master. Race, jump and crash your way and other mad rivals through the amazing tracks as you master the skills and physics of motocross in this high-speed racing adventure. Conquer challenging routes on 23 different runs, discover new bikes and become the best of the best! Over 257K downloads already!
      Windows Version:

      Mac Version:


    • By Sergio Ronchetti
      Continuing to work on “Eldest Souls” (first article here!), I’ve begun familiarising myself with the workflow between Fmod and Unity, and the integration system. I know much of this will be pretty obvious to most, but I thought I’d share my thoughts as a complete beginner learning the ropes of sound designing. 
      The library of sounds that Fmod provides has been very useful, at least as reference points. I’ve still kept to my ethos of producing the sounds myself as much as possible. Having said that, Fmod gives you 50 free sounds with your download, and I’ve used a wooden crate smash, a drawbridge and electricity sound you can hear in the foley video below.
      The thing i found most useful was witnessing changes i made in Fmod being realised instantly in Unity. If a volume needed changing, or the timing of one of my effects was off, i can literally switch to Fmod and then back to Unity and immediately see the result of my alterations. It also seems apparent that using middleware such as this (or i've heard Wwise is also equally intuitive) grants the developer, and myself included, a great deal more flexibility and opportunity to edit sounds without going all the way back to a DAW, and bouncing down again. Needless to say, my workflow is so much faster because of it.
      I've also loved the randomised feature of Fmod, whereby any sound can be made to sound slightly different each time it is heard. Taking a footstep recording i made for example, I was able to add further authenticity of uneven footsteps by randomising the pitch and volume of each playback. 

      I used this technique when creating footsteps for the first major boss in the game called "The Guardian". A big, over-encumbered husk of a monster. I also had fun rummaging through the garage for old tools and metal components for the “Guardian” (the first boss) footsteps. See below!
      I also created a sword attack for our player, trying to sound different from the generic “woosh” I see in so many video games. I used a very “sharp” and abrasive sound to differentiate him from any enemies.
      On another note, I recently upgraded my microphone to a Rode NTG2 shotgun, which has been phenomenal. I haven’t had to worry about noise interfering with the clarity of my objects, whereas before with the sm58 I had to be clever with my EQ and noise reduction plugins.
      Important to note again that this still a “cheap” mic in comparison to most other products on the market, and all in all my entire setup is still very simple and affordable which I’m quite proud of. I’ve seen many musicians spend heaps of money on gear they don’t necessarily need. I much prefer being resourceful with less equipment, than to have more than I can understand or remember how to use.
      It’s forced me to understand every aspect and capability of my tools, which I believe is a principal that can be applied to any discipline.
      I have more fun little sound effect videos on my Instagram for those interested, where I post regular updates. Thanks for reading! (if you’ve made it this far)
    • By Sergio Ronchetti
      Recently I joined the talented team at Fallen Flag Studio as the composer for their latest release "Eldest Souls" which consequently lead me into a field I have always dreamt of trying - sound design!
      Having no prior experience, I began watching a few online tutorials (if you want to learn from anyone make it Akash Thakkar from "Hyper Light Drifter"... what a guy!) and basically just testing stuff out i found around the house. Luckily my dad has a garage FULL of random crap to use.
      Before i continue, it's important to note that i DO NOT have fancy equipment, meaning anyone can try this. (my equipment is an sm58, focusrite scarlett interface and Logic Pro X plugins... that's it!)
      I started basic with some footsteps, which weren't all too difficult. Then I moved on to projectiles and a spear attack one of the bosses has. Below are a couple super short videos on my resulting attempts.
      Amazing how great a banjo sounds for that typical "woosh" sound! And if you're wondering, the paper was added to give some texture to the jab.
      I could be finding a lot of these sounds in libraries online (like the built-in ones that come with Fmod and Unity) but I've chosen not to, in order to produce authenticity and hopefully a more unique gameplay experience for players when the final product is put together.
      P.S. if you'd like to try the game and hear my hard work we'll be at EGX and several other conventions later this year, soon to be announced! Thanks for reading!
      To those interested, there's an Alpha trailer of the game in question below.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!