Sign in to follow this  
bprogrammer

To use or not to use a 3D game engine

Recommended Posts

Hi, I've quite recently started 3D game programming. So far, I've read 3D Math Primer for Graphics and Game Development and working my way through Introduction to 3D Game Programming with DirectX 9.0. I already know some OpenGL, but here's my question anyways. I'm very unsure whether I should consider using a 3D game engine created by someone else. I hear many people doing this and I understand it is very helpful for a more easy and quicker game development solution. However, the reason why I do not want to use one is because I want to know everything happening in my game. If I'm going to use an engine, it's going to be the one I program myself. I feel this is a lot more beneficial to my knowledge and learning and it seems like a lot of the great games out there use their own engines. I know this is sort of re-creating the wheel, but my main goal is to *learn* how to program games. So in my opinion, I think I should just stick with learning DirectX or OpenGL and create my own engines for my games if my main goal is to learn. Besides, if I create a game engine, I could use this in every single game I do create, so it's a one time thing (except for making modifications of course). What's your opinion on this and anybody have suggestions for me? Thanks.

Share this post


Link to post
Share on other sites
If you "want to know everything happening in my game", then you should avoid Direct3D, as it is a software abstraction for low-level 3D video card system calls.

If you don't think that's valid, then you've already resigned yourself to not knowing "everything happening" in your game. If you've resigned yourself to that, then why not make your life easier and go with another layer. Given that you're just starting out with Direct3D programming, it's a foregone conclusion that pretty-much any engine you find will have been written by people with more knowledge of 3D than you, so you're hardly in a place where using an engine will make you less productive.

As for writing an engine yourself, don't bother. You don't know enough to do it, and engine reusability is a myth if you plan to write the engine and the games that use it.

More arguments here.

Share this post


Link to post
Share on other sites
Okay, thanks everyone for your input. Since my goal is to learn, I think I'll stick with just creating simple games or demos that use certain features without an engine. Once I understand how it all works and I want to get serious about it, I'll probably switch to another 3D game engine and use that. Later if I have the necessary skills and understanding, I might try creating an engine on my own, but I realize that won't be anytime soon. :)

Share this post


Link to post
Share on other sites
I disagree. If your intent is to learn, not ship a game, then it is fine to write your own engine. I am learning all kinds of stuff in the process that I wouldn't have learned otherwise. After you have written your engine, and maybe even a game on top of it, throw it away. It's most likely not going to be very good anyway, but that's not the point.

The point is that the whole process was extremely valuable in increasing your knowledge and understanding of how a game engine works. It's not time wasted, even in the worst case scenario of not making a game and having to scrap the whole engine to start again. You have learned how to make the engine work, then why what you did is ineffecient, and how to do it better.

You definitely wont be creating games any where near as quickly, however, in the end you will be a much better game programmer.

So, if you're impatient, use someone elses engine.

Share this post


Link to post
Share on other sites
Quote:
Original post by bprogrammer
Okay, thanks everyone for your input. Since my goal is to learn, I think I'll stick with just creating simple games or demos that use certain features without an engine. Once I understand how it all works and I want to get serious about it, I'll probably switch to another 3D game engine and use that. Later if I have the necessary skills and understanding, I might try creating an engine on my own, but I realize that won't be anytime soon. :)


Cool, good luck. I think that's the right way to go.

roos

Share this post


Link to post
Share on other sites
Quote:
Original post by bprogrammer
Okay, thanks everyone for your input. Since my goal is to learn, I think I'll stick with just creating simple games or demos that use certain features without an engine. Once I understand how it all works and I want to get serious about it, I'll probably switch to another 3D game engine and use that. Later if I have the necessary skills and understanding, I might try creating an engine on my own, but I realize that won't be anytime soon. :)


I love you! You are the most intelligent beginner I have seen in a while. Rate++. Don't disappoint me now by starting a MMORPG.

Share this post


Link to post
Share on other sites
Good move indeed :)

If i were you, i'd start out with 2D instead. Most of what you learn can be used in 3d games too, and you'll save yourself from a lot of confusion. 3d content is generally more time consuming to make than 2D content. Try to make small, simple games or demos that you mostly already know how to get working. Yes, you CAN figure things out as you work on the project, but if you have to learn too many new things it's easy to lose track of what you're trying to do. I've had to give up on many projects because i planned a lot of things i didn't know how to code. So before you start something, make sure you know what you're doing, or unexpected problems will show up somewhere in the process. Something like pong is good for a first try. You'll get the basics of controls, collisions, keeping track of scores etc. Then take it up a step and make something slightly more complicated.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this