Pages

Monday, May 9, 2011

UDK or Unity 3D?! Comparing Game Engines





One of the blogs I'm subscribed to is bJohan Sanneblad who is like a Pro at game development. You can read some more information about him here.  


So he lately had this seminar where he talked about actual large scale game production for mobile platforms, namely iPhone and Android. There is a lot of interesting things said there, but among all I enjoyed the process of him comparing Unity3D and UDK. UDK came out as a winner here for me, even though Johan's team choose Unity (they had their reasons... watch the video). I was really glad to see that, simply because I was still not sure if I did the right choice when choose UDK as the platform to study and develop on. I'd like to put here his list of Unreal vs Unity comparison and discuss it a little.


Target devices
UDK: Windows, iOS and consoles.
Unity: Mac, Windows, Android, iOS, Web, consoles.
Yeap! If you work with UDK you by default can develop only for Windows, iOS, Xbox and PlayStation. Which for sure is not a small market, but the lack of Android support is for sure a minus. BUT! You can't expect this to last long. Android is pretty popular platform and Epic (the creator of UDK) is a pretty serious company. There is no way they don't meet. And the words of Epic's vice president Mark Rein prove that. 




Host environment
UDK: Windows only
Unity: Mac/Windows (Mac for iOS render & remote)
Well, THAT is not good! It's not like it's a problem for me, or like I can imagine someone choosing Unity over UDK just because of that. But the fact might affect one's workflow not in the best way. It's just uncomfortable. I guess if I were a Mac user, I would choose Unity despite all other UDK pluses.
On the other hand UDK gives you a unique possibility to upload your game right to your iDevice from a PC for testing! 
So UDK might be a headache for people who have pro-mac pipeline, but a blessing for a pc-team.




Development language
UDK: UnrealScript ("the look and feel of C/C++/Java code")
Unity: Boo, C# or Javascript
I don't know about Boo, but I know C# is as popular language as C++ is. So I don't think this makes any big difference here. 
For sure any coder will need some time to get to learn the specifics of UnrealScript, but once he does it worth it. UnrealScript is the specifically designed to work with 3D games. It surely saves more time then a multi-purpose programming language.




Custom splash screen
UDK:No
Unity: Yes (in a Pro version) 
True true... If your game is made with UDK, you will necessarily have the "Powered with Unreal Engine"-kind of a splash-screen, when the game is launched. For a big scale product it might be an issue, I understand. But for the rest, mortal developers, I believe having a logo, of the company that sold Infinity Blade hundreds of thousands times and shocked us with EpicCitadel, is an advantage.




Other tools
UDK: UnrealKismet, MaterialEditor, Scaleform GFx
Unity: plugins, plugins, plugins
With UDK (which is free) you get all the advanced tools, that will speed up your work and increase quality of a final product. With Unity you'll have to buy the third-party plugins which are in beta stage yet. You know what beta means, don't u?)) lags and crashes!




Pricing
UDK: 99$ license. Free<$50,000 income. 25% of income>$50,000
Unity: iOS 400$ + Android 400$ + Pro 1500$= 2300
Well, her it's all up to you! Do you want to make 50 000$ and spend only 99$ (+99$ of Apple Developer's License) or maybe you have extra 2300$? Choice is yours...




One more word
I always used to say, that it doesn't matter what software or platform you use... The only thing that matters is what can you do with it. If you have a clear vision of a game, you will manage to do it with any engine.


I guess, that's it for today! Don't forget to have fun while making a game! ;)
Cheers!




P.S. I actually wanted to post the video only. But the video embedding process turned into a quick post :)






18 comments:

  1. Remeber.. you MUST purcharse the UDK licence if you want to sell your game. And they will take 25% for every sold game after 50grant.
    30% steam, 25% UDK...

    Unity can be 100% free for indie, the Pro version comes with some more stuff to polish your work.

    ReplyDelete
    Replies
    1. Hello, Oliver! Thanks for the comment!
      Yes, what you said is true! But in case of game publishing for iOS(or Android), using Unity Indie is not an option.
      You absolutely have to buy Unity iOS license (which as I've mentioned is 400$) if you want to publish to AppStore.
      Unity Indie gives you only PC and Web as possible publishing platforms.

      Delete
    2. I think if you're worried about a single license of 400 bucks which covers ALL of your Unity projects - you've got a lot more to worry about than being an indie developer. Just sayin'.

      Delete
    3. As far as I know, that 400$ is per developer.. if you are in a collab.. u'll need more

      Delete
  2. The main thing I think most people starting out need to look at first is the system requirements.

    Unity 3d (http://unity3d.com/unity/system-requirements.html)
    UDK (http://udk.com/download)

    IMO, Unity wins this one.

    ReplyDelete
    Replies
    1. Thank you for sharing the opinion!
      Totally agree with you about the fact that one has to pay attention to system requirements.
      What in my opinion is serious difference between Unity and UDK in this situation is, that Unity requires a Mac to develop for iOS. Where UDK only needs it for publishing.
      When we were starting up we were using 3 really out dated PCs:
      For graphics:
      1.FujitsuSiements A Series Lifebook: 2.0Ghz Pentium 4, 2Gb RAM and IntelHD integrated graphics.
      2. 3.4Ghz Pentium D, 1Gb RAM and some GeForce video with 256Mb of VRAm
      For Coding
      3. 3Ghz Celeron, 1Gb RAM and Radeon X1300

      As you might expect the PCs were not lightning fast, but let's face it! We were working on something that has to run on an iPhone not on an Xbox or PS3! So the outdated machines can handle it.

      These were the PCs we just had to use for the project because we didn't have funds to buy new ones.
      Considering the fact that statistically more people have PCs then Macs and well... we all know Macs are a bit more expensive.
      Then, IMO for start-up Indies, UDK is the winner!

      Delete
    2. i dont think specs is a problem for a game dev since they will be working with high powered computers..and they dont cost much!

      Delete
  3. Unity is easy to learn but learning UDK worth more.

    ReplyDelete
  4. I'm evaluating Unity Pro at the moment and while UDK is definitely more complete, from a tools and graphics point of view, what I like about Unity is its extensibility and code flexibility. Unity gives you access to nearly the full Mono .NET Framework and this opens up a world of possibilities, whereas UDK is much more closed (or at least difficult) in this regard. For instance, I can leverage SQL Lite and nHibernate (compiled against Unity's Mono Framework) to implement data storage whereas I'd have to do all this through DLLBind in UDK. If UDK were to support C# and the Mono .NET Framework (or the full MS Framework for Windows games) it would be untouchable.

    I will say Unity seems more intuitive and approachable than the UDK but I do feel it is overpriced (Pro version is mandatory IMHO for serious games.)

    ReplyDelete
  5. https://store.unity3d.com/index.html
    Just so everyone knows, you can get an $800 discount until April 8th as Unity is offering the basic IOS and the basic android licenses for free until then. I downloaded and installed them, but even so, I am currently learning UnrealScript. I like both for different reasons. Similarities were that you need to learn some new scripting rules that look like something you may already know, but different enough that it takes a little time to get it right. I truly am torn at the moment as I'm loving the features of UDK, but ultimately would like to program for Android. Hopefully by sticking with UDK they will eventually reward my efforts by one day allowing me to export to Android. If this doesn't happen by the time I finish my models I will likely head back to Unity.

    ReplyDelete
  6. Very interesting article! I wonder why you stopped making posts now..

    ReplyDelete
  7. i am kinda noob to these stuff but ive recently started experimenting with these engines..IMO unity seems to be easier to learn and feels much much comfortable to use..after using UDK for 2hrs i had no idea where to start..

    and unity seems to be a LOT cheaper than UDK if have a good enough game that can make more than $50k ...

    ReplyDelete
  8. Ha ha you need to make more than 50000 before its something to worry abou!

    ReplyDelete
  9. 25% of sales is a huge amount, even if it's only after $50.000. Absolutely huge, considering you'll have a lot of cost to cover once you reach those dimensions.

    ReplyDelete
    Replies
    1. Remember, you can switch licenses from UDK to Unreal Engine if your game is a huge success (makes more than $3 million) lol. Then you do not pay the 25% only the $750,000 cost of the engine (also includes exclusive support from Epic, and the source code for the engine).

      Delete
  10. You said "With Unity you'll have to buy the third-party plugins which are in beta stage yet. You know what beta means, don't u?)) lags and crashes!"

    I disagree. On the Unity Asset Store there are many professional tools to help you make awesome games. Perhaps this article came out when the Unity asset store wasn't around, I don't know. But anyway, here's my opinion:

    https://create3dgames.wordpress.com/2012/07/03/unity-vs-udk/

    ReplyDelete
  11. And now Unity is making the mobile licenses free. Heyoooo

    ReplyDelete
  12. I’ve been searching for some decent stuff on the subject and haven't had any luck up until this point, You just got a new biggest fan!..
    unity game development

    ReplyDelete