What 3D game engine should I use?

Started by
9 comments, last by Saruman 14 years, 1 month ago
Lets say that I wanted to create/mod a game, and I was new to game development. I've heard of Unity 3D, Source (which I would make a mod of HL2), and the Unreal engine. I don't really mind how bad the learning curve is, if there's a decent amount of tutorials for that game engine so I could learn. What game engine (it can be anything not just the three things I listed) would be good to use? I mostly care about the quality of the game engine, but if it's easy to use, that's a plus too. I already know that there is a 3D Game Engine Database on GameDev , and I'm sort of being lazy because I don't want to just look at everything on the list. For some reason, it takes a very long time for my computer to load those pages. I want to know what I should try from people's personal experience, and their own recommendations. I would also appreciate it if everyone here can stay on topic. I only want to know about all the game engines you've used and liked, or anything you think would be good for what I want. I don't want to discuss anything else.
A wise man speaks when he has something to say,a fool speaks when he has to say something.
Advertisement
Well others might disagree, but personally I like to draw a distinct difference between modding a game, and using an existing game engine to make a new game.

For example: Ogre 3D is a game engine which you can use for free to make games. However it requiers you to actually have programming skills and ground up game development knowledge to a degree. As where using the Source SDK to make mods for Half Life only requiers you to know the SDK, and can be done with virtually no programming skills. But you never actually get to touch the source engine, and thus are really just making Half Life 2 mods that are bound to the Source engine... and not mods of the Source engine itself, or even a new game per-say. Perhaps thats just my wierd view of it, but to me it makes sense. So with that said, my answer will likely make sense now.

And now to answer your question: Its kinda a tought question. You might not care about a learning curve, but what exactlly DO you know? You said your a begginer to game development... but do you have any programming skills at all? If not your talking one hell of a learning curve if you plan to take an off the shelf engine like Ogre 3D or Unity and make a game with them. Before you even think about using the engine, your in for months (perhaps even years) of learning to program before your at the point where you can understand how to use the engine.

Now if you have no programming skills what so ever, and don't feel like spending the time to learn a language... then modding is the way to go. It can be a ton of fun, and very rewarding. However a fair warning... modding is far more restrictive then actually learning to program games from the ground up. You are bound by the limits of the game you are using, and even most moddable games are restrictive in what you're allowed to change. So as a long time modder, let me finally answer your question and give you some feedback from games Ive worked with over the years in no particular order:

1. Elder Scrolls 4: Oblivion - The Elder Scrolls games are quite a lot of fun to mod. You can do everything you need to make your own re-writes of them, and if you want to make your own medieval stroy this is right up your ally. Being a popular game (and popular to mod) there are quite a few learning resources out there for the games editor... as well as a sizable modding community to help you along. With that said the game is in fact nearly 4 years old so the community is not as big as it was, and many people have moved on to Fallout 3.

2. Fallout 3 - Another Bethesda game that has good moddability. Its built with a slightly newer version of the Oblvion engine and the editor (call the G.E.C.K.) is nearly identicall to The Elder Scrolls construction set I believe (only made one small mod with it, but it seemed very much the same). If your looking for a more futuristic game to mod, but with the open-world play of Oblivion... this might do well.

3. Operation Flashpoint/ArmA/ArmA - Bohemia Interactive has done one thing right over the years... its games are some of the best moddable games there are. They are also by far the best military simulation games out there. Combining massive environments with fairly realistic gameplay they are a great modding platform. Operation Flashpoint came out in 2001 and has probably more mods then any other game Ive ever seen.... even Half Life. Its un-official sequal and spirtual susccessor was ArmA1 released in 2007 and then ArmA2 in 2009. They all use the same engine (updated of course). The reason for the name change (and the reason OFP2 has nothing to do with them) is BIS owned the game, while Codemaster owned the name and the companies split and Codemaster developed OFP2 in-house.

The community is large, there are ample learning resources, it has a good set of tools, its own scripting language, and its quite amazing to see some of the things people have done with BIS's games over the years. Back in the OFP days there were Jurrasic Park mods, Star Wars mods, STALKER mods, zombie mods, Fallout mods, and even farming simulators. Not to mention the countless military units and total conversions. And given time ArmA2 will be the same (there was 6 years between OFP and ArmA so there was a lot more time for mods). One fair warning is the engine is in fact 10 years old and showing its age, and ArmA2 still has its fair share of bugs... but its still a great modding platform if your looking for a wide open, large scale military style game to mod.

4. Source - Having been making Source mods for years, Id say you have the most freedom for modding games with Source. You still can't mess with the engine itself, but you can mess with enough to damn near make a complealy new game. You will also find that the Source SDK probably has the best learning resources available, and likely the largest community as well... tho Im not totally sure because I dont follow modding as much as I use to. One thing I like about Source is there are a handful of different games to pick when modding... tho Half Life 2 is likely where you will start. The one drawback to Source modding (at least in my opinion) is that Source games are very linier, as where the other games I have mentioned are all open-world games. That however, might be a plus for you depneding on what your looking for.

--------------------------------------------------

I'll stop there since my post is already long enough and probably filled with a ton of errors (sorry about that, its late). I hope that gives you a little feedback on some games to mod (there are more of course) and helps you on your path to modding, or game development if you chose.

As a side note: I loved modding. I started back in the old days with OFP... and still make maps for L4D2. But I have to say that learning to program and make games from scratch was the best decision Ive ever made. Its so much more rewarding IMO. If your willing to put in the time Id suggest at least researching a programming langauge, and a game programming path. Just know up front you won't be thinking about making full scale 3D games for quite some time. If your looking for something more "now"... get out there and start modding.



I'm going to reply to each of your paragraphs (not including the first one) by number. That way, it will be simpler for me to organize my reply.

1) I understand how mod's work, and in fact Half Life 2 was the game that I was planning to mod if I was going to mod anything with the Source Engine. I was thinking I might try to swap out some weapon models, and maybe fool around with the animations. If I were to use Valve's Source engine, it would be fairly simple since I have some experience with Hammer (Valve's map editor), and I have done a few small things with the Source SDK, and a mod of Half Life 2. I also already have Visual C++ Express Edition, since I know that a lot of these things will require C/C++. So what I'm saying is, I know how a mod works, and how it works, and I could probably find some tutorials to learn a few things. (Maybe I should've explained that I'm not entirely new to modding things, but I'm hardly experienced so I would consider myself a beginner. I would prefer to learn to use a game engine to make a comepletely new game, but it may be better for me to start off with a mod of some sort.

2) Yes I understand how long it takes to make a game (espeacially if it's just me and my brother... Did I mention I want to learn this while working on it with my brother? My twin brother?) but I want to learn eventually, no matter how long it's going to take me. I'm also about to start a game design class in a few weeks, but it seems like I won't be learning about anything improtant until I sign up for the second course of it which requires me to take the first course. I want to design games for my career, and I'm a teenager right now, and I think it's good to learn earlier rather than later. Here's what I already know: I play a game called Roblox which is kind of like building with virtual legos, except everything you build must be scripted with Lua code, and Lua is fairly simple to me. I haven't done much with C or C++, but I plan to learn that eventually. I also know a fair amount of html since I'm in a web design class, but obviously that doesn't have anything to do with making games. It's just an extra perk. I've also done a tiny bit with 3D modeling in Blender, since I want to know the basics of creating a game and not just only coding or only 3D modeling and animation. I understand that a team of game creators often divides the work into categories, but I have no idea what direction I want to head in.

3) Actually, that is one of the main reasons that I would prefer to learn to make a game from the ground up. I think I already know enough about the basics of game developement... (Or at least I think I do, confidence is always good right?) And since me and my brother want to work together to create games one day, we have already listed lots of ideas for games we want to eventually create. Since we are video game addicts, I think we have a good idea of what makes a good game, and what drags a game down into the fire.

4) I am a big Oblivion fan! I have lots of addons for it, and surprisingly, the thought of modding it has never crossed my mine. That would be cool and all, but there would be a small problem for me since me and my brother's computer has a bad graphics card, and we can't run Oblivion on it. It runs on our step-dad's computer, but our step-sister loves to play City of Heroes/Villians on it, so we wouldn't get very much time when she's off of it.

5) I love Fallout 3 too! I only rented it on Gamefly though for Xbox 360, so I wouldn't be able to mod it. When I first played it, I remember thinking this is certainly a lot like Oblivion ... and then I realized that it's from Bethesda, just like Oblivion. The sad thing about that though, is that I don't have it on my computer, so I wouldn't be able to mod it.

6) I have played Operation Flashpoint: Dragon Rising for Xbox 360, but I got bored fast... I'm not exactly sure why. Based on how you described it, it sounds like this would be great to mod, but like Fallout 3, I don't have any of the games you described on my computer, so I wouldn't be able to mod them.

7) This is why if I were to mod anything, I would choos the Source engine. I completely agree. One of my favorite mod's is called Suicide Survival. It's nothing like anything I've ever played, and the concept of the game is awesome! I won't go into details, but you can google it if you want to.

So overall, I want to learn how to make a game from Scratch. Like you said, I think I could have lots of fun modding, but it would be better to learn about making games. If you have any input on how I would go about making a game with an engine, please speak up. What I want to eventually do is to create a game with it's own engine like Halo 3 for example. You have been very helpful already, and I highly appreciate you using your time to post something so long to help me out.

I just finished editing my long post to the best of my ability, but there might have been a few mistakes I missed.
A wise man speaks when he has something to say,a fool speaks when he has to say something.
To stakex:
Ogre is NOT a game engine its is a graphics engine witch is totally different as it has no network, no physics, no sound and no game logic you can start from so you would have to integrate all this
A game engine has all this things integrated and ready to use so you just have to start building the game mechanics and assets

Whitellama:
First of first tell us what type of games you would want to make with it as some engines are better in some cases
Also you might want to do some testing with this engines and see what suits you

http://unity3d.com/ (I heard they have great asset management but no source)
http://www.panda3d.org/ (python scripting,has source,lots of docs it seems)
http://www.udk.com/index (unreal tech nuff said,might be limited)

http://www.syntensity.com:8888/tracker/overview/
This is the engine I'm currently using
It is generally intended for multiplayer with google v8 &#106avascript engine for game scripting as well as python(tho I don't know much about it) for plugins
It uses cube 2 base(sauerbraten) witch has in game editing
of maps( http://zh.xfire.com/video/c3dd1/ )
In the case of syntensity bullet physics engine is currently being integrated and we will eventually move to Ogre for rendering(then the cube2 one)

http://www.youtube.com/user/kripken
Quote:Original post by Whitellama1) I understand how mod's work, and in fact Half Life 2 was the game that I was planning to mod if I was going to mod anything with the Source Engine. I was thinking I might try to swap out some weapon models, and maybe fool around with the animations. If I were to use Valve's Source engine, it would be fairly simple since I have some experience with Hammer (Valve's map editor), and I have done a few small things with the Source SDK, and a mod of Half Life 2. I also already have Visual C++ Express Edition, since I know that a lot of these things will require C/C++. So what I'm saying is, I know how a mod works, and how it works, and I could probably find some tutorials to learn a few things. (Maybe I should've explained that I'm not entirely new to modding things, but I'm hardly experienced so I would consider myself a beginner. I would prefer to learn to use a game engine to make a comepletely new game, but it may be better for me to start off with a mod of some sort.


Well then if you do have experience with Source thats a great place to start out and get your feet wet a little bit. The one point Id like to make is that modding generally does not requier any C/C++ since your not messing with the games code at all. Some games do have their own scripting langauge (or use an existing ones such as Lua, which you mention later on) that you might want to learn, but they tend to be simpler then programming langauges.

Quote:I understand that a team of game creators often divides the work into categories, but I have no idea what direction I want to head in.
Well I would say its a good idea to dable in a little bit of everything when your getting started. Try 3D modeling, make some maps, and pick up a programming book and start learning a language to see which one you like the best... especially if you want to make a career out of it. And in the end theres absolutely nothing wrong with having more then one skill. If you chose programming or 3D in the end, having some skills in the other just makes you more valuable... and if your going to be working alone or with indy teams, its a real plus.


Quote:
6) I have played Operation Flashpoint: Dragon Rising for Xbox 360, but I got bored fast... I'm not exactly sure why. Based on how you described it, it sounds like this would be great to mod, but like Fallout 3, I don't have any of the games you described on my computer, so I wouldn't be able to mod them.


Well just to clear up on point, Operation Flashpoint: Dragon Rising was Codemasters mess....errrr game, and un-related to Bohemia Interactives original Operation Flashpoint and ArmA games that I mentioned. But if you don't have acess to any of them, then its a moot point anyway. Just figured as a hardcore OFP fan Id clear that one up :)


Quote:
So overall, I want to learn how to make a game from Scratch. Like you said, I think I could have lots of fun modding, but it would be better to learn about making games. If you have any input on how I would go about making a game with an engine, please speak up. What I want to eventually do is to create a game with it's own engine like Halo 3 for example.

Well I could write a dozen page post on how to go about getting to the point of making serious games... and that probably would just scratch the surface.

The short answer is chose a programming language, get a book or two (or online tutorials if you cant get any books), and start learning how to program with that language. You seem to be planning to use C++ but a fair warning: many people do caution against picking C++ as your first langauge. I started with it and Im doing fine so I personally have no real issue with it... but just letting you know that most people suggest something more along the lines of C# for a first language.

There are a ton of learning resources out there for either C++/C# or any of the other languages out there, as well as a ton of topics about how to get started. Id suggest checking out the begginer section of the website and do a little searching on google. If you go the way of C++ I suggest Beggining C++ Through Game Programming. It was a rather good book for a bigginer IMO.

As for how exactlly to use an engine to make a game... the truthful, and possibly depressing answer is just don't worry specificlly about that for now. You need to learn to program in your chosen language first, and thats by no means a small task. There are no shortcuts on the way either becuase if you want to be a game programming, you need to be a GOOD programmer. So for the time being, set your goals more along the lines of getting started learning programming (if thats what you decide you want to do) and just start slowly learning your way up from there. By the time your ready to start working with engines to make games... you likely won't have to ask HOW you go about doing that.

And if you can go to college for game development (or something like computer science if an actual games based course is not avaiable to you), thats probably the best way to not only learn the skills you will need, but also get into the industry since having a degree is become pretty much requeired. Of course if your taking that road, anything you learn beforehand will only make like easier for you so get started ASAP :).

Quote:You have been very helpful already, and I highly appreciate you using your time to post something so long to help me out.
Don't mention it, I don't have a life so its not a problem :). Sorry again if this post is filled with errors... its again late and Im to tiered to fix it.

Quote:Original post by stakex
As where using the Source SDK to make mods for Half Life only requiers you to know the SDK, and can be done with virtually no programming skills. But you never actually get to touch the source engine, and thus are really just making Half Life 2 mods that are bound to the Source engine... and not mods of the Source engine itself, or even a new game per-say. Perhaps thats just my wierd view of it, but to me it makes sense. So with that said, my answer will likely make sense now.


This is a fallacy. The Source engine comes with sourcecode to all things Source (except the games made on top of the engine), I think it even includes the source to the Hammer Editor.
You can most certainly make a fully fledged game on top of the Source engine, provided you own a Valve game (which is required to get the Source SDK).
I'm unsure about the license though...

Okay... I guess I'll start off with a source mod then since that sounds like what I should be doing. I also have a Python for Dummies book, so that might be good to read too. I'll just fiddle around and do the best I can with Source for a while I guess... When I start running into the limitations of modding in Source, I'll start with one of the game engines you guys mentioned.
A wise man speaks when he has something to say,a fool speaks when he has to say something.
I found myself in a fairly similar boat as the OP a few years ago, had done some minor stuff, wanted to do more, etc. What I found is that C# is a great language, and MS' XNA Studio is *excellent*. There's a good community, it has a lot of great libraries, and I would definitely suggest at least looking into it. C# is a clean, straightforward language, and doesn't have a lot of quirks that C++ has (though, I haven't worked with C++ much, and nothing serious).

The biggest thing I know is, if you want to make it work, you're going to have to work for it. That's not to sound threatening or intimidating or anything, it's just that programming isn't the easiest thing you've ever done. You have to learn, and you have to want to learn.
I myself LOVE Unity and just purchased it. (They are having a special right now that includes a free upgrade to Unity 3! I couldn't pass it up :D ) I'm currently using it to make an iPhone game with a friend.

You can do a lot without a ton of programming skill as far as level creation and such but to tie it all together you will need to do some scripting. There is excellent documentation to all of it and the scripting is really straight forward. If you have any programming experience (OOP especially) you will have no problem picking it up and finding everything you need in the documentation. There are also some really good Unity tutorials to work though on their site that let you get a good feel of how making a game with Unity is. They provide the assets so you can concentrate on the learning.

I actually have a blog where I work through several of the tutorials: http://www.scottsgameblog.com . Take a look there and it may give you an idea of how Unity operates without having to go through their entire tutorials.

Using something like Unity can be a fast way to creating a game but you will still have to learn the fundamentals of programming or the scripting is going to be a nightmare. My friend has no programming experience and I tried to show him the scripting and that didn't work so well. He is now on permanent asset duty while I take care of the scripting :P

Irrlicht is a nice graphics engine and I personally think it is pretty easy to get the basics of it down. It also has a very active community.

Remember to mark someones post as helpful if you found it so.

Journal:

http://www.gamedev.net/blog/908-xxchesters-blog/

Portfolio:

http://www.BrandonMcCulligh.ca

Company:

www.gwnp.ca

This topic is closed to new replies.

Advertisement