Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


UDK or Unity? The best game engine for beginners?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
61 replies to this topic

#1 Chris941   Members   -  Reputation: 144

Like
0Likes
Like

Posted 14 June 2012 - 07:21 PM

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

Sponsor:

#2 riverreal   Members   -  Reputation: 616

Like
3Likes
Like

Posted 14 June 2012 - 09:08 PM

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...

#3 jefferytitan   Crossbones+   -  Reputation: 2246

Like
2Likes
Like

Posted 14 June 2012 - 10:37 PM

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.

#4 nooblet   Members   -  Reputation: 167

Like
0Likes
Like

Posted 14 June 2012 - 10:56 PM

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.

#5 Mr Rage   Members   -  Reputation: 116

Like
0Likes
Like

Posted 14 June 2012 - 11:32 PM

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.

#6 Olaf Van Schlacht   Members   -  Reputation: 767

Like
1Likes
Like

Posted 15 June 2012 - 12:33 AM

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.

printf("Hello Signature");


#7 jbadams   Senior Staff   -  Reputation: 19409

Like
4Likes
Like

Posted 15 June 2012 - 02:02 AM

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.

#8 larspensjo   Members   -  Reputation: 1557

Like
0Likes
Like

Posted 15 June 2012 - 02:31 AM

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.
Current project: Ephenation.
Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/

#9 Fallenrat   Members   -  Reputation: 85

Like
-1Likes
Like

Posted 15 June 2012 - 05:48 AM

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.

#10 larspensjo   Members   -  Reputation: 1557

Like
4Likes
Like

Posted 15 June 2012 - 11:06 AM

...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!
Current project: Ephenation.
Sharing OpenGL experiences: http://ephenationopengl.blogspot.com/

#11 riverreal   Members   -  Reputation: 616

Like
2Likes
Like

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 6677   Members   -  Reputation: 1058

Like
1Likes
Like

Posted 15 June 2012 - 03:03 PM

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.

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.

#13 jbadams   Senior Staff   -  Reputation: 19409

Like
0Likes
Like

Posted 15 June 2012 - 07:13 PM

Just for curiosity, which games are made without programming and has AAA quality?

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. Posted Image

Edited by jbadams, 15 June 2012 - 07:14 PM.


#14 Washu   Senior Moderators   -  Reputation: 5525

Like
4Likes
Like

Posted 15 June 2012 - 07:22 PM

the OP is a beginner and is getting into indie development. As such, the methods and requirements of AAA development don't really apply.

Don't apply AT ALL.

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 timothyjlaird   Members   -  Reputation: 404

Like
0Likes
Like

Posted 15 June 2012 - 07:41 PM

I haven't used Unity or UDK (not quite satsified with my grasp of 3d graphics theory yet)...but 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?

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 Chris941   Members   -  Reputation: 144

Like
0Likes
Like

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 Chris941   Members   -  Reputation: 144

Like
0Likes
Like

Posted 16 June 2012 - 06:00 AM

So from what i read, Unity is the suggested engine and at least a little bit of coding would help? After watching a demo on Cryengine 3 , i decided to download that but alas, my laptop couldn't handle it...i was running at 2 (8 at the most for 2 sec.) fps!

Edited by Chris941, 16 June 2012 - 03:03 PM.


#18 DeafTV   Members   -  Reputation: 1239

Like
1Likes
Like

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.

Fly Safe 7o


#19 Chris941   Members   -  Reputation: 144

Like
0Likes
Like

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 jbadams   Senior Staff   -  Reputation: 19409

Like
3Likes
Like

Posted 17 June 2012 - 12:40 AM

@Chris: I think you might be suffering from a bit of "decision paralysis": you're finding lots of different options, finding lots of information about them and spending a lot of time trying to correctly choose between them. Really, all of the options you've encountered are good, and without any experience you're not yet well equipped to decide on any of them as "best" for your needs.

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! Posted Image




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS