Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question

closed as not constructive by bummzack, Tetrad Jan 14 '12 at 10:54

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

possible duplicate of Unreal Engine 3 vs id Tech 3 vs Unity – bummzack Jan 14 '12 at 7:31
up vote 4 down vote accepted

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 :)

share|improve this answer
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#. – Pachow Studios Jan 14 '12 at 18:14
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! :) – Aralox Jan 15 '12 at 8:37

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.

share|improve this answer
Very insightful, how do you suggest I get started with XNA? IE: What resources I need, good books, and tutorials. – Pachow Studios Jan 14 '12 at 18:06
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. – kwelch Apr 18 '12 at 13:09

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:

share|improve this answer
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. – Pachow Studios Jan 14 '12 at 18:08

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.

share|improve this answer

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!

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.