2
\$\begingroup\$

I am just getting into game development and I would like to know which engine would be best to learn first.

In terms of my current skills, I know a good deal of javascript, but not much beyond that. This is all a learning experience for me (I am an extremely fast learner).

I am using HTML5 canvas right now as that's mostly what I was hinting at when i said javascript. I probably should have made it a bit more clear.

\$\endgroup\$
1

5 Answers 5

4
\$\begingroup\$

Definitely Unity. Its really kind to beginners, and has a really nice, "just-works" API. Also, It'll give you good experience in working with proprietary game engines, which will help if you ever think of getting into the game industry. It also supports more freedom in game design than UDK which (as much as they claim to the contrary,) is geared (no pun intended :P) completely towards FPS style games.

However like what Twitchy said, eventually you will want to use custom libraries like XNA, or MOGRE; it is the natural next step in game development (in my opinion).

Good luck, and have fun :)

\$\endgroup\$
2
  • \$\begingroup\$ I am torn between your advice, and Twitchy's. On one hand Unity would be easier because I know Javascript, but XNA would be better for its greater capabilities and the fact that I should really start learning C#. \$\endgroup\$
    – rshea0
    Jan 14, 2012 at 18:14
  • \$\begingroup\$ Im actually working with a few custom libraries like MOGRE, PhysX, etc, so i'm all for going straight to pure C#; but in the end it comes down to what you are keen on doing. If you want a high level, pretty API where you wont struggle to get it to work and can focus on your game, go with Unity. But if you are willing to spend some time learning how all your components fit together, working with c# and your own selected libraries (i.e. XNA) is very gratifying. In the end, theres nothing stopping you from trying both! :) \$\endgroup\$
    – Aralox
    Jan 15, 2012 at 8:37
3
\$\begingroup\$

Based on my experience.. Neither.

The reason for this, is that when learning game development I find it alot better to be looking at the back end of the code, and learn from the ground up.

I started back in the day with Game Maker, and while some people may disregard that, it allowed me to learn how programming languages work, and gave me a simple look at OOP.

About a year ago, I started to learn C#, and soon after started to mess around with XNA. The great thing about XNA is that is managed code, and takes out most of the really hard stuff, but at the same time, you can develop games really quickly without having to learn how engines like UDK and Unity work. From what I hear Unity and UDK are mostly 3D, and personally that is not a good place to start for a new game developer.

With XNA you have SpriteBatch and the Content Pipeline, which makes drawing sprites to the screen really simple. You have the Draw and Update method, which are handled by the backend of XNA to keep timing values, and the rest can be designed by you.

Once you understand how DirectX works on a very simple level, you could try looking at using Unity or UDK. But, by then, I think you would find it gives you much more control to use a framework, and much more enjoyable too.

\$\endgroup\$
2
  • \$\begingroup\$ Very insightful, how do you suggest I get started with XNA? IE: What resources I need, good books, and tutorials. \$\endgroup\$
    – rshea0
    Jan 14, 2012 at 18:06
  • \$\begingroup\$ I started by using XNA and I start with one of their 2D tutorials, and I have just expanded using some of the other tutorials out there for it. I am at the same state of being new and knowing other programming. I definitely like have the code there to see what was happening and really try out what everything is doing. I looked into Unity, but without seeing the code I was lost it seemed very cumbersome coming into it. \$\endgroup\$
    – kwelch
    Apr 18, 2012 at 13:09
0
\$\begingroup\$

Why don't you try HTML 5 canvas? It is much more like Javascript and will enable you to develop some cool 2D videogames playable in a web browser.

UDK and Unity are better if you don't want to write your own 3D graphical engine: I would suggest UDK to start because it is well documented and easier to start with. Visit this link: http://udn.epicgames.com/Three/DevelopmentKitProgramming.html.

\$\endgroup\$
1
  • \$\begingroup\$ I am using HTML5 canvas right now as that's mostly what I was hinting at when i said javascript. I probably should have made it a bit more clear. \$\endgroup\$
    – rshea0
    Jan 14, 2012 at 18:08
0
\$\begingroup\$

Since you already know javascript and you're at a beginner level, I'd certainly recommend Unity. In Unity you can write you're scripts in javascript and it is a bit easier than Unreal.

\$\endgroup\$
0
\$\begingroup\$

i would also recommend Unity but only for beginning. The good thing about Unity is that you get allot of free cool stuff you can build from their website, defenently check that out.

have fun!

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged .