Jump to content
  • Advertisement
Sign in to follow this  
skwee

Goal: Game. Tools: OpenGL/D3D or ready engine like Ogre/iirlicht. Where to go?

This topic is 3410 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hmm I like a lot of theoretical questions some why :Anyway assuming my goal is to make game, what is best to use a low level api like opengl/d3d or a ready high level engine like ogre/iirlicht? Now I know many people would say that with ogre Ill get up fast running some demo and its already implements all the stuff that I might need. However I probably won't learn about how stuff works, with low level its like: "lets see how I can make shadows? Ok there is way A but its too slow, so lets try way B" and with high level its like: "lets see how I can make shadows? Oh put 'true' here. fine". You got the point. Also some why I feel like I'm cheating using high level, I mean I might end up with a game but I wont be able to explain some algorithms of how stuff works. Anyway I want to hear your opinions on this issue. And if you are developing now I also would like to know what way you chose (if you use custom made engine, please include the underlying api you use [d3d or ogl]). Thanks.

Share this post


Link to post
Share on other sites
Advertisement
Whats more important, the journey or the destination? Ive just started making an engine with openGL, because I dont trust any code i didnt make, and it needed to be cross-platform

Share this post


Link to post
Share on other sites
Quote:
Original post by zacaj
Whats more important, the journey or the destination? Ive just started making an engine with openGL, because I dont trust any code i didnt make, and it needed to be cross-platform


First of all thanks a lot for you comment. If I could decide between the journey and the destination, I could answer the topic questions my self :)
I do want to make the game, but I also want to know how I'm making it, I mean what happens when I set "true" value for shadows of some model, the algorithms used, I want to be able later to reach the point where I can take someone who have no knowledge in my game and explain him every line and how it is happen and not just saying "here you turn shadows on, here you draw the level...".
So it seems like I'm going more to the side of the journey but then it can take ages to make game. I don't know, need to think a bit more.

Share this post


Link to post
Share on other sites
Quote:
Original post by s.kwee
Hmm I like a lot of theoretical questions some why :Anyway assuming my goal is to make game, what is best to use a low level api like opengl/d3d or a ready high level engine like ogre/iirlicht?

What is best for building a house: raw bricks or prefab walls?

It depends. If you want a highly customized house, then prefab walls will be too restrictive. For the average house however, prefabs are just fine - and they make the construction process a lot faster and cheaper.

Now, if you're just getting started, don't go all customizing and high-demanding. Start simple, start small. Just use a high-level engine to save yourself the hassle of building all that stuff yourself, and focus on actually creating a game. Low-level stuff is interesting, but also tends to be distracting.

Quote:
Now I know many people would say that with ogre Ill get up fast running some demo and its already implements all the stuff that I might need. However I probably won't learn about how stuff works, with low level its like: "lets see how I can make shadows? Ok there is way A but its too slow, so lets try way B" and with high level its like: "lets see how I can make shadows? Oh put 'true' here. fine". You got the point.

If you use an engine, you may not learn the low-level details, but you'll learn other things. Such as how to develop a game, or how to finish a project. Getting the big picture is important. Of course, it's useful to know some low-level details, but nowadays they are so numerous that you shouldn't try to understand everything. You can't. And you don't need to. Besides, you can always pick them up later on - with the added advantage that you already know where they fit in.

Quote:
Also some why I feel like I'm cheating using high level, I mean I might end up with a game but I wont be able to explain some algorithms of how stuff works.

Don't worry, you're not cheating. You're simply working on a higher level. Which can actually be a relief. :) I've built levels for 9 years. Don't ask me how they are compiled - I have a vague idea, but I can't tell you the details. But so what! I created levels, and that was enough for me! Now, several years later, I've become a programmer and I'm more able to understand the technical details, but that big picture is still very helpful.

Quote:
Anyway I want to hear your opinions on this issue. And if you are developing now I also would like to know what way you chose (if you use custom made engine, please include the underlying api you use [d3d or ogl]).
Thanks.

At home, I mostly use Flash, with a custom 'framework' written in haXe and using a few tools written in Python. Actually, I created that framework on the fly, by reusing code from a few previous games/prototypes and tweaking it on the go. I'm also working with Ogre 3D and C++, though progress is a bit slow-going at the moment. I just don't have a lot of time for spare-time development anymore. :)


Quote:
Original post by zacaj
Whats more important, the journey or the destination? Ive just started making an engine with openGL, because I dont trust any code i didnt make, and it needed to be cross-platform

There is some code out there that should indeed not be trusted, but don't go paranoid. There surely is good quality code out there that is well-tested and frequently used. Why discard that? You can never beat that kind of quality on your own... some things just aren't worth re-inventing, such as wheels. They're already perfectly round.

Share this post


Link to post
Share on other sites
You could think of it another way. Say you want to do mechanical engineering, like... build your own car from A to Z.
Would you start by creating your own car engine, brakes and transmission from scratch or would you use existing parts and work more on the look and feel of your car, fine tuning the various parts to make it more performant and such? Not that this prevents you from digging a bit deeper with your next car...
On the other hand if you start with the engine, brakes and transmissions, by the time you're done everybody will use spaceships anyway...
Also while 3d or game engines can do a lot of things out of the box, they cannot do *everything*. You will always need to add or modify features, either in the code or through scripting.

Share this post


Link to post
Share on other sites
Thanks you a lot for your comments!

Captain P
I got your opinion, thanks a lot! I don't have something that I can argue with you since you stated your opinion very well, and Ill for sure take it in consideration.

Rewdew
Its not a good comparison. There is a lot of things that can change, lets say for example what will be easier: to understand how a ready engine works or to do your own? What if there are no brakes and transmission that fits my needs?

I just have that feeling if I go upper, and something brakes up, I wont be able to fix it cause I don't know how it works. I dunno it maybe sounds strange...

Share this post


Link to post
Share on other sites
Quote:
Its not a good comparison. There is a lot of things that can change, lets say for example what will be easier: to understand how a ready engine works or to do your own?

Well, try to remove your car's engine and put it back in, then try building your own car engine and putting it in there ;-)
You really wonder which one will be easier?
Also for many (or most) features you don't need to understand how the engine works. How does it load textures? How does it play a sound? How does it setup shaders, or load models? It doesn't matter, it just works. Same for lighting, shadows, etc. So yes, it's much simpler, that's the point actually...

Quote:
What if there are no brakes and transmission that fits my needs?
Do you really think of all the engines out there not a single one does what you need? Also as I said, you are free to modify a piece of it...

Quote:
I just have that feeling if I go upper, and something brakes up, I wont be able to fix it cause I don't know how it works. I dunno it maybe sounds strange...
First that's not your job to fix it, since it's not your engine. You file a bug report and it gets fixed. If it doesn't get fixed, maybe you didn't pick the right engine ;-)
Second, you can be paranoid all you want, but then why are you using an OS you haven't written, on hardware you haven't created? What do you do if your game crashes because of a bug in Windows?

Share this post


Link to post
Share on other sites
Rewdew
That make some sense..

Quote:
Second, you can be paranoid all you want, but then why are you using an OS you haven't written, on hardware you haven't created? What do you do if your game crashes because of a bug in Windows?

To be honest I tried to write my own OS, and to be honest its fun, but hard, very hard, there are a lot of places where you can fail. And about hardware, well there suppose to be some point where I need to stop, right? :) Going down and down we can discuss here stuff like, why I'm sitting on chair I didn't make, why I'm leaving in house that I didn't make and etc. And as I said there is a very strong point in you words. Thanks a lot for your comment.

Just if you can answer this question please: if you are developing/developed game what you used?

Share this post


Link to post
Share on other sites
Quote:
Just if you can answer this question please: if you are developing/developed game what you used?

If you mean which engine to use there are many different ones...
I suppose you don't feel like spending 100k+ on that, which still leaves plenty of free (Ogre or irrlicht) or inexpensive (Torque engines) ones.
Another option is to go with XNA. It's not a full featured engine, but it's not as low level as directly using Direct3D or OpenGL either: some kind of middle ground, which might be what you're looking for...
edit: and personally I'm waiting for the Torque 3D beta to start, one day maybe; I also mess around with my own engine which is currently using D3D11 and GL3, but it'd take me years to get to the same level of features or complete engines

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!