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

Is Unity any easier than UDK?

Discussion in 'General Discussion' started by techmage, Nov 8, 2009.

  1. RElam

    RElam

    Joined:
    Nov 16, 2009
    Posts:
    375
    I've used both of these, as well as Novodex/PhysX (long time ago though), and Bullet is by far my favorite, and is open source. I'd be very happy if Unity switched to it, and I'd wager they would too. I wouldn't even look into Newton, it's not a bad physics engine really, but doesn't compare to Bullet, and is not open source.

    I like Bullet for the same reason I like Unity, because they seem to make good progress and are a good overall investment, beyond being competitive right now. With regards to the Unity vs. Unreal topic, Unity is rolling up on Unreal pretty fast. Although Unreal definitely has an edge in the aesthetics department, a big part of this is a function of it's age, it has alot high end customers producing high quality demo material and tools, not to mention Epic themselves.

    It's age is a double-edged sword though, and the best example is the UnrealScript issue. I'm quite sure if Unreal was developed now, they'd have used Mono, just like Unity (quite a few more open source options available now). I've developed a scripting language, and it's a lot of work and maintenance, and at a certain point it's quite difficult to justify it's development, but at the same time, it's difficult to justify ditching it too. So Unity's overall solution is stronger and less costly simply because it was started later (how things generally work). Moving forward though, it's safe to assume that things like this will allow Unity to progress faster per man-hour, just because it's newer.

    If Unity got it's renderer up to newer standards (HDRI, deferred shading, IBL) that would be great, but it's slightly more difficult for them, since unlike Unreal, Unity doesn't want to forsake all older hardware. I think the Unity guys have focused on what they needed to first and have done it well, but I do think it's about time to work on these aesthetic things.
     
  2. dr. stupid

    dr. stupid

    Joined:
    Nov 15, 2009
    Posts:
    69
    bullet may have more features (like softbodies) and a more promising development model since it is open source and supported by some companies but actually i find newton more interesting since it isn't impulse based. this makes it more robust (not so susceptible to jittering, handles interpenetrations most gracefully of all physics engines i know,...).

    physx is a bit overhyped. they mainly seem to use their money on marketing. :p i also wouldn't mind a switch to bullet. or newton if UT can hire its author. it would be awesome if they had their own physics expert on the team.
     
  3. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34

    Looks like the folks at EPIC are listening to the community, you can now extend the engine using DLLs :)
    http://udn.epicgames.com/Three/DLLBind.html
     
  4. joew

    joew

    Joined:
    Apr 8, 2008
    Posts:
    96
    With the new DLLBind functionality there really isn't anything you can't do other than change core engine level code. It's really cool that they listened to the community on it.
     
  5. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    Now thats something. You could probably do your entire game logic in a DLL and use UDK just for display. This opens up a whole new world of possibilities.
     
  6. sacredgeometry

    sacredgeometry

    Joined:
    Dec 5, 2009
    Posts:
    55
    As a new game dev and a solo dev for the time being (with a forgotten experience in coding) I might actually "have" to go with UDK simply because the learning resources are there. The amount of literature and video tutorials i have found on udk simply from their website is vastly superior to anything available for Unity.

    Granted with unity using 3 common languages its should just be a syntax learning exercise to get into using it as the GUI and interface are very user friendly. But i have found for someone effectively just getting into game developing unity has been laborious.

    I could not even find a download link to the syntax dictionary and will probably resort to just downloading that part of the site. For an Engine predominantly marketed at indie and small budget productions they really need to step up....thankfully the community surrounding Unity is very much alive and incredibly helpful.

    all i can say is thank you.

    peace

    Brian
     
  7. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    I can guarantee that Unity is much easier and less time consuming to learn than UDK :)

    For example, with no prior experience with any of the languages Unity uses, ive been able to do with Unity whatever i want after just one week, and i find that 99% of questions i have can be answered by reading the documentation. I have yet to encounter an engine that even comes close.

    Of course it has more learning resources, id be very surprised if it was otherwise - its a vastly more advanced engine! More tools/features == more things to learn.

    Regardless, quantity isnt everything.

    Of course. Its because, as you yourself mentioned, Unity uses common programming languages for scripting, as opposed to UDK which uses its own proprietary scripting language. There is plenty of documentation and learning resources all over the internet for C#, JavaScript and Boo; no need for redundancy.
     
  8. sacredgeometry

    sacredgeometry

    Joined:
    Dec 5, 2009
    Posts:
    55
    I thought Unity was using propriety forms of those languages...i keep hearing it called unity script, I'm sorry if that is wrong as i said im am very recently getting back into this.

    As you said quantity is not everything...and you are right its the quality of those resources i should have mentioned the quality of resources dedicated towards unrealscript and the toolset is by far and away better than anything dedicated towards learning the unity syntax and toolset. Its putting people in the difficult position of finding out what they need to learn when they dont know the first step.

    All i would recommend is linking other good sources of learning....instead of just leaving people to bimble around and loose motivation.

    Im sorry if i didnt get that across

    edit ...whoops notes
     
  9. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    UnityScript is just a dialect of JS. The differences are really minor.

    I have considered UDK, compared it to Unity, browsed the documentation and examples etc, and to be honest i cant see how UDK documentation is any better than Unity. In fact, for me the documentation is one of the downsides of UDK - i find it convoluted, confusing and unnecessarily complicated.

    As for resources 'dedicated towards learning the unity syntax and toolset' - as far as toolset goes, i dont see any room for improvement, really. Its pretty much spot on. As for syntax - as i already said, there is no Unity-specific syntax.

    Er, did you miss this, by any chance?
    http://unity3d.com/support/documentation/Manual/index.html
     
  10. sacredgeometry

    sacredgeometry

    Joined:
    Dec 5, 2009
    Posts:
    55
    whoops, yes i did miss that thanks for that and for clearing up a few things about unity.
     
  11. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    What a totally bogus argument... Any language syntax can be picked up in a couple of days if you have a foundation in OOP. And dude you don't even need to learn a syntax if you go the Kismet route. UScript is as legit a language as any other.

    Now if you where to point to the fact that you can in unity you can take advantage of the C# framework, that would count as a bonus factor for Unity.

    Epic has really made an effort by creating over 20 hours of video training. Plus users have contributed over 160 video tutorials (and many of them are useful) in 30 days! And yes there is more to learn because it has more features and that is not exactly a bad thing ;)

    Lets' not forget that the UDK is in Beta!!! Features are being added on a monthly basis, DLLBinding was added this month.

    The UDN for UDK is still in it's infancy, and the engine is not as easy to pick up as Unity. It's simply a different design model Top-Down vs Bottom-Up. However the amount of UnrealScript code that is available on the net is huge, due to the success of UE as a Modding platform.

    There is room for both engines. They simply fit different requirements. If you need to develop something quickly and fun, and don't need the advanced UDK features that come out of the box, or if you are targeting the iphone, then unity is one of the best (most people here would say it's the best) platform to develop games on. If you have the resources to create something more advanced the UDK provides allot of power out of the box that would take many months to replicate in Unity, and a considerable investment in middleware.

    Plan your project, organize your team, do requirement assessment, then do a platform evaluation and pick the right tools.

    If you are just getting into game development for fun, then it really does not matter which platform you pick. Just explore it and have fun experimenting! Learning and mastering either system is a time consuming task. Both have decent documentation, but the best thing is that both have large and useful communities, that can help if you get stuck.
     
  12. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    What argument? I dont recall saying anything about UnrealScript or Kismet.

    *checks his own posts*

    Nope, nothing.

    No need to be so defensive about UDK all of a sudden. I was merely trying to clear up some misconceptions about Unity and stating my honest feelings about UDKs documentation.
     
  13. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    Well let's see... I get really pissed off when i see people misleading other less informed people.

    Really. You can guarantee it? Hum that is a very interesting statement. Do you know the game... Bullshit?

    Are you saying it's because of the language bindings that Unity uses that you find it easier to use Unity than the udk?

    What kind of engines have you used? They must be very poorly documented! RTFM only works if you don't use features that aren't in the FM.

    WTF is a "common programming language"? A language is a language. Uscript and Boo aren't standardized by a comity so what? They both are OOP languages. The syntax takes at most a week to learn.

    There is plenty more documentation floating around regarding UScript than boo, or unity script. And all uscript docs are relevant to the engine, which is not the case regarding C#.
     
  14. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    I have to agree with CocoKool, even though he is being a little defensive :)

    The difficulty does not lie in learning a language, that's the easy part. Programming is programming no matter what language you chose, the only thing that varies is syntax and usually some advanced features. The real chore is learning the API. I am a programmer, I have been programming for years. That doesn't mean I can get into Unity and start coding right off the bat. As a matter of fact, I tried that and found myself completely lost. That's because I don't know jack about the API. People talk about UnrealScript, it's almost identical to C++ and Java in terms of syntax, but it's the API that you are going to have to tackle before you do anything.

    I stopped using Unity because I identified the goals I have with my games and UDK offers the physics/animation functionality right out of the box that I am looking for.

    The new 3DBuzz tutorials however are very very good. I wish Unity had video tutorials of this quality. The Will Goldstone vids come somewhat close, but nothing like these UDK tutorials. You guys can talk all you want about all the added features, as long as you have very high quality training like the 3DBuzz ones, the difficulty drops down quite a bit.

    Also, to further concur with CocoKool, it depends on your project. Analyze your needs and then decide which platform you want use. If you want casual games for iPhone, then the answer is obvious.
     
  15. kevinr

    kevinr

    Joined:
    Jul 24, 2008
    Posts:
    263
    I think you guys (CocoKool Joseph) miss the point. It's not about the programming language, it's the way Unity works. The fact that you write your scripts and just drag them onto your gameobject entities. All the pluming and boilerplate code is non existent.

    The learning curve of understanding the API is always going to be there, true. If you're familiar with 3D programming or other 3D game engines, the API should not come as a surprise. (Unity or UDK) I find the Unity API to be very well documented. Not only do you have various user guides, the api guide is very clean and searchable. The game tutorials should be enough to get you running. Once you get familiar with the core elements, it's pretty easy to pickup the rest. You don't need to focus on learning the entire API in one shot. The thing about 3D programming is that there are a lot of ways to do the same thing. I've completed a few games with Unity, and I doubt I use half the API. Pretty much every type of game concept has already documented on the forums, or you can get live answers on IRC. (I'm sure this is the same for UDK)

    There are a lot of reasons that I'd say Unity is fast to develop with. A lot of that is just the way the project hierarchy works, the way assets are imported and accessed. Unity's package features become quite useful for creating your own libraries of reusable code. I see Unity as having a lot of features that are geared towards making a small team or a solo developer very productive.
     
  16. KaelisAsur

    KaelisAsur

    Joined:
    Apr 9, 2009
    Posts:
    361
    Well, maybe you should calm down and consider what people are actually saying instead of making assumptions. There is really no need to be so aggresive.



    To clarify:

    That was a joke. I thought the emoticon would be enough to indicate that, guess i was wrong.

    Im not saying anything. It was merely an example of how easy Unity can be.

    By 'common programming language' i basically meant 'something that is not a proprietary scripting language'. Just a figure of speech for the sake of underlining the difference to UScript.



    Again, to clarify: Im only saying that Unity is faster and easier to learn than UDK (because its less advanced, not because it has better documentation) and that i prefer Unitys documentation.
     
  17. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    Just to make it clear, my goal is not to defend one engine vs the other. I just think people should make well informed decisions according to their requirements. And i really hate when people misinform other people, specially if they have not tried it, or have outdated information. Both unity and UDK are great platforms, but have different abilities (feature sets) and target audiences.

    I have issues with both. One thing that i dislike about UDK is it's Top-Down approach and the fact that it is oriented for the FPS genre. I would much rather prefer if it was more abstract and generic.

    One thing that i dislike about Unity is the licensing model (no not the price, i would not mind paying 4.000-5.000 for advanced features, i have in the past paid premium for advanced features in packages like Softimage and Maya), what i really hate is that the Pro version is not Pro at all. It is simply an uncrippled Unity version. I am thankful for the free version, but it isn't like this hasn't been done before, a lot of software comes with free, PLE, etc type of licensing. Let's face it any serious commercial project is going to license Unity so in the end what you have is an unlimited PC trial version.

    Kevin, have you tried many engines in the past? No offense but there isn't anything particularly unique about that. In the udk, virtools, shiva3d and many other engines you can also use visual editors to program objects, or drag and drop (pick from a context menu) functionality.

    What i find of very good quality in unity is the editor. But let's see how well it scales in future versions with more and more features, more panels, editor windows, etc...

    Documentation is decent on both ends. UDK developers and community have decided to create more video tutorials. Unity has a decent set of video tutorials too.

    The formal UDK documentation is still unstable, features are still being added to the package. The only thing that the UDK may have in it's favor vs unity is the amount of UScript code that is around due to the years of UE mods.

    In the end if you are really going to create something unique you have to code it yourself. The API feature set may help, by providing a low-level type of access to data-structures, etc... in the end the lack of source access in both platform is always going to limit you in how you can change data structure and the level of customization that you can do to the engine. Unity is actually pretty good in terms of extendability without the need for source access.

    We are in total agreement. Unity is designed/ engineered for small teams and solo developers. And as long as the developer focuses on the current feature set and is not restrained by what comes out of the box, or has the resources to extend it (s)he will be very happy with unity.

    However comparing both engine in terms of features is not a honest comparison, due to the amount of features that comes out of the box in the UDK.

    In terms of asset management i like the way the UDK does it. Some people dislike the asset manager, i am not in that group of people. Unity also has good asset management.

    Let's face it the UDK is not targeted for Solo developers, not that you can't do a good looking solo project with it, but it's simply not engineered that way. The engine is divided into modules that are supposed to be worked on by different people in a concurrent task environment. A small team will adapt much better to it than a solo developer. But the results are undoubtedly impressive, as the many UE mods and even the few showcase projects show.

    Both provide a fun learning experience and if the goal is to have fun and learn to work with professional grade gaming tools, try a few ideas, create a prototype, etc... you can do that in both, but Unity is my preference for that sort of task.

    If you want to learn how to build an Unreal Tournament kind of game, then the UDK is perfect for that because it even provides the assets of the game, so you can go behind the scenes and discover the way they (Epic) did it. If you have the team (or excel at being a jack-of-trades) the UDK enables you to take advantage of the advanced features that can catapult your Indie project to AAA level.

    It all depends on ambition and the amount of resources (time being one of the most important) that you have for your projects.
     
  18. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    I'll come down, if you try to be a little more clear in your writing, and less misleading.

    Easy compared to what? doing what? What tasks did you have to do in both platforms that you found one easier than the other? Or are you just generally stating that scripting in Unity is easier than scripting in UDK?! I am trying very hard to get your point!

    What is the difference? And where does it translate into an advantage to Unity? (AFAIK C# is MS Proprietary! The fact that it's standardized so that other implementations, like mono can exist does not erase the fact that C# is licensed under MS licensing terms. EPIC could just as well submit UnrealScript to a standards body, but there is really no point to it doing that).


    Faster, agreed! Because there are less features to learn. Easier? That is a highly subjective topic: What is easy for me may be hard for you and vice-versa.

    Epic and the UDK community have focused in doing video documentation, you may prefer to read or the style of Unity's documentation, but just reading the manual is not enough to make a game.
     
  19. kevinr

    kevinr

    Joined:
    Jul 24, 2008
    Posts:
    263
    I was commenting on Unity specifically, as I have not used UDK. I have however used many other engines, though none of them had an editor and were purely source based. (ie irrlicht). But now that you mention it, I fail to see how UDK can provide the same simplicity if you need to extend functionality with DLLs. I think we are all under impression that the execution code of Unity's 'scripting' is much faster than the interpreted unrealscript. Or at least I thought that was the case from earlier posts. So it seems to me if you wanted to write game logic in the way that you would with Unity, you would instead want to write it into a dll and link to it with unrealscript. It's not a terrible thing, but it does add an additional level of work that would not be necessary with Unity. Would unrealscript create a bottleneck if you had to pass back results from a dll every frame? But besides that, in the case of what is 'easier', it would seem to me the act of making dlls to pass back and forth values would be significantly more challenging for a beginner. Compiling the dlls is not the problem, but it's the fact that you need to prepare all the data that needs to be passed, send it to the dll, use it, then pass the values back and apply them to your game objects. It makes it a little less friendly when it comes to hack and slash style programming that pretty much all new programmers do. With Unity, you'll have access to all the game objects. Now, when you realize (later) "I need to access this", you can access it and make any manipulations directly. Yes, it's just a couple extra steps, but there are a lot of people who are using Unity to learn programming for the first time. And that is assuming that when you are writing your DLLs, you still have access to the engine API for things like 3D maths, etc. Otherwise all bets are off. New users are going to really struggle with trying figure out where to find and how to incorporate 3rd party libraries to be able to use those features.
     
  20. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    @kevinr

    I think you misunderstand where I am coming from. CocoKool also touched on this. I am not trying to compare engines, rather drive home the point that each engine has its own purpose.

    Unity3D, without a doubt, is easier to get something working, even from a noob level. UDK requires extensive studying just to get to that level. However, once you get through that initial learning curve, I can assure you that it just comes down to preference after that. Unity, like you mentioned, has some features for general project organization that make it more streamlined for individual users. But not everyone is looking for streamlined. Some people are looking for feature set. What is good for me isn't necessarily good for you.
     
  21. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    Kevin, you don't need to extend game functionality with a DLL. You can do it now with DLLBind but it's only for certain advanced cases when you find speed or certain features like serialization can't be done (with ease) directly by using UnrealScript.

    You can extend GAME ENGINE functionality with DLLs and even in very special cases GAMEPLAY (game logic) with DLL bind. DLLBind is similar to the Unity C++ plugin concept.

    Not at all! DLL binding is a last resource kind of deal. I explain further down...

    Unless you are doing something that totally crushes the game performance, you don't have to (shouldn't) use a DLL (90%+ of the cases). But if you really find out that by going thru this list of optimizations http://wiki.beyondunreal.com/Legacy:Code_Optimization you still lack in performance then being able to do certain tasks in a DLL with native code the way to go. Lacking the ability to do native classes this is the second best thing. Native classes are the ideal, this is the next best thing.

    There is allot of information regarding unreal script design, performance and optimizations. http://wiki.beyondunreal.com/Legacy:UnrealScript_Language_Reference/Introduction

    You can do that in UScript also or use Kismet.

    The reason DLLBind was added to the UDK is very simple. In the UDK vs UE3 licensees you don't have the ability to write native classes (wich is by far the prefered method to extend the engine). You also don't have certain Uscript bindings of functions that are in the C++ UE SDK. For instance there is a C++ serialization and object reflection library but it's not available for UDK users, since there is no UScript binding.

    EPIC acknowledging the need (and complains/wishes coming from the user forum) that certain projects could use a way to extend the engine, provided the DLLBind facility. As stated in the documentation

    Basically lets say that you wanted to do a game like mass effect, or another genre that uses a highly customized version of the UE using the UDK. Without the ability to write native classes this would be very hard, if not "impossible". Now with DLLBind the task is hard but should be possible for those advanced cases to become a reality.


    EDIT (The UnrealScript Speed issue):
    Since i am very tired of reading the Script Speed issue, let me try to make certain things a bit more clear. Let's try not mystify Tim Sweeney's statement that is from 1998 (that's over 10 years old)

    This was in 1998 since then not only has UScript had improvements, and changes it now has a preprocessor, etc... etc... hardware is also faster and smarter. And let's not forget that there are NO benchmarks to compare the languages!!! If anyone would like to do a benchmark suite and come up with some real numbers we could put this issue to rest once and for all.

    Uscript has been used in over 100 AAA titles. I think there is no doubt that it is a capable language. Even though you may not like the fact that it is an interpreted language, just like Unity's Mono CLR C#, Boo, or JS dialects, it is all compiled down to bytecodes just like UScript. But it's Virtual Machine does not feature a JIT compiler, Unity's mono does! And the speed differences vs C++ code are much less noticeable, JITed code is even faster than C++ under certain scenarios. Should EPIC decide to invest R&D time in the development of a JIT compiler, or decided to use a JITed VM for UScript and the differences between Unity's mono JITed code and UScript JITed code would be close to NULL (depending on the VM picked).

    UScript is a DSL (Domain Specific Language, "includes native support for time, state, and network replication which greatly simplify game programming.") that has been tailored for use in gaming within the Unreal Engine domain. Some may find this interesting reading: http://inst.eecs.berkeley.edu/~cs164/sp08/lectures/lecture43.pdf

    Bottom line regarding UScript speed and the use of DLLBind is to be pragmatic. Interpreted code is slower than JITed code, the question is not if one is faster than the other. The question is: Is it fast enough for my project needs?! 98% of the time, the answer is Yes. (99% if you optimize your code).
     
  22. MadMax

    MadMax

    Joined:
    Aug 5, 2009
    Posts:
    203
  23. RuThaN

    RuThaN

    Joined:
    Nov 10, 2009
    Posts:
    32
    Sorry boys, Dragon Age review pause.

    @Tatoforever
    Ok, how middleware miss you in Unreal, or havent integration interface?
    ---
    Physic engin - most of games still use CPU havok, free for noncommertion use, for commercial last licence price around 100 thousands. Advantages of PhysX are price (PC free, cheaper than Havok for console) and console support. Consoles = money, money = quick research.

    David and Goliath - Price of Unity for Wii inst cheap 30 thousand and you must be member of Nintendo faddist club.

    PhysX implementation to your game - this is more work, because you need more levels of PhysX quality, basic CPU, and few levels of GPU physics, research is expesive, everyone waiting on foreign results with PhysX.
    We have 2 good games with PhysX, every team had coders in from Nvidia in team, program It means to be player.. or anything like than.
    Epic show few levels for UT3, but it wokrs, this is substantial, how is difficulty of implementation, realy dont know. Carmack spoke so PhysX is bad.

    @Cocokool-
    Great news, time to start realy study UDK, bid goodbye Unity. Its surprise for me, i didnt believe in such epics step.
    Speed problem fixed, own data problem fixed, save problem fixed.

    UDK - is also very good for your AAA games career, contrary Unity.
     
  24. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    You have multiple options go to the programming homepage http://udn.epicgames.com/Three/UDKProgrammingHome.html it has a breakdown of many common tasks, use the forums, read the Mastering UnrealScript books, generate API documentation with UnCodeX, etc...

    I am not in the habit to read API documentation. As a Java programmer for over 10 years, if i had to read the entire Java SDK API to program i would roll over to the next version before i finished. The UDK API has over 2000 entries. So it's a bit bigger than Unity's. Would I like a more complete UDK API reference, no doubt! Does it stop me from doing anything i want? No not really!

    Good documentation is an important criterion, the UDKs documentation is in a decent enough state (at least for me) but should get better and more complete with time. It is after all still in beta and little over two months old.
     
  25. MadMax

    MadMax

    Joined:
    Aug 5, 2009
    Posts:
    203
    So what you're saying if you don't real have any kind of design philosophy whatsoever and you just pull stuff out of your ass nice; typical scripter mentality.
     
  26. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    What i am saying is that i don't need to read the API documentation to use a programming language. I define a task or set of tasks that need to be accomplished if the functionality is available by doing some simple API calls i do that. If not i create my data structures and write the functionality using the language basic construction blocks. I don't really get how reading the API makes you a better programmer, it's like saying that reading the dictionary makes you a better writer.

    As for scripter mentality... i have a MSc in Computer Science and have used several programming languages, from strong typed languages, to dynamic languages and scripting languages. Heck I have even programmed a couple of languages using ANTLR, nothing fancy but enough to have fun.

    I would very much like to know your perspective on the topic... perhaps i am missing something?

    EDIT(Good API Design):
    From Joshua Bloch, Principal Software Engineer at Google http://lcsd05.cs.tamu.edu/slides/keynote.pdf

     
  27. Hboybowen

    Hboybowen

    Joined:
    Oct 17, 2009
    Posts:
    37
    lol its funny how this thread has 12 pages of ppl that argue about how UDK is crap or how unity is so much easier.Most of the ppl who say it is horrible hasnt even touched and are basing there thoughts on early or outdated notes.

    All i have to say is UDK is based off a AAA game engine that hundreds of commercial studios choice.Sure it has locks and things on certain areas but Epic Games has to have studios tell the difference between the free and the licensed.otherwise UE3 full licensing sales would lower.

    And second UDK is much easier to develop a high quality game that would sale via digital distribution due to the fact that UE3 is a great and known platform.

    Third UDK is still in beta lol. Im sure Unity wasnt flawless in beta. Most would say it still isnt.Im sure once the community grows and UDK based games become a hit the UDK program will expand and have more access and correction to documentation and other tools that are limited
     
  28. MadMax

    MadMax

    Joined:
    Aug 5, 2009
    Posts:
    203
    Wrong UDK have been out of year and years. It was for mods only in the past. Now that it has DLLBind it is a bit different

    Ya me to. I did lots of java in college back then I liked java. C# is a lot nicer then java at this point I would rather use c++ then java. .net is changing a lot of things for once the api is something you really use. I just like the .net way of doing things it is a different mindset its more object orientated. In .net you can rely on what is basically a massive well maintained library.

    That said it would take at least a few months to port over to Unreal. Moreover, it may only take a day or two to understand a language but to reach the same level of proficiency takes many months even if after a few weeks you have the basics well in hand. I also like c# in that I can easily change engines in the future.

    The UDK API is not even close to Unity right now.
    If you do not have source code you only have the API.
     
  29. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Well,
    For theses thinking they will make quick AAA games with UDK, go ahead. Cant wait to see some quick results. ;)
    Also, someone pointed out that Unity is just for small teams...
    Can you say that to EA? No sorry, to FUNCOM, their next MMO game is fully developed with Unity.
    Oh by the way, is not a small team, is a very ultra large one. We are talking about a next gen MMO the cost is bigger than a simple Unreal Tournament game.
    Small team? pfff...
    Cheers, ;)
     
  30. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Your wrong, UDK is something new and is in beta stage, second beta btw. It uses a binary version of UE3.5 + Unreal Tournament. Lets point it out, UDK is not UE3.5, you still need to hack Utournaments scripts right now, you cannot create something from scratch.
    Right now, the only way to do something with UDK is quite exactly the same way of modding UTournament.
     
  31. MadMax

    MadMax

    Joined:
    Aug 5, 2009
    Posts:
    203
    Maybe I am So what is the difference between UDK and the mod kit you could get with any version of Unreal? The only big one I can see is DLLBind so you can use c++. Going from 3.0 to 3.5 is not a big difference and would be available as soon as the next unreal came out anyway. I thought they even called it UDK.
     
  32. Hboybowen

    Hboybowen

    Joined:
    Oct 17, 2009
    Posts:
    37
    I dont see why your so hostile to something you never tried before. An btw you can remove all the UT3 code and start from scratch if you choice its just a personal choice for some. Its very easy to remove them and btw you dont hack UT3 scripts in UDK if you decide to use them because they are provided. But hey seems like you have your mind made up on udk.so if you gonna critique UDk at least fully test it otherwise ppl drop and stick to what you think it the best :D
     
  33. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    I like C# too. It's a nice language that has learned from the flaws of C++ and Java. That doesn't mean i would use it for every project or task. As long as it's OO i can use it with ease, because in college i didn't learn dialect i learn abstract concepts like inheritance, polymorphism, etc... so it really does not matter what language i use. Can i master a language in a few weeks, no! But i can use it and make progress, produce something useful and then revisit the code, refactor and move in a AGILE way. (actually in college i didn't even learn OOP, i was doing that for years in Borland Delphi, yeah delphi from the same guy that created C#, Anders Hejlsberg)

    To port what? Because you use C# you can change engines? Have no idea what you are talking about. Plus if you are so dependent on Unity's API I really don't see how you are going to change engines.

    Not even close in what? It's about 10x bigger, and exposes a lot of high level functionality. So unless you want to put something behind such vague statement, we really can't have a discussion. This must a Joke! "The only thing you have is the API?" What am i a monkey that can't put to int's together and make a datastructure, or create a couple of function?
     
  34. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    Unity's target audience is small teams and solo developers. It's licensing and feature set reflect that. As does the fact that you have a unique editor for all tasks.

    So Unity is being used in a MMO, so what? Panda3D is an open source engine that is used in Disney's MMOs, like Pirates of the Caribbean. Multiverse is a free MMO creation platform that uses Ogre3D for rendering, etc... i would like to read a post-mortem after the game is done regarding the use of unity for that MMO

    [Sarcasm]
    Hum lets count the number of AAA games made with UE3 witch serves as basis for the UDK and the number of AAA games made with Unity. Heck in unity pro you get advanced features like Shadows! Wow Amazing!
    [/Sarcasm]
     
  35. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Hostile? Something that i never tried before?
    Whats makes you think that i never tried UDK before?
    I have already tried not only UDK, but UT mods and GoW mods also.
     
  36. MadMax

    MadMax

    Joined:
    Aug 5, 2009
    Posts:
    203
    So you do not have a favor language honestly real get real. Every language has something different about the way it does things. Changing languages also makes you lose your edge with your current language. Maybe you have not uses enough languages to realize that the differences are annoying wastes of time. This myth that you can just take a language and overnight start using it in a working environment is bs.


    Yes because Unity's API is low enough level. What do I use mostly Vector3, Quaternions, screen size, raycast etc. 98% of my code would remain the same. I am guessing you do not program very OO. If I port to unreal I would also need to move to c++.

    It is a grabbled mess, designed to be used in conjunction with source.

    Unity's graphics blows. However, graphics is one of the easiest things to improve. Unity is still tied to OpenGL even if it has a DX renderer. I hope that the DX renderer in the future will be allowed to branch off.
     
  37. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Disney's MMOs, like Pirates of the Caribbean is not comparable to Funcom next gen MMO. Is like comparing an old PS2 quality game with a successful next gen MMO one ;)
    Games made with UE3 are fully source modified. They are not mods. Gams made with UE are quite different to games that ca be done with UDK.
    Lets just wait and see how many UT mods are made with UDK.
    Btw, theirs a bunch of very professional games, made with Unity.
    One last thing, both solutions right now, have its own strengths and weakness but even all that you cannot compare UDK to Unity, because the way you creates apps with are quite different so whats the point on all this?
     
  38. kevinr

    kevinr

    Joined:
    Jul 24, 2008
    Posts:
    263
    My day job requires to to write in 4 different languages. Once you get used to it, it's not that big of a deal. I don't really think anything of it at this point. I know what you're saying about the little nuances that will trip you up when you are switching between languages. But it goes away after a short period of time. If you use different editors for each language; I think it helps mentally separate them.

    As far as becoming proficient in a language. If you are a programmer by trade, and spend every day programming. It becomes fairly straightforward. Maybe not overnight, but for instance, when I was figuring out objective-c, I wrote and published my first iPhone app in the first week while learning. I mean, you're not going to be ultra proficient at first, but you know enough to be able to design your application and then know where to look to figure out what you need to do to make it work. I'm not trying to toot my own horn here, the app was rather simple. And the reason I'm mentioning it is because I'd say that's about normal. It depends on your learning style too. Some people like to learn the entire API before they start developing anything. If I'm learning the language from a book, I'll typically read the first few chapters. I read just enough to understand the syntax and the basics that I know I use every day in other languages. Then I just get to writing and learn the rest as needed by reference.
     
  39. CocoKool

    CocoKool

    Joined:
    Nov 22, 2009
    Posts:
    34
    you are right this is pointless! And it's been a huge waste of my time. Much success to all your Unity projects!
     
  40. MadMax

    MadMax

    Joined:
    Aug 5, 2009
    Posts:
    203
    I know the following languages well enough to use if I had to.

    C++, java, C#, ada, python, java script, Objective Caml, F#

    They all seem different to me especially the functional programming languages and even Python’s Call by Object is a bit different. I know programmers love to toy around with different languages. I think it really is a waste.

    Do not let the door hit you in the ass on the way out. Yes I out lasted the troll :!:
     
  41. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Tanks, same for all your UDK/Unity projects!
    Cheers,

    :eek:
     
  42. kevinr

    kevinr

    Joined:
    Jul 24, 2008
    Posts:
    263
    It's not about toying with the languages, it's about having different requirements. It's a much bigger waste to use the wrong tools for the job.

    For example, I work on a legacy database application that's written in combination of basic and a proprietary language. Built around the legacy application are a myriad of other extensions and projects. PHP is really productive for a lot of web tasks. Sometimes it's just not feasible, if you want something to be running real time and processing data around the clock, PHP doesn't quite work as well, since it's triggered and ends with a single request. Using java and an application server gives you much more stability and functionality for an enterprise application that is dealing with real time transactions. Also, depends on the business needs. Do you need support clustering? Java has some great APIs for clustering. For a thick client on a windows machine, I'd probably choose C#. But there are also other options out there, like appcelerator that lets you build to multiple platforms, which uses javascript. Or sometimes it might just be as simple as needing to write a few bash scripts automate some random process.

    When you are programming commercially, you need to be able to come up with the best solution in the cheapest way possible. Tools are constantly changing, so are the languages. New APIs crop up on the regular. So you really may need to be constantly learning. Chances are very slim that you can remain in the software engineering field and only use one language.
     
  43. MadMax

    MadMax

    Joined:
    Aug 5, 2009
    Posts:
    203
    Unless you use c++, it is not about learning new languages it is about not having to constantly switching languages and possibly create dumb bugs. Languages do not go obsolete that fast really these days and you only real have a few languages for core code. However, web development is a bit different I guess.

    The fact that you have so many languages is a sign that programming is still immature.
     
  44. RuThaN

    RuThaN

    Joined:
    Nov 10, 2009
    Posts:
    32
    Programming Language - im long-time only occasinally programmer, sometimes at my part time no-game work I need to write a few basic things in C, i programmed in everything from ASM through QBasic, Pascal, C, C++, Borland C++ Builder, Java, Visual Basic script, php. C# language and Visual Studio is platform which I've encountered with a large margin.

    UDK vs. UT mod kit - know here, realy someone UT mod kit, im not sure, but think so UT mod was, only old updated UT3 map editor, with some Skin and Texture tools and use can maybe write some scripts in.
    UDK is elsewhere, newest version, Content browser, full palete of tools, documentation.

    I have one question.
    Some of you wrote that in the UNITY prototypes faster than UDK, I wonder why, because do not see a real reason, once you learn the foundations UDK, I see nothing in it slower. Even in the UDK can be much faster model geometry directly in the editor and speed problems Unreal script, you may not be interested for prototyping and visual editor happy.

    My best advice is prototyping on paper, think before you program anything, it's worth it, scissors, jettons, playing a bunch of friends plan to Gamasutra about this topic, see a good article:
    http://www.gamasutra.com/features/20050913/sigman_01.shtml
     
  45. RuThaN

    RuThaN

    Joined:
    Nov 10, 2009
    Posts:
    32
    A couple of days here playing with the UDK, with 3DBuzz educational videos, really I was their instructor seated squeamish guy. Graduated and I clicked under tutorials Simple level, look here to work with the terrain, lights, and Kismet Martinnee - gaming event, in-engine video sequence, visual programming. DLL bind I tried, because I have, I believe will in the next version. UDK is, in my opinion, certainly better than Unity, is a powerful set of tools through which you can do great things.
    UDK obviously not ideal, already in this thread here talking about a fairly heavy-handed editor of Unity for 15 minutes after switching was doing something with the setting object properties, working with geometry, etc., in Unreal's not so easy. Draft work in some of these instruments is quite weird things are made unnecessarily complicated through 7-8 steps, in good designer could be in 3. However, this problem has, in places, Unity (special door is to be a horror). UDK these errors will, of course, steal money (time).

    One example in almost beloved editor games based on Quake engine Qool, I had set the door for a minute (including activating the key), Unity in the first door to adjust the 30 minutes (because I have to write some scripts) in this Unreal mam in about 15 minutes, but thanks visual programming without any great effort and the possibility to get lost in the code, and lose more time.

    The list of benefits UDK (yes i know yet of only part) and a lot of things I forgot, I have to UDK over 10 pages of notes, but the main advantages that I encountered are:
    - 20 hours of great video tutorials
    - trees immediatly collide
    - vehicle drive in your level in one minute, big database of complete entities (in Unity you create everything from scratch)
    - hint on almost every property in editor
    - play from here, 2 click and you are spawn on every place in your level
    - water with flop, vawes efects in 2 minutes
    - other level of visual quality, better lights, quick done postprocess efects
    - better Windows support, stability
    - Great performance optimilisation tools for mappers realy easy to understand

    Next disadvantages
    - lighting system has very slow building, if you want quick test of geometry changes directly in game, you have to wait 2 minutes for building. Yes you can still looking geometry in editor without building in a bit worst quality (lack of some lights types).
    - bad 3D model import support only for Max .ase and Collada and a bit problematical, Unities import was without problems. Ase import video 12 minuts for strong nerves..
    http://www.moddb.com/company/little-black-planet/videos
    - too much keys and mouse, combinations to do something i editor
     
  46. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    Does anyone here even have experience with both UDK and Unity. Especially the scripting and API.

    I would like to know how they compare in terms of how similar they are in getting the same things done. Like for instance, in Flash, to move a bullet in a top down shooter, I would need to work with trigonometry Cos and Sin to work out the angle the bullet needs to travel on. Unity provides a function that does the same thing easily in one line of code. Would working with UDK provide the same sort of workflow? Do the API's do anything similar at all?

    More importantly, whether I choose Unity or UDK, they will be my first 3D game engine. Would Unity and the API provide a great stepping stone so I can eventually move to UDK with more ease?
     
  47. RuThaN

    RuThaN

    Joined:
    Nov 10, 2009
    Posts:
    32
    Few guys here spokes so worked with full Unreal licence.
     
  48. ryanzec

    ryanzec

    Joined:
    Jun 10, 2008
    Posts:
    696
    The whole is Unity easier then UDK is really a pointless question as everyone is going to have a different answer and that answer really only pertains to them. The only way to know if something is easier for you is to try it out. Work with both and see which workflow you like the best. There is no one single way that is going to provide the fastest workflow for everyone is the world as everyone works in different ways.

    As far as Unity being better than UDK or UDK being better than Unity, well it depends on what you are looking for. Want to deploy to Win/Mac/Web? Then Unity wins. Want to have the best graphics possible? Then UDK wins. If you already know C# then scripting in Unity is going to come easier. If you already have experience is creating mod for Unreal game then scripting in UDK is going to come easier. Plan on releasing the game for free then UDK is cheaper. Plan on making more then 5K, then Unity is cheaper. Unity has a built-in profiler, something that I don't think UDK has. UDK has a built-in visual programming tool, something the I don't think Unity has yet.

    This list could go on and on and on and on and (I think you get the point). Use whatever you think you have the best chance of finishing a project with.
     
  49. RuThaN

    RuThaN

    Joined:
    Nov 10, 2009
    Posts:
    32
    @ryanzec

    You repeated the things that were said here and there things are clear.

    We talk about the game, which develops as a Windows application and not a little play on words because that is not worth investing the time to learn proper tools. Support for the worst handhald (iPhone, without buttons), Web, or computers for the rich Americans (Mac), may be a small bonus. Support for major consoles is really a great advantage, but it is a Unity point you have a lot of money to the owners of the platform you entertained even for the Unreal is not a problem to buy the license if the money is.
    I think that this premise that from the foregoing it is clear we compare and it does not matter whether we do Rayman (3D Platformer) or MMO for all types of games always verify most properties development platform.
     
  50. eblade

    eblade

    Joined:
    Oct 29, 2009
    Posts:
    7
    I've spent weeks studying Unity, and haven't been able to put the first thing together in it, aside from modding things other people have already done. Unity is nearly as impossible to use as if you picked up 3DSmax, and had absolutely no manual, no training, and no experience in any modelling topic. And it's documentation is absolutely 100% useless.