Best Game Engine for Beginners

Started by
9 comments, last by TopazGames 12 years, 3 months ago
I'm an aspiring game designer with lots of ideas and no real experience. In the past I've dabbled with Gamemaker, RPG Maker, and other such engines, but in the long run I'm looking for more freedom and to learn real world game-making skills.
First of all, what program language is most commonly compatible with popular engines like Unreal Engine and others? I've only learned HTML so far and I'm looking to learn a more useful one, since it seems like a starting game-designer has to program a lot of stuff by themselves. C++ ?
Now to the game engines:
There is a free version of the Unreal Engine out. Have you guys tried it? Does the Unreal Engine work well for games that aren't shooters? What 3D engine would be good for a 3D side-scroller or game with an isometric view?
Would modding be an easier place to start? Is experience with, say, Gary's Mod useful?
Or should I make a few 2D games first? I've messed around with Game Maker tutorials and such, is it a realistic task to make a full-scale game from scratch with programming, or is Game Maker a good place to start?
It should be said that I'm more interested in game design than learning complicated programming stuff, but programming seems to be involved in all entry-level positions in the video game industry, so I'm assuming that it's something I need to learn.
Advertisement
Quote:Original post by generic_username
First of all, what program language is most commonly compatible with popular engines like Unreal Engine and others?


Unreal has its own script language (kismet). Lua is a popular script language in other engines, and sometimes as a designer you'll need to involve a programmer, which typically means C++

Quote:Original post by generic_username
I've only learned HTML so far


HTML is just a way to mark up documents to make them pretty, it has nothing to do with programming


Quote:Original post by generic_username
Does the Unreal Engine work well for games that aren't shooters? What 3D engine would be good for a 3D side-scroller or game with an isometric view?


first-person vs side-scroller vs isometric are just different camera behaviors - unreal can do all of them, you have to define what happens to the camera when you press left/right/up/down etc. For example - pressing 'up' in a first person game probably moves the character forward, whereas in an isometric game you'd want 'up' to just scroll the camera along the map - the engine has nothing to do with this, it just exposes a generic way to script camera/player behavior to do whatever you want


Quote:Original post by generic_username
It should be said that I'm more interested in game design than learning complicated programming stuff, but programming seems to be involved in all entry-level positions in the video game industry, so I'm assuming that it's something I need to learn.


There's a number of different types of designers in the industry. It wouldn't hurt to have some programming skill. Technical designers / scripters need programming skills by definition. That said, if you mess with the visual kismet editor in unreal, it might not feel like programming
Xna is a good start game development engine. You get the + of using a very easy language C# and the plus of putting your game on the Xbox, Windows Phone and PC.

- XNA (C#) -

Pros:
* Easy to learn
* Well maintained language
* High Cross Platform.
* Uses a c++ style of programming( - memory management)
* Teaches good programming fundamentals.
* You cant brake any hardware using it

Cons:
* Lack of memory management
* If your new you will get lazy with programing fast
* Since its a higher level language, you are crippled if you want to do any heavy math, algorithmic or lower level control.
* Expensive since your dealing with Microsoft, but not unfordable.

On the side note, I started learning AS3 and C++ for my frist real languages in school. In the 4th week, I was finding my self redoing my games to make them more efficient because AS3 could not handle allot of the complex stuff I needed done. This plays true also with C# as well. On the C++ side, the only limit is your hardware! yea its a bit harder, and yea you got to be smarter. But when the day is done, you have endless power! (I am now currently know over 12 lang/scrips and top in my class, but you can do any thing in this world my friend, it's all up to you and how much effort you put into things. I put 110% effort for every thing I do.)

But to sum it up, the lazier you are (picking the easiest language, with the less work), the shittier your game is going to be and the shittier of a programmer your going to be.

Games are the most time consuming things to program.
So go Big or go Home (with all the VB scripters out there) ;D
Unreal / XNA are both heavy on the programming - you said in your OT that you are a designer so I wouldn't recommend these unless you had a programming team. There are 2 engines that you should look at, depending on your skill set:

Unity (http://unity3d.com) - if you don't mind doing a little bit of coding this is a very powerful tool for free (as in beer). Scripting is in C# or &#106avascript. There are plenty of resources and videos out there to help non-programmers get things working and an active forum.<br><br>Construct (http://www.scirra.com/) - at the last game jam I participated in a team of just designers and artists made an awesome game with this. Good for gameplay experimentation, although it is probably more along the lines of Gamemaker which you said you wanted to expand upon.<br><br>In terms of what is required for industry, I am much more likely to want a designer with a whole bunch of working game demos that demonstrate your gameplay ideas than a designer who can code a heavy weight language but has nothing to show for it because they spent all their time trying to get X related programming topic to work.<br><br>Nothing beats shipping a game in any form for experience - so with that in mind, pick the tool that is best suited to your abilities and grow from there.
Quote:Original post by phara0h

Cons:
* Lack of memory management
* If your new you will get lazy with programing fast
* Since its a higher level language, you are crippled if you want to do any heavy math, algorithmic or lower level control.
* Expensive since your dealing with Microsoft, but not unfordable.



Where does this come from?

Garbage collection, does not mean lack of memory management, it means you control it differently.

A lazy programmer is a lazy programmer no matter what language they use. Getting things done quicker does not mean you are lazy, just means that you using the tool available.

Crippled? Not even close. You can use low level control if you wish. Heavy math and algorithms work just fine with C# as long as you understand how the language does stuff, and avoid the bottlenecks.

Expensive? When did free become expensive?

theTroll

I modded a game called Warcraft3 for years - when sc2 was released into it's beta it came with the editor (same developer). It was supposed to be the holy grail of modding, and I came away dissapointed after playing with the editor.

I played with the UDK but gave up after 2 weeks. It's very pretty, but setting it up was more of a pain than I was willing to deal with.
I than ran into Unity3D, which is what I'm still using and incredibly content with. It isn't as pretty, but for the game I'm making (procedural terrain, forests, towns, building zombie survival based in the 1800s) I can't think of a single thing yet I can't do.
With unity I don't have to worry about the innards of the engine. If I want a animation to play, I use a code of line. If I want to play a sound, I use a code of line. Basically I can concentrate on gameplay and not how it renders a polygon.

Easy to learn, great community. The differences between the free and pro version are mostly graphical as well. It's many steps above game modding, but a few below actual programming.

edit; And unity can do isometric very easily. The camera has options for it, no digging required.
Thanks for the help guys. I've downloaded Unity and I've already got a fairly simple game idea to start out with. But I need to learn a programming language for this, and I don't know which to start out with: &#106avascript, C++ or Boo. Which one do you recommend or prefer? I'll say again that I do not know any programming languages up to this point.
Quote:Original post by generic_username
Thanks for the help guys. I've downloaded Unity and I've already got a fairly simple game idea to start out with. But I need to learn a programming language for this, and I don't know which to start out with: &#106avascript, C++ or Boo. Which one do you recommend or prefer? I'll say again that I do not know any programming languages up to this point.
It would actually be C# in this context, not C++. Also, although it's often referred to as &#106avascript, the &#106avascript-like scripting language that Unity supports is actually a language that's specific to the Unity environment more properly known as UnityScript. So, the three languages to choose from are UnityScript, C#, and Boo.<br><br>For whatever reason, hardly anyone uses Boo in Unity, so a disadvantage of using Boo would be lack of examples and references. (Of course it's kind of a vicious circle in that people don't use Boo because of the lack of examples, and there aren't many examples because not many people use Boo. However, that's also because initially Unity pushed their &#106avascript variant at the expense of the other two languages. C# hung in there I think largely because it's widely used outside of Unity, but I think Boo probably suffered due to the lack of initial support. But, that's just a theory.)<br><br>As for UnityScript and C#, conventional wisdom is that UnityScript is a bit easier for beginners. Also, as mentioned previously there are more examples available for UnityScript than either of the other languages.<br><br>Personally, I use C# because it's applicable outside of Unity, and I see no reason to invest time and energy learning a language that's specific to the Unity environment if there are other, more general alternatives.<br><br>As for what you should start with though, it probably doesn't matter that much. If I were you, I'd just choose &#111;ne, or take a quick look at all three and see which you find most immediately intuitive and appealing.
love2d - http://love2d.org/ - uses lua, lots of examples. it's pretty simple to learn.

and for 3d, well, theres Unity.
Unity, hands down. Amazing piece of software. Not only is it beginner friendly, but it's a great professional engine as well..

Pharoah, your entire post is uninformed bullshit. not a single point you posted resembles the reality of XNA or C#. I wish these types of posts were deleted, instead of left there for the new guys to 'learn' from.

This topic is closed to new replies.

Advertisement