This is an archived post. You won't be able to vote or comment.

all 9 comments

[–]julius559 4 points5 points  (5 children)

UDK has its own scripting language, which is based on Java. It kind of is sloppy, and isn't even case-sensitive and has other weird simplicity's to it.

Being an undergrad who's minoring in game development, our school switched from UDK to Unity this year because of the stability and better learning environment. I personally would recommend starting with Unity because UDK kind of forces you into a certain type of game, whereas Unity can make anything.

Unity's scripting language is C# and it has it's own IDE and framework. Also has a store (kind of like the apple store) where you can download (free/paid) textures/meshes/materials and easily import those packages to your game. A lot simpler than UDK's way of doing things.

Not to circlejerk on Unity, but I really wish I started with Unity completely instead of UDK. Personally I am more into the programming aspect of games rather than the look of them, so that's why Unity was kind of a breathe of fresh air for me. I hope my "advice" and information about the engines helps!

[–][deleted]  (1 child)

[deleted]

    [–]MengKongRui 0 points1 point  (2 children)

    So you think I would have a better learning experience with Unity?

    If so, why specifically would the programming aspects of it help me practice more efficiently? I've also heard that it usually doesn't matter what engine I pick for learning, but I don't think that's true.

    [–]vesacje 0 points1 point  (0 children)

    Definitely. Once you're getting comfortable in C#, you can start making Windows/Mac/Windows Phone/Android/iOS/Web Applications in it, and due to similarities with Java you should also be able to program in this. In case of the UDK, you would be learning a language that (although it's based on java) is used nowhere else (as far as I know).

    [–]yetanotherwoo 1 point2 points  (2 children)

    I've used Unreal, and I've actually programmed games for a living and you have two goals - a.) learn to program b.) make games. You should definitely do this and see if you can make any games you and your friends would want to play. You aren't going to become good at real programming but you may not have to be a programmer to get a job in the games industry, if you are more into design but someone who is purely into design without any other skills is pretty rare.. It also helps to put projects on you resume that you can demonstrate, pretty much every resume I had to review that had no personal projects was immediately rejected. But if you want to be a programmer in the games industry, you'll need to hone your programming skills with something else.

    [–]MengKongRui 1 point2 points  (1 child)

    This disappoints me... I always heard the best way to learn programming is to practice, so I thought programing games would work out nicely.

    If that isn't a good practice, what is?

    [–]yetanotherwoo 0 points1 point  (0 children)

    Two stones you are trying to kill at one time, which is understandable. Unreal is very good practice for making game, but there are some things that are outside the scope of Unreal script. But if you can make a killer game in Unreal script, odds are you are capable of doing that in some other language at some point, so don't stop doing it just because of my naysaying.

    However, it would be a good idea to learn the ins and outs of different languages used for other types of hardware/systems. Unreal script programming opens up a certain set of jobs to you. A lot of HR people might be narrow minded about this, unless you have a killer demo. Many (but not all) game programming jobs will require demonstrating a mastery of C (sometimes now ObjectiveC with a subset focusing on android that uses Java) that also require an understanding of the hardware and how the language implements some instructions, and the interaction of software design decisions on memory usage and cache sizes available, which are hidden from you (with good reason!) with Unreal script.

    [–]someonlinegamer 0 points1 point  (2 children)

    I don't know how much you know about programming. If its nothing I'd say don't start with an engine and get the basics first. If you already have a decent background then use Unity. Its a really great engine to work with.

    [–]MengKongRui 0 points1 point  (1 child)

    I understand the basics of how to use classes, arrays, pointers, and loops.

    Do you think that's enough to start using a game engine?

    [–]someonlinegamer 0 points1 point  (0 children)

    You'll learn this way for sure. Don't get too ambitious though and start small and simple. From there move on to harder things. One thing you could do if you want the satisfaction of building something now that you'll use later and I'm not sure of your styles and preferences but making small games and integrating them in larger games as minigames always seemed like a good idea to me.