UDK or Unity? The best game engine for beginners?
#1 Members - Reputation: 144
Posted 14 June 2012 - 07:21 PM
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
#2 Members - Reputation: 555
Posted 14 June 2012 - 09:08 PM
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...
#3 Members - Reputation: 1020
Posted 14 June 2012 - 10:37 PM
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.
#4 Members - Reputation: 166
Posted 14 June 2012 - 10:56 PM
#5 Members - Reputation: 116
Posted 14 June 2012 - 11:32 PM
I've never used UDK, but from my experience with Unity, I suggest you use Unity.
#6 Members - Reputation: 394
Posted 15 June 2012 - 12:33 AM
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.
Java EE Developer
Projects:
none
#7 Staff - Reputation: 9020
Posted 15 June 2012 - 02:02 AM
Emphasis mine.I suppose you want to make games with programming ( the best way to make good games )
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.
From my blog: 20 ways to advertise your game | What next? Intermediate to advanced C++
How to make games WITHOUT programming | 4 reasons you aren't a successful indie developer
#9 Members - Reputation: 89
Posted 15 June 2012 - 05:48 AM
#11 Members - Reputation: 555
Posted 15 June 2012 - 12:14 PM
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.
Obviously the players don't care how games were made, but they care the quality of the game. With programming you can "configure" all of the characteristics of the game.
The programming provides the possibility to make it better than its already defined.
Just for curiosity, which games are made without programming and has AAA quality?
I was talking about "hardcore" games, not casual games...
Sorry for misunderstanding
#12 Members - Reputation: 1050
Posted 15 June 2012 - 03:03 PM
And Open source, however its basically rendering only. I wouldn't call that all features. Limited/no physics. No audio. Does have a large selection of file formats though. If you can provide your own physics (ODE and bullet wrappers available for tighter than normal integration) then its probably really good. Theres an external plugin Irrklang for 3d sound but I guess OpenAl would work fine seeming as IrrKlang is non-commercial use only.How about the Irrlictgame engine? I haven't tried it myself, but maybe it should be considered in the comparison.
It is completely free, for all features.
#13 Staff - Reputation: 9020
Posted 15 June 2012 - 07:13 PM
I'd guess there are none (other than perhaps the rather dated example of Myst, which was developed with the Hypercard authorware system), but we're not talking about AAA development here: the OP is a beginner and is getting into indie development. As such, the methods and requirements of AAA development don't really apply.Just for curiosity, which games are made without programming and has AAA quality?
Edited by jbadams, 15 June 2012 - 07:14 PM.
- Jason Astle-Adams.
From my blog: 20 ways to advertise your game | What next? Intermediate to advanced C++
How to make games WITHOUT programming | 4 reasons you aren't a successful indie developer
#14 Senior Moderators - Reputation: 3117
Posted 15 June 2012 - 07:22 PM
Don't apply AT ALL.the OP is a beginner and is getting into indie development. As such, the methods and requirements of AAA development don't really apply.
Seriously people, get out of the mindset that "just because AAA games do it, I must too." This applies to everything, including what engines you use, what languages you use, and whether or not to use regenerating health.
As far as Unity vs UDK goes...
I've always found UnrealEd to be fairly easy to get into, but the Unity editor is also quite trivial to get into as well. They both have some decent tutorials, however I believe the projects that come with unity are both more complete and generally easier to follow. MY recommendation then would be to use Unity.
Edited by Washu, 15 June 2012 - 07:24 PM.
In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.
ScapeCode - Blog | SlimDX
#15 Members - Reputation: 239
Posted 15 June 2012 - 07:41 PM
I think learning the fundamentals of OpenGL or Directx...which is what these engines run on...would be the best way to start. Then you'll be much better prepared to purchase an engine that fits your application.
#16 Members - Reputation: 144
Posted 15 June 2012 - 09:21 PM
I would presume which engine you choose would depend on what kind of game you are trying to make and what your actual requirments are. So what are they? What kind of tradeoffs are you prepared to make?
For the game I'm starting off small I wanted to create a catapult type game where the main objective is to destroy the other castle, but with customizable catapults, unlocks, hidden secrets, unexpected events and so on so forth (for example: you fire into a lake next to the castle and the loch ness monster comes out and destroys the castle, but now YOU have to destroy the monster, etc etc)
For trade offs I'm not sure exactly what you mean
And to everyone, thanks for all these comments and the ones to come! They are great to read and I'm learning quite a bit from them!
#17 Members - Reputation: 144
Posted 16 June 2012 - 06:00 AM
Edited by Chris941, 16 June 2012 - 03:03 PM.
#18 Members - Reputation: 739
Posted 16 June 2012 - 08:44 PM
So from what i read, Unity is the suggested engine and at least a little bit of coding would help?
Yes, in order to create a game you must be able to program and have a pretty good amount of skill in the language you are using.
#define TRUE FALSE //Happy debugging...
#19 Members - Reputation: 144
Posted 16 June 2012 - 09:00 PM
So from what i read, Unity is the suggested engine and at least a little bit of coding would help?
Yes, in order to create a game you must be able to program and have a pretty good amount of skill in the language you are using.
I have many questions on just how I would use it though, but there's another topic for that.
#20 Staff - Reputation: 9020
Posted 17 June 2012 - 12:40 AM
I would suggest you pick any one of the options you've been considering and just get started with it. Jump in to the provided tutorials and start learning how to actually make games, not just by asking questions and reading information, but by actually going through the process. Your experience with any one of these engines as well as with game-making in general will still apply if you later decide to try another option, but you're unlikely to get very far unless you actually start using one of them.
Personally, I would suggest you get started with Unity, because:
- You already have it downloaded and installed,
- It's very beginner friendly (perhaps more-so than the other options),
- It has LOTS of tutorials and sample projects available, as well as a very active community to help you get started.
I hope that's helpful, and good luck!
- Jason Astle-Adams.
From my blog: 20 ways to advertise your game | What next? Intermediate to advanced C++
How to make games WITHOUT programming | 4 reasons you aren't a successful indie developer






