Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Unity or UDK or CryEngine or...?

Discussion in 'General Discussion' started by Not_Sure, Dec 14, 2011.

  1. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    streaming is not only about disk access or RAM but about simply being able to load more than fixed sized worlds (limited size scene in unity)

    Asset Bundles could be seen as a start for streaming but thats where it ends. As long as you can't stream umbra and other things that are crucial and as long Unity is not able to load textures in asset bundles without the binding hickup, you can't create stuff thats large, a thing which many other engines in a similar 'professionality level' offered since 2007 2008 already (Gamebryo, Trinigy Vision, ...).
    Will have to be seen if UT finally adresses this major limitation in Unity 4 then along DX11 and other deep technical things that should have been adressed for U3 already to make it a 2010 class professional engine but I guess there is a price to pay for it being offered in the free form.


    In the end: Use UDK if it fits your needs or you need the visuals or you simply don't have the money to invest in a teamwide unity pro license or if you do a shooter cause you start then with a whole prototype for free, otherwise use unity cause its flexibility will be your benefit :)
     
  2. _Petroz

    _Petroz

    Joined:
    May 13, 2010
    Posts:
    730
    That limitation is not completely arbitrary, everything boils down to CPU/Ram/Disk access.

    You make a fair point and I too would like to see Unity do better in this regard. However I think the choice to focus on workflow and usability is a good choice. In my opinion it is easier to retro fit and implement new backend features like this than rework the architecture, workflow or UI. It being free and extremely accessible is what makes Unity what it is. :)
     
  3. soren

    soren

    Joined:
    Feb 18, 2008
    Posts:
    123
    Unity streams audio if you tell it to :) use the "Stream From Disc" option in the Audio Importer. And it uses approximately ~40k on buffers (depending on the platform/hardware).
     
  4. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Nope, you're confusing UDK with unreal engine 3.
     
  5. _Petroz

    _Petroz

    Joined:
    May 13, 2010
    Posts:
    730
    Thanks Soren. There you go, so Unity streams audio and last I checked UDK does not.
     
  6. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Hm i wouldnt call 2008 Gamebryo and Trinigy on same level as Unity. Back then Unity was FAR behind those two, in terms of rendering power, optimisation, features and what not. In 09 Trinigy went dx11 with amazing graphic, Unity is still not there. Today in 2011 Unity does match Gamebryo though, which is more or less dead engine so in the end its not really fair to judge now.

    Well technically that is correct, but more or less he is correct. Main difference between those two is just in 500.000$+ console support.
     
  7. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Yes they are very similar on a technical level (although I'm sure the majority of the mechanics in arkham city were coded in C++ and not unrealscript for performance purposes, which is the other huge difference between udk and ue3), but I was mostly referring to exactly what you just said: udk does not support console deployment (which the OP has listed under pros for UDK).
     
  8. kablammyman

    kablammyman

    Joined:
    Nov 22, 2010
    Posts:
    507
    klick n play was the ish!! I used in with win 95 when i was 15yrs old.

    Thanks to KnP, I was able to make the jump into programming a lil easier....then i discovered GORILLAS.BAS! LOLOLOL

    Man, a much simpler time, but i liked it like that.

    Anyway,I wish i could use unity in c/c++ WITHOUT the source lisc. C# is a nice language, but I miss me some C/C++. IMO, unity is a good engine, but until more pros use it for AAA console and pc dev, many bugs will go unfixed and unnoticed because a shiny new feature attracts more people than bug fixes.
     
  9. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Unity costs $240k per title for full console deployment to all 3 consoles too so its not that Unity is significantly cheaper. Add in the windows + osx source codes and the delta melts away.
     
  10. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Probably, although if UE3 is anything like UE2, I remember the pricing on that was something like $350,000 but you had to pay royalties, or $750,000 for no royalties. Either way, I wasn't really trying to compare UDK and Unity, only to point out that UDK can under no circumstances can deploy to consoles.

    Out of curiousity, would Unity licensing be similarly priced to what you just said if you only wanted XBL/PSN deployment?
     
  11. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Wow 240k for full console release? I thought its way less than that.
     
  12. Jingle-Fett

    Jingle-Fett

    Joined:
    Oct 18, 2009
    Posts:
    614
    Unity also has the main advantage that it's 100% free for commercial usage. That beats UDK's weird royalty deal...

    I like FPS Creator :p
     
    Last edited: Dec 16, 2011
  13. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    from what mentioned, no then its only 50% of that per title for all 3 platforms.
    The leaked informations where $40k / title / platform for digital distribution, $80k / title / platform for disk distribution
     
  14. TehWut

    TehWut

    Joined:
    Jun 18, 2011
    Posts:
    1,577
    Hey, it's like a game maker within a game maker, how much better could it get? (no crappy movie quotes please)
    You have the full liberty of editing player health, isn't that great?
     
  15. Jingle-Fett

    Jingle-Fett

    Joined:
    Oct 18, 2009
    Posts:
    614
    Must...resist...gah
    A game maker within a game maker?
    gameception!
    ...
    I tried not to, I did :p

    The thing that annoys me about FPSC is that is had a lot of potential. TGC doesn't have enough vision, it could have been a professional game making tool tailored specifically for FPSs. But TGC seems to look at and treat FPSC like a toy unfortunately so it's lacking a lot of basic stuff; not modular enough. You can make pretty stuff fast but you're too limited in how far you can take it (which is a shame because they have good model packs too). But yea, at least you can edit the health lol xD

    But hey, who needs FPSC when you have Unity + Dastardly Banana :D (And Unity 3.5's pathfinding)
     
    Last edited: Dec 17, 2011
  16. actuallystarky

    actuallystarky

    Joined:
    Jul 12, 2010
    Posts:
    188
    Actually no, the critical difference between UDK and Unreal is that UDK does not allow source access. No AAA console release using the Unreal engine (Mass Effect, Arkham City) would have been possible with only the unrealscript interface.

    And something that has strangely not been mentioned by anyone so far - the Unrealscript code base is a horrid, horrid, HORRID example of how not to structure game code. Unless you think massive object hierarchies and tightly coupled interdependent class dependencies is elegant. And no, you can't chuck out their classes and start from scratch.

    In Unity, you code. In UDK, you reverse engineer.
     
  17. cannon

    cannon

    Joined:
    Jun 5, 2009
    Posts:
    751
    Not a fan of unrealscript myself, I do however like its language-level support for state machines. A state machine in unrealscript is much cleaner than its equivalent in C#. It's a slightly domain/problem specific language construct though, and unlikely to surface in any general language like C#. But, just maybe, can haz state machine support in Boo plz? It'll make Boo a much more compelling language for writing Unity code.
     
  18. actuallystarky

    actuallystarky

    Joined:
    Jul 12, 2010
    Posts:
    188
    Language-level support for states is awesome and the one thing I really miss in Unity.

    It's funny that you should mention such a feature for Boo, I was just thinking that a feature like that would be awesome for UnityScript / Javascript. If Unity are going to build themselves a custom language, it makes sense to add such a handy tool for games creation.
     
  19. cannon

    cannon

    Joined:
    Jun 5, 2009
    Posts:
    751
    Actually the only reason I put Boo was because I had gotten confused for a bit about which one was proprietary to Unity (I exclusively use C#), and for exactly the reason you posted. I've placed it in Unity feedback. Hopefully one of the Unity devs gets the itch to implement it, maybe as a Ninja camp project. =)
     
  20. Molt

    Molt

    Joined:
    Sep 6, 2011
    Posts:
    103
    About a year back I spent a few months using the UDK, using it to prototype some quick prototype game ideas using 'placeholder' graphics as a personal project. Whilst it is a powerful engine the reasons I personally stopped using it (..and the comparisons with Unity) were-

    - UnrealScript is a custom and proprietary language, and works in quite an odd way compared to just about every other language I know- and as I'm a professional researcher in a CS-related field I've done a fair few of those. There are a lot of online tutorials for the language but the language reference itself was poor and I wanted an in-depth understanding, I really wanted a book which I could take away and use to learn the language rather than a lot of special-case short tutorials. This was promised with the "Mastering Unreal Engine Vol III: Introduction to UnrealScript using Unreal Engine 3", but the timelines for that book were pushed further and further back until the content was so dated that releasing it would be ridiculous and so it was cancelled. Unity primarily uses JavaScript or C#, two languages I already knew well and so all that remained was to learn the API. For people who don't already know the languages there are good books they can use to learn the language, and also as the languages are used elsewhere the skills they develop on them can serve them well in other development environments such as web interaction (JavaScript), or application/web programming (C#, JavaScript if you're willing to try Node,js, or Boo since it's a dialect of Python).

    - Since I'm primarily a coder the main thing I was doing was editing code, running it to make sure it worked as expected, and the need to restart the IDE was a brick in the road for that. My preferred way of working (ignoring testing, which I'll mention in a bit) is to make a small change, make certain it works, then repeat.. for UDK though this hurts as the cycle is slowed by needing to restart the IDE, stopping me getting into a good flow as by the time I've restarted the editor I've forgotten the exact nature of the change I've just made, and often starting browsing the web instead.

    - I'm a good little software engineer, and when attacking any reasonably-sized challenge I like to be confident that my code works correctly. In my case I do this by using a test-driven approach to development, writing a small 'unit test' to make sure a piece of functionality I'm about to implement works as expected. By keeping all of these tests I'm able to run all of them against my codebase and make sure I've not accidentally broken any of my existing code with any new changes. Since UnrealScript is a custom language the testing tools for it were very crude and hard-to-use. I haven't (yet.. I am working on this) got a strong testing framework within Unity either, I'll admit, but there's a lot less of a need for it given the way I'm working with Unity. Most of my code is developed in Visual Studio as a separate project, producing a .Net DLL which I place in my Assets folder and then use very thin and light code in Unity to expose this functionality in the game. This means that I'm able to use tools such as nUnit, SpecFlow and DotCover to provide a very strong level of testing support- down to being able to see line-by-line whether my code is covered in the test suite.

    - I'd written a simple little game, using some nice custom code to utterly change the physics reactions in the environment to match my own bizarre desires. It was running, and I decided to try out the in-game console. Opening a console window I tried to interface with my code's APIs, and was very pleased by how easily I could do it. Out of curiousity I then tried some other console commands. I spawned a rocket launcher, this surprised me as my game didn't have rocket launchers and because of the different scale of graphics it was slightly larger than my entire level. Reading up I discovered that as the UDK had pretty much been extracted from the original Unreal Editor it was still partly carrying an assumption that you're writing Unreal. It is possible to remove the Unreal content, scripts and graphics assets from a UDK game but it's not easy and a long task- which will also lose you a lot of functionality which is useful in a general context. Although Unity was originally based around the author's game now you'll see no signs of that game in the engine or the IDE, what you start with is a lot more generic (in a good sense) in that there's very little there that you don't explicitly ask for, helping to keep the size of your game down and removing the risk of unexpected rocket launchers.

    Now I think I'd only consider using the UDK if I had a project which absolutely needed the DX11 based eye-candy, probably also working as part of a team, and something of sufficient size to warrant the efforts spent relearning UnrealScript specially for it.
     
  21. Molt

    Molt

    Joined:
    Sep 6, 2011
    Posts:
    103
    It is a minor thing but Unity doesn't have a proprietary language, Boo is nowhere near as popular as either C# or JavaScript but it's pre-existing language intended be to Python-like whilst using the power of .Net's CLI. The original author of Boo explained his reasons in the Boo Manifesto.

    Like you though I only actually use C# for Unity.. just ended up learning Boo as it had a good textbook on implementing Domain Specific Languages in .Net.
     
  22. cannon

    cannon

    Joined:
    Jun 5, 2009
    Posts:
    751
    Unityscript is proprietary to Unity; it's not Javascript but a variant of ECMAscript with proprietary modifications to make it fit better with the CLR. It's what I actually meant to specify in the original post.
     
  23. SolidSnake

    SolidSnake

    Joined:
    Dec 19, 2011
    Posts:
    63
    As a developer on my own I prefer Unity.

    I like Unity's simplicity and the fact that you can do prototyping very quickly.

    like the community, the tools and the mobile support in Unity

    UDK is powerful and has its own benefits and very cool tools. But for me it feels messy and hacky sometimes and not as easy to learn.
     
  24. TehWut

    TehWut

    Joined:
    Jun 18, 2011
    Posts:
    1,577
    You took the words right outta my mouth!
    DastardlyBanana is the only thing that got me into Unity in the first place! (and Aron makes all of our live easier (or 3.5) your choice)

    FPSC might've had potential, but it would've had to been long ago. Darkbasic + a title of "FPS Creator" is just begging for kids. I don't blame them for dumbing it down. It would be too much for the user base to do more than drop some enemy prefabs in the room prefabs. And have you ever tried it? it's unacceptably sluggish on even a decent PC. Don't even want to try the FPSC DX10 or whatever. The last thing they need is fancy effects :/
     
  25. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    Wow, amount of misinformation in this thread is staggering.

    I've used Source (hated it), used UDK (loved editor, hated uscript), I got only very very limited experience with Crysis SDK and Unity. I was just browsing and seeing the comparisons that people make, just wanted to chime in.

    First of all, you do not need to close IDE to compile code in UDK. You don't need to close the editor, it can't load modified scripts on the fly, but you can open another instance to compile the stuff, after that you need to restart the editor. There is no such thing as having to close IDE. I don't really get the huge amount of gasping that goes into this,

    UnrealScript is a propriety language, true, but its very, very close to Java. In fact, you can understand the syntax and start coding within an hour max. Problem is, the giant (and I mean really, really huge) amount of libraries that already exists. This has nothing to do with the language itself. It is a problem that is common to complex systems, and no matter where you go, you will have to deal with this stuff.

    Learning UnrealScript is hard because most of the stuff that gets done with the game, gets done inside UnrealScript (barring stuff like rendering pipeline). Gears of War is 70% unrealscript. Unreal Tournament demo that UDK has is 100% UnrealScript (it just lacks few guns and maps and rest is 100% there). Performance isn't an issue unless you do something horribly wrong (like 100 traces per tick on 20 different actors, that are soft bodies or whatever).

    Lack of C++ source code access means nothing. Chances are you won't be able to optimize or fiddle with the rendering process to fit your needs anyway. If you need to use faster C++ code, you can do DLLBinding, which is easy enough and if you really want, you can move majority of your game to C++ that way. DLLBinding allows you to do pretty much everything in native code.

    I don't really understand the "waxy textures" and "fishy eye camera" stuff because thats obviously dependent on materials you make and the FOV you choose. There isn't an engine in the world that wouldn't get fishy eye after 60 FOV (80 to be more noticable) or setups your materials specular mapping by itself just by reading your mind.

    Only valid complaint that I see here against UDK are that There is no way to do destructible terrain properly, you can work around and make one anyway, but you can't modify the built in landscape in runtime.

    For the record, UDK has:

    Built in visual material editor (realtime)
    Built in visual scripting language (that can be further advanced via normal scripting)
    Built in visual animation set editor (allows you to blend animation states in a visual scripting fashion)
    Built in visual FX tool (cascade)
    Built in visual physics modelling tool (Phat, allows you to visually setup physics of actors)
    Built in visual sound system
    Built in destructible enviroments (except terrain)
    Built in visual cinematic editor
    Archetype system (allows you to unload almost any variables to the editor, you can create entire character classes, weapons, and vehicles with unique properties without ever touching uscript)

    License for SpeedTree
    License for Scaleform
    License for FaceFX

    Last 3 is the industry leader in their fields.

    Asset pipeline isn't as robust as Unity, you need to convert your models to a readable format (FBX, widely used), and import them manually, but that still beats the Source. (Also, as I understand it, if you don't have 3DS Max installed, Unity can't load the max files, because it actually converts max files into FBX on background.)

    I haven't made a choice about what to use for my commercial game project, I'm leaning towards Unity for the lack of royalty payments (currently reading documentation and downloading). Thats the gist of the situation really, feature wise, its UDK hands down, but money wise, well...

    I know this is Unity forums and people like to express their opinions, but guys, seriously, don't discuss hearsay as if its a fact.

    Cheers.
     
    Last edited: Mar 2, 2012
  26. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,964
    Not sure who said that you need to close the IDE to compile in UDK. But you do have to restart the editor, and that's crazy!!

    Imagine having to close unity every time you modify a script? That'd be so stressful... Luckily in unity it's a 2 second process! :D
     
  27. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    Thats a whole other thing that baffles me. I never felt the need to restart editor frequently, because the script work that is being done with unrealscript is major back end stuff, rest is done by exposing variables (via archetypes) to the editor, or via kismet. Those things can be changed in realtime while the game is running.

    If you can't decide whether or not something you wrote is going to work by simply reading it, you're just hacking stuff to begin with.
     
  28. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520

    Ofcourse, need to restart editor is already harmful enough. Oh and by the way, Unity still loads quite faster than UDK, especially when you open it second time, UDK loads much longer and even if Unity would require editor restart it still wouldnt be that problematic as it is in UDK.

    Oh when did that came in, seems like i missed that info. So that means Cryengine and UDK both on Scaleform....hm hopefully Unity will make deal with Autodesk somewhen in future too and include Scaleform, or at least new working GUI somewhen soon.
     
  29. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    UDK is slow to open, but it has tools that prevents the need for that to happen (from what I'm seeing this is something that Unity lacks, which is why everyone is freaking out about it).

    Quite a while ago. Its been almost a year. Support is great, but they deprecated UIScene in favor for it, so for an acceptable quality, you pretty much have to do the design via Flash. At least you don't really need to learn ActionScript for it (they have templates for everything), so thats something I guess :)
     
    Last edited: Mar 2, 2012
  30. OmniverseProduct

    OmniverseProduct

    Joined:
    Feb 26, 2012
    Posts:
    1,568
    This was probably mentioned, but when I checked out UDK before I found out about Unity, it's not royalty free. If I remember right, you have to pay them 30% of all commercial profits. Could be wrong on the percentages.
     
  31. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,964
    Well, what IDE do you use to code in UDK?

    Could you give me a brief guide on how to make a simple piece of code work in UDK? Say I want to make a simple box that rotates at certain speed, how would I go about doing that with unreal script?

    That's the thing that keeps me from ever touching UDK, I simply don't know how to do a simple program work! when that happens, you know stuff isn't that user friendly. I give it a shot every now and then... but unity is so fun and easy I instantly fall back, and forget about UDK for a few months.

    If I knew how to get the smallest unrealscript program running on UDK, I don't think I'd have a problem learning unreal script. But that's the problem, I have a hard time getting to that part... and I lose interest soon. And they don't seem to know/care about this at the UDK forums either!
     
    Last edited: Mar 2, 2012
  32. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Yep you are right dogzerx, i could give the same example for Zbrush vs Mudbox thingy. Most of the people that use Mudbox dont like to use Zbrush, becouse they hate its interface, non-proper 3d viewport, millions of features to swim trough and else. But if you look how many users Zbrush has and if you look at their forums, majority of users doesnt care about that, they just get used to it. Same goes for a lot users that are on Unity and could be using UDK. Wierd, some get used to it and some not.
     
  33. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    Another post I made (about rotating box example) is waiting moderator approval, I forgot to answer the IDE question there though. I mainly used nfringe (basically acts as a parser for Visual Studio). Its free for non-commercial usage. Wotgreal, Unreal-X Editor and plain old Visual Studio Express C++ works fine. There's Notepad++ and ConText extensions as well, although I personally never tried them. Never did commercial work on UDK.

    I guess the other post won't get approved by moderators at this point, so I'll just summerize the rotating box example here:

    1) Extend from Actor class**, put the keyword "placeable" on declaration of the class so that editor knows its placeable.
    2) Create a rotation vector variable and expose it to editor (var(Rotation) rotator rotationVector)
    3) Create a blank Tick function. This is a special function, everything inside that will get updated every tick(frame).
    4) Use SetRotation(RotationVector) function inside the tick function. SetRotation is a function from Actor class**.
    5) Declare that this actor has a mesh (default properties stuff)
    6) Inside the editor, find your class, right click, create an archetype

    Put any mesh you want to mesh section, and enter any kind of rotation you want into rotation section. These can be updated in runtime.

    An actor is basically almost anything that you see on the screen, actor function gives basic functionality such as setting rotation, detecting touching etc.
     
    Last edited: Mar 3, 2012
  34. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    Can you explain what you typically script in UDK and what you do with simply exposing variables? I know it's possible to do anything if you can store 3 variables on an object, but I wouldn't for the life of me start a game with that workflow in mind, unless I was forced to.
     
  35. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    Ok, I'll give you an example with weapons.

    Say, you have a weapon that fires rockets, and the rockets you fired splits into other rockets mid-flight. If rockets explode before splitting up, huge area damage for each rocket, but if they hit something after split up, they do minimal area damage.

    We can abstract this into few classes.

    1) Weapon class: Has the socket to fire the projectile, gets attached to pawn(player), has a skeletal mesh, displays animation
    2) Projectile1: Moves at certains speed, damages area when touches something, has a mesh and displays particle effects
    3) Projectile2 (that fires a projectile): Has the abilities of the above projectile, plus has a socket that fires another projectile and removes itself after spawning other projectiles

    The best (and proper) way to implement the above weapon, would be exposing variables to the editor. You do this like this:

    var(WeaponTest) float expDamage
    var(WeaponTest) float flightSpeed
    var(WeaponTest) float splitUpTime
    var(WeaponTest) projectile proToBeFired

    And so on and on. When you create archetypes for the 3 classes you've made (select classes in editor, right click and create archetype), the variables you exposed will be inside (WeaponTest) section, after that you just fill that in.

    All inside the editor examples; Assign rocket launcher mesh to weapon archetype (select the mesh, click the assign button inside archetype window), assign Projectile2 to its firing socket, open up projectile2 archetype, assign projectile1 on its firing socket. Now you have a rocket launcher that shoots rockets out of its rockets.

    If you want, you can put lasers to Projectile2 firing socket, and it will become a rocket that shoots lasers. Create another a copy of weapon class archetype, switch the mesh to a handgun, now you have a handgun that shoots lasers out of the rockets it launches. Create a copy of Projectile2, assign a chicken mesh to it, now put that inside the handgun, now you have a handgun that shoots chickens that shoots lasers.

    You can do this with characters, vehicles, well, everything really. Setting up a TF2 type game? Just create 1 character class, expose all the variables, and now you can set everything up with archetypes, inside the editor. Character speeds, weapons they can carry, how much health they have etc

    I don't really remember any time that I really hardcoded something (related to gameplay) inside unrealscript. I just expose the variables, set the class to use archetypes (one line) and set everything up inside editor. Meshes, damages, sounds, animations, physics etc etc.
     
    Last edited: Mar 2, 2012
  36. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    UDK- You have a team of 10-15 people , about 6, 7 programmers, and you have a 18 months to make a game that will be very high spec, very high GFX.

    Unity- Its just you, or maybe like 3 people and you want to make a decent game in 3 months- Also the learning curve is much easier , UDK is a nightmare for people new to game dev , Unity is very easy to learn, and the internet is full of great documentation .

    Basically for someone doing this part time, go with Unity, if your an industry pro, with deep pockets to hire animators , artists, ect, AND you want to make some EPIC game, UDK...
     
  37. Daydreamer66

    Daydreamer66

    Joined:
    Nov 14, 2009
    Posts:
    218
    You can develop both commercially and non-commercially with the full free version of UDK. For commercial projects, you only pay a $99 license fee before selling your game. After that, your first $50,000 in sales are royalty free, after which 25% kicks in.

    Of course, the small developers who do find such success sometimes just end up negotiating a full license with Epic (think Dungeon Defenders, The Ball, etc.). IMO, if the engine helped to make that kind of success possible, I'd be more than happy to give 25% back to the engine developers at that point.

    Per ease of use: I love me some Unity3D. But I also think UDK's "difficulty" tends to be exaggerated from time to time. I've seen some pretty incredible work by single developers over there, and I had a blast creating my own puzzle/adventure mini-game for my son while learning their toolset (it took me all of two weeks to make, looked incredible, and was lots of fun for us - that's a good way to learn any engine. :D).

    The most common misconception I see is that UDK is much harder to use for non-FPS type games. In reality, developers simply choose whether to derive from the UT classes (with FPS functionality), UDK classes (more generic game functionality), or even GameInfo if they like. The nice thing is that you can include any or none of the functionality from any of the classes above yours, choosing whatever you'd like to use or change for your game.

    So... both engines are awesome. Just pick the right tool for your project. I find Unity3D cleaner to work with, and I love C#. But I also appreciate all the functionality that Epic provides, which is sometimes only available via paid add-ons here (like Playmaker vs. Kismet), and sometimes not at all unless you develop it from scratch. On the flip side, any changes you make in Unrealscript require recompilng before testing, and this is a deal breaker for some. Your choice should really depend on what makes sense for the game you're developing, and which toolset you're most comfortable using.
     
  38. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    Its obvious you never used UDK. Yes Unity is more simplistic and requires less (for a while at least) but UDK doesn't nearly requires that much people. In fact, most (if not all) commercial UDK games came from very small teams. Last one, Qube, is from 2 students.

    Dungeon Defenders PC version was done in 3 months. Again, a small team. They delayed the PC release 2 years because of consoles, but if you have the full version of the game, and go to the editor, you'll see every single asset is at least 2 years old.
     
  39. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    UDK almost got me to quit trying to design games .

    I stand by what I said, UDK is for bigger large scale games , Unity is for a few people
     
  40. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    Curious, which aspects of UDK made you almost quite designing, and how is Unity holding up on those same aspects?
     
  41. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    The integration of coding is the biggest deal for me , alot of it is just UI stuff . I feel unity has alot more polish when it comes to the end user experience
     
  42. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    To be fair, he never said UDK required that many people. A little reading comprehension would have gone a long way.
     
  43. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    He implied that, and reinforced it on his reply, no need to strike below the belt :p

    I can't comment on Unity experience since I'm only starting out, but the lack of some features has started to freak me out (lack of archetype like system especially).
     
  44. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    He implied that in his opinion that was a bad use-case, not that it was undoable. You would have to ask whether the guys behind Qube and Dungeon defenders would have made a better game [or used less time etc.] if they had gone with U3D.
     
  45. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    If I had to guess, judging by the lack of important features and the need to rely on 3rd party options, I'd say they'd choose UDK again if all they were asked on a purely speedy development vs quality aspect.

    I'm very curious how many people actually used UDK in these forums, and didn't just tried out for a week in their free time. Most of the stuff people cites are result of having completely wrong expectations and using wrong techniques to problems that doesn't exists.

    Here's the dungeon defense blog, detailed explanation of core mechanic implementations. Dungeon Defenders (the commercial game) is extended from this, most of the functionality stayed the same.
     
  46. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    My point was that UDK is rather daunting for smaller teams . Alot of small teams see the power of UDK, get bogged down in the technical side of it, and never ship a game .

    This is all a matter of opinion of course, but its not all that wise to come into the Unity forum and expect us to say yeah unity sucks , UDK is the best
     
  47. zalazingo

    zalazingo

    Joined:
    Mar 2, 2012
    Posts:
    16
    I didn't said, nor implied anything like "unity sucks udk rules", I purposfully refrained from commenting on aspects that I have no experience with, and just addressed misinformed "UDK sucks, unity rules" kind of posts with absolute facts (nothing more). There is no need to get defensive.
     
  48. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    But I will say that UDK has far more control over its own workspace , I just downloaded a unity extension that crashed Unity and corrupted a good chunk of a project, I have a kinda recent project back up and my scripts are ok( all the GFX are backed up elsewhere, just have to put things back together) .

    Antares Universe (VIZIO) free- don't use this right now .

    I think it depends on your skill level, like if you need net gen graphics, go with UDK- if your just making a small game , then unity
     
  49. sereda008

    sereda008

    Joined:
    Dec 10, 2010
    Posts:
    130
    I have worked with Unity, UDK and the Cryengine 3, and to be honest, they both have their strengths.

    Unity: More suitable for small indie games, as they are much easier and faster to create than on other engines.
    UDK: The big gun. Very unfriendly (as I found it) and very static, but if you don't care for dynamic environments or the pain of developing in it, then it is for you.
    Cryengine 3: Might not contain as many development features as UDK, but is much easier and is 100% dynamic. This is the best engine in my opinion if you want to create games which are anywhere more than 2 week indie games. much friendlier than UDK, but there are not that many resources around, and many are outdated. Does not support Iphone/android/web games.

    For a large game I am creating, I choice Cryengine 3. It is by far the best engine in my opinion. But if you are looking to create a small game in a few weeks which is designed to reach a large audience, I would suggest Unity. I myself am using Unity to create a small project, simply because it will be faster and playable on web browsers.
     
  50. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    This looks like you are talking about shooters, FPS in general, modifying weapons,characters and assets to act according to your liking - although with tremendus freedom, from what I understand - is closer to modding.

    I read the DungeonDefense blog and they are also basically modifying existing stuff. It looks like a higher level of control. For instance: let's tell the characters to use the navmesh system, now let's add split screen, tap tap done, all using UDK provided framework.

    This is both a blessing and a problem. It's a blessing, because you are using pre-made tested systems and basically wiring up the setup (and I'm guessing this is what you mean by how UDK dev should be done). These systems are working, they do what you want and you can alter them to an extent.

    The problem is: the same, you are working with pre-made systems. How Epic did it, what they wanted to do, you have to follow their logic and understand their way of doing things. Basically you have to follow Epic and essentially work with their engine, not build it.

    These are examples similar to the ones you described and from what I see most of the blog goes on like that, basically cleverly modifying stuff to serve the intended purpose. This is not bad, but in order to be able to do things in this way an in-depth knowledge of UDKs systems is a must. You have to experiment with stuff, you have to remember what "looked like it could do this too", it's not very "pro" in my opinion to rely on this as a general purpose game creation environment.

    Why would I modify a projectile to support variable width in order to get a magic wand effect? Do I have to compare all my features to their analog in the UDK world (a Pulse Gun for instance here from what I gather)?

    On the other hand Unity requires a lot more systems to be created by the dev (or bought - that's why there is an Asset store), this is bad for people who expect systems up and running and that's why Dastardly Banana's fps constructor is popular for example. You can then modify stuff and come up with your own version or write your own to support what you specifically need. This is bad if what you are seeking for is a base for an FPS for example.

    For other developers, working freelance for clients or making small games, this is ideal, because they can make their game and build only what they need, don't need to worry about "tricking" the engine into behaving how they want it to behave and only code the functionality they need.

    Unreal is a de facto industry standard, that is the main reason it is so popular. You can get a job if you know how to use it, cos an exec doesn't care how you come up with results, but he is interested in the FACT that other companies finish games with this engine all the time, so you should too. It's simple: why gamble? Asking the devs - up until recently - would also lead to: Unreal. Cos they also see the value of past experience, even if they have to do everything as an Unreal mod, at least they got a ton of stuff to stop worrying about (Speed Tree implemented, FaceFX implemented, Beast etc etc). Why care if you have to do some "magic" to actually get to the desired result, instead of straight up coding exactly what you want, you have AAA written all over you and a good chunk of work done.

    You can see this at work with other engines, MMO ones for example. If EA did it so an we, so let's use this "sure bet" engine. It's a wise choice and that's why they don't use UDK for their MMO. It doesn't mean UDK is bad for MMOs (I think Lineage was Unreal), but why gamble, instead buy a tool with a prooven track record or specific features useful for the task at hand.

    Unity is more multipurpose and Unreal, to me, basically seems like: investing too much time for limited freedom in the end.

    I also doubt skills in using Unreal in such a manner are really transferable to another engine (one in which it is required to write the weapon system or the weapon system is different etc), inherently then you prefer Unreal to stay the de facto standard.

    Now why would UDK seem akward and strange to a Unity dev:

    A person having used Unity, will not try to modify Unreal systems to fit his needs, but will try straight away to script exactly what he needs, when he sees this takes time, he will give up. He has no prior knowledge as to which asset to modify in order to get the result he wants, he isn't even thinking that way to begin with. Basically he has to spend a year "discovering and understanding Unreal", to work in the fashion you describe, whereas in Unity he spends a year coding, from which he might get more satisfaction and results faster ( I do).
    Things are more to the point and you can reach to solutions on your own, with your own code.




    A little background:
    I too started out with UnrealEd (when it was just an Editor), my aspiration then was to make an FPS (wow), I started making buildings for the levels, then a character, put them in, shot around, but that was it: a level to play around in.

    So along comes Unity (PC) and after a while UDK. This was the beginning, I had already tested Unity, built levels added characters with animations, controllable as I wished and my friend says they launched UDK too, free to develop and stuff. We start it up, still using ActorX plug-ins, still had to conform to their setup (and I was using Biped developed by Epic), still had to have maya scale for characters, max scale for assets (they switched character pipelines) and I'm like: damn, woman why would I do all that if my game is cartoony and has no weapons or if I'm making a platformer or have to make puzzles, because the game is an action-adventure?

    I also use Zbrush and not mudbox...
     
    Last edited: Mar 3, 2012