UDK or Unity? The best game engine for beginners?

Started by
60 comments, last by Kavin Kumar 11 years, 1 month ago
Hi all!

I just started out in my indie game dev. Adventure and downloaded Unity, but the thought came in mind: which engine is better?

I read a comment that, and I quote "if you're new to the industry, the cryengine will bend you over and smack you till you cry" sounds hard!

But then I saw the Unreal Development Kit, and since Literal Epic Games have been created on it, and with some awesome lookin features, how does this compare to Unity?

I really want to test out the Unreal Development kit but I just downloaded Unity, so I want to know exactly which one will be better for me, as a complete beginner, and which one is easier!

Thank you so much,
Chris941
Advertisement
If you are a complete beginner:
I think you should make 2d games first, and understand the basics of game structures.
I suppose you want to make games with programming ( the best way to make good games ) you should use SDL, SFML, or Allegro( all with c++) or maybe XNA? (with c#).

If you already have experience:
Unity uses unityscript ( javescript like ), javascript, c#, and boo.
UDK uses unrealScript ( c++ like ).
Try to taste both engines. And make the decision according to your comfort (likes).


The important thing is: You can't fly yet. You must first learn to crawl, before walking, learn to walk before running, and learn to run before flying...
Unity is a fairly friendly engine to start with... if you know a bit of programming. Almost all are difficult if you don't have that experience. I believe there are a few 2D systems that are more drag-and-drop than coding, but note that your options are severely limited if you can't code.

Unity is somewhat drag and drop, e.g. you can import models and attach other people's scripts to them, but then you're dependent on someone else having written EXACTLY what you need.
I think you need to understand how game development works before you start using an engine to make a game. First and foremost, I'd recommend you start learning C#. Work on data types, if-else statements, game loops, collections, properties, classes, polymorphism, inheritance, encapsulation, arrays, the list goes on and on. Once you understand the basics of C# programming, then you should move onto programming with XNA. You can then write 2D or 3D games with XNA, understand how the design and coding process works when creating a graphical game. Once you have a solid foundation with XNA, you should start moving into Unity. Unity supports C# for writing scripts, and you'll understand the basics of 3D game development, so by then, Unity will be very easy to pick up and start developing your game.
You are capable of starting a (very small) 3D game on Unity. I made a game using Javascript, where you was a snake and you have to shoot fire at the turrets also dodge the turrets shooting fire at you. I made a 3D game before I made a 2D game using Game Maker(School Project).

I've never used UDK, but from my experience with Unity, I suggest you use Unity.
My Personal experience is still 50:50 for each engine.
I tried both Engines myself and I never worked with a complete engine before.

Unity:
+Beginner friendly
+Very Simple to use
+Good Tutorials out there
+Works on many Platforms
+Supports Javascript, C# and Boo scripting

-Free version has cutted features

UDK:
+Im in love with the Level Editor. Really Easy to use
+All Features for free
+Kismet Editor (Used for scripting)
+Works on PC and Mac, not sure about Linux
+Many Tutorials
+Sick Lightning

-Harder to get into it
-Not suitable for a solo Project

Unity was easy really easy to use and you can create Games with it more quickly. Problem for me is the Pricing Model. The free version feels like a demo.
UDK is awesome BUT not made for a single developer. I guess when your working with at least an 2D and 3D Artist you can get more out of it.

Follow my hobby projects:

Ognarion Commander (Java/LIBGDX): https://github.com/OlafVanSchlacht/ognarion-commander


I suppose you want to make games with programming ( the best way to make good games )
Emphasis mine.

I disagree with your assertion that programming is "the best way to make good games"; players generally don't care how games were made as long as the games are good. If your goal is simply to make a game (or games) and you can do a good job of that without doing lower level programming, then you should go ahead and do so.


Learning some programming basics outside of Unity is probably a good idea, but I would suggest the idea that a person must program a complete 2d game before trying to use an engine like Unity is probably taking things too far; Unity is designed to be beginner friendly, and there's no reason a person couldn't make their first game with Unity rather than spending time learning an unrelated library first.


For the original poster, I would probably suggest Unity as the more beginner-friendly option. To get the most out of it you may want to learn some programming basics (whether it be C# or JavaScript) outside of Unity before trying to do scripting -- just work through any beginner book or set of online "learn to program" tutorials to learn the basics of the language, and you'll find yourself much better equipped to deal with any scripting that needs to be done.

If you're really interested however, it won't cost you anything (other than a little time) to also download and try UDK so that you can choose the one you prefer rather than basing your decision on the opinions of others. You'll likely find UDK a little less beginner friendly, but it's obviously a very capable option, and as mentioned by Olaf above, for some people's needs to UDK licencing can be more favourable than UDK; it all depends on what you actually need.


I wouldn't bother going to extensive lengths to learn other libraries and build a game at a lower level before using one of these engines unless you really want that experience rather than just wanting to make games; players don't care how games were made, and you simply don't really need to do that in order to use a package like Unity effectively. If you do want that experience of working with a lower-level library before transitioning to one of these engines (and I can't stress enough that this should only be done if you want to -- don't feel it's something you must do) then I would probably recommend starting with C# and XNA.

- Jason Astle-Adams

How about the Irrlict game engine? I haven't tried it myself, but maybe it should be considered in the comparison.

It is completely free, for all features.
[size=2]Current project: Ephenation.
[size=2]Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/
I think Unity is best as there are massive amounts of tutorials ranging from Tornado Twins which is complete beginner no programming history, to Design 3 Scripting tutorials. UDK has little to no tutorials for beginners and it a dieing C++ language. C# and Java and UnityScript are way more user friendly, also drag-and-drop in Unity works very well and is easy to learn.

...and it a dieing C++ language.

I think you are trying to start a flame war If you claim that C++ is dying. It should certainly not be used for a decision what about game engine to use!
[size=2]Current project: Ephenation.
[size=2]Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/

This topic is closed to new replies.

Advertisement