What engine should I use as a beginner?

Started by
11 comments, last by mikeman 13 years, 4 months ago
Hi,
I am a beginner in game development but I know how to program in C++, I also know the standard template library quite well. I am also well versed with all object oriented principles. I know the basics of DirectX, however it takes an inordinate amount of time to do anything in DirectX and I want to make a really good looking game with good mechanics in around 1 and a 1/2 year to submit as my final year project.

So I am looking for an engine that uses C++ and DirectX. I have researched a bit and I have looked into many engines on devmaster. So far I have narrowed down my choices to Esenthel engine, Irrlicht, Source engine and UDK.

I was hoping that someone here can help me finalize the engine that I will be using to make my final year project.

P.S: I know that game development is extremely hard and I am planning to put in a lot of time into making this game. Also I am not a complete newbie as I have made complex games in flash using Action Script 3.0.

Advertisement
I think if you're new to game programming, you should consider staying with 2D graphics and gameplay for a while. Those games can be more fun anyway.

If you want to stick with C or C++, there's SDL, among others(and don't forget to take advantage of the standard library). Other than that, python is more beginner-friendly, has a lot of libraries that do the low-end hard work for you, and it has pygame.
I think 1 and 1/2 years is plenty of time to make a game from scratch with your level of knowledge. I've made pretty cool games with C++ and DirectX from scratch in 7 months.
Many people seem to like Ogre3D
For 2D, you can learn C# and go for XNA.

For 3D, you can go for Unity or UDK.
He wants to use and already knows C++, so why are people promoting learning whole new languages such as python and C# on top of learning to develop games?!?

(It's not like C++ is a bad choice. For starters most of the mainstream industry use it, so as a student that's the best thing to concentrate on and get good at imo. Your best language perhaps isn't the most important quality in a new hire, but it's a damn good start when that happens to mesh with what the company need.)

Back on topic, I think that Unity will have the lowest friction for this proposal. I've not used it that much personally as I maintain/roll my own engines, but what I saw was right on the money. OGRE might be a sane choice but last time I looked at that it seemed a bit messy tbh. You want something that's simple to learn so you can spend your time learning how to write the game itself.

However if you've not done any 3D before and this is not a main topic in your course, I agree with the sentiment that sticking to 2D will get you more and better finished results. (I can't make any recommendations there as I've never felt the need to go to a 3rd party solution for that)
------------------------------Great Little War Game
Quote:
He wants to use and already knows C++, so why are people promoting learning whole new languages such as python and C# on top of learning to develop games?!?


Hey, he did mention that he's comfortable with flash and AS too...it's not like he only knows C++.

And since he's going to start writing games, C++ will give him various compatibility/linker issues. Last time I checked, SDL didn't support all Win32 features, and the line between software/hardware rendering and how to enable each one was a bit unclear.

I believe python+pygame would be a good choise...it's not like python is that much different syntactically...it teaches good identation and he doesn't have to mess with more advanced features like reflection if he doesn't want to.

I think Unity/UDK and such are way more advanced that what he needs right now...UDK is basically the Unreal3 engine ffs.

But you know, if you disagree...you can rate me down...plz?? :P
I started learning 3D with C# and XNA neither of which I'd used before, within 9 months I had a pretty nice looking engine with terrain, physics, animation and some nice graphical effects. With twice that much time you could definitely get something pretty solid done. You sound like you have more experience with programming than I did at that time as well, I'd only done some Java and even then in quite small programs.

Definitely consider XNA as it takes care of a lot of the nitty gritty stuff and lets you get on with making nice graphics and gameplay. It's got some great features such as an inbuilt component system as well as a service system not to mention the content loading is all done for you. That's a good few months of work in C++ to get to that point already done for you.

If you plan on networking with C# than I would definitely recommend using the Lidgren library as well, I've been using it lately and it's absolutely fantastic. In terms of physics than there are quite a few options, I've used JigLibX and while it's not being supported much lately it works very well for the basic solid physics stuff, various primitive shapes available as well as inbuilt heightmap physics. Definitely worth a look at too.
Portfolio & Blog:http://scgamedev.tumblr.com/
Umm I guess I didn't explain properly, I already know how to program and make 2D games. I want to make a complete 3D game for my FYP with good graphics, sound and game mechanics. I have already tried UNITY but it's not really what I am looking for.

The reasons I want to code in C++:
1) I know it quite well, and I've even entered programming competitions like ICPC.
2) It is the industry standard for making AAA games.

P.S: I am NOT a beginner, I guess I posted in the wrong forum but I didn't know where to post this thread. And guys please don't mention engines that do not use C++ for writing the game code, It is not what I am looking for.

@Rubicon: You have got it right, I am not looking for beginner stuff, it's just that I don't want to make a game engine by myself since I don't think I have that much time and also I don't think I can make a really high quality engine by myself.

@UDK is not that advanced, I've already used it and made some prototypes. It's just that before I dive into any engine completely, I want to be sure that I am using the best one to suit my needs. Pygame is for people very new to programming, I've already used it to make games. I prefer AS 3.0 and flash to it.

Quote:Original post by falconandeagle
Umm I guess I didn't explain properly, I already know how to program and make 2D games. I want to make a complete 3D game for my FYP with good graphics, sound and game mechanics. I have already tried UNITY but it's not really what I am looking for.

The reasons I want to code in C++:
1) I know it quite well, and I've even entered programming competitions like ICPC.
2) It is the industry standard for making AAA games.

P.S: I am NOT a beginner, I guess I posted in the wrong forum but I didn't know where to post this thread. And guys please don't mention engines that do not use C++ for writing the game code, It is not what I am looking for.

@Rubicon: You have got it right, I am not looking for beginner stuff, it's just that I don't want to make a game engine by myself since I don't think I have that much time and also I don't think I can make a really high quality engine by myself.

@UDK is not that advanced, I've already used it and made some prototypes. It's just that before I dive into any engine completely, I want to be sure that I am using the best one to suit my needs. Pygame is for people very new to programming, I've already used it to make games. I prefer AS 3.0 and flash to it.


Hm, you know, in that case you seem to be more than capable to choose the tools you want to use yourself. All we can do in this thread is list some engines and their pros/cons, but you can do that research on your own way more efficiently. We can't possibly know "the best one for your needs", I think you understand that. So, there.

This topic is closed to new replies.

Advertisement