Newbie rant out of frustration

Started by
8 comments, last by stodge 22 years, 9 months ago
Why is it so hard to find a usable, free 3D engine? I''m looking for something which is preferably a "C" API, and includes loading objects from the major 3d file formats, keyboard and mouse support, and easy high level access to cameras and objects. I''ve tried Panard Vision, but it really is just a renderer, and it''s such a pain to get anything else working - like loading 3ds files and even the print function that''s included doesn''t work! The documentation claims you can use other libraries to handle the creation and managemend of the window and input, but I can''t get it to work. I''ve tried Genesis3d, but the software renderer crashes. I use the software to debug in a windowed mode. I find the "actor" API a bit confusing, and the documentation is pretty poor. Also as I dont have 3d Studio, its a pain trying to get models into the application. I quickly took a look at Auran Jet, but that is much too complex for me. I''m an average C++ programmer, but Jet has much more complexity than I''m ready and willing to deal with. I''m looking at Fly3d at the moment, so no comments on this one yet. What else is there? I considered Power Render, but there isn''t a demo of the latest API. I want to make a small, simple space sim with mouse and keyboard control. I have some scripts written that load and position objects, and create, configure and position lights and cameras. Any suggestions (polite! ) would be greatly appreciated. I know the obvious answer to my rant is to just write my own engine, but I''m trying to avoid!
---------------------http://www.stodge.net
Advertisement
have you looked at crystal space engine?/
it is my opinion, and im sure many agree, that you should learn to do it yourself before you use an API to do it for you. That way you know what is really going on, and if need be can go around the API to do things JUST right.

(http://www.ironfroggy.com/)(http://www.ironfroggy.com/pinch)
Actualy the current theory of thought through out the computer science community as of late is that the old theory of "Learn from the bottom up" is not a good way to teach or learn programming. Top down is now the way most CS programs are being tought. And is one reason java is being used instead of ADA, Pascal, C, or cobol among others. It''s easier for people to get the general idea of what''s happening before diving too deep into it. Sure you should know the math and theories behind it, but you don''t actualy need to know how to program it all. Anyone with a good math background and a little 3d knowledge could easily develop a 3d game with the use of a high level API. There is no need for them to spend years developing their own 3d engine when there are way to many of them available already.

As for "pains" well. Most engines in general are pains. If you didn''t make it, there is always something to complain about. So don''t look for perfection in your engine, look for usability.
Joseph FernaldSoftware EngineerRed Storm Entertainment.------------------------The opinions expressed are that of the person postingand not that of Red Storm Entertainment.
Replying to the above posts.....

Hence the reason that a lot (not all) of computer science majors dont know jack crap about what they are doing. Learning things from the bottom up helps make the stuff at the top hard at first but if you follow proper steps to learn on how a computer works, it makes things a lot eaiser in the long run..... Using the top down method is not always the best
take this analogy ..... A carpenter doesnt learn how to build a house by taking a completed one and disassembling it one screw at a time. No first he learn about how to make a proper foundation, then structural framwork, then roof (overhead), then all the little extras (bells and whistles).... best advice learn from the bottom up in the long run you will knwo more... plus as technology is getting better the bottom isnt as far down as it used to be...... but also take in mind the more you know about anything the better you will do.

"There is humor in everything depending on which prespective you look from."
"There is humor in everything depending on which prespective you look from."
Well a carpenter rarely will build the whole house or attempt to by himself either He might become a really great cabinet maker but he won''t be building MY house.

A person who designs, or constructs a house will start with the big picture and develop the bottom layers from the top decreasing abstraction as he goes.

Sure the masonry man might learn more about building a house by being an apprentice and starting out carrying bricks, but going this route will take that masonry man 20 years to be able to grasp the concept of building a complete structure and why certain things are important. He may be the best brick-carrier in town, but carrying bricks is not going to help him understand physics or structural engineering in the slightest bit.

If he learns the theory behind why he needs to arrange his foundation in a certain way first, it may take him 2 or 3 years to grasp all of the concepts and then if he wants to go carrying bricks he will have a much better understanding of why he is carrying bricks and what the role are in the big picture. The end result being that he might be able to lead construction on a complete structure within 6 years instead of 20.

In the early days of computer science, a million dollars would buy you a computer the size of one of those houses, with 32k of RAM. You had to know just about how every transistor in the system worked and why to be able to create any kind of useful program with it. Indeed the people that programmed these machines would be able to code circles around your average programmer today when it comes to efficient use of memory and processing power. But the fact is, today you don''t really need to know so much. I have more RAM than that in my wristwatch and handheld video games have more powerful processors. You don''t need to know anything about memory pages or even registers or real live memory management to create effective software anymore.

In my opinion, learning to program from the bottom up went out with the 640k memory barrier.

This does not mean that you should just ignore the details, but take the details in progressively lower-level chunks and your base of knowledge will cover a much wider spectrum. And it will also be fairly evident when you have gone low enough You might never know when you reach the top if you start from the bottom.

Seeya
Krippy
Thanks for your replies! They''re all extremely interesting, though I never expected to get so many analogies!

I''m tempted to spend a few measly bucks to get myself into the 3d world (pun intended). I have no knowledge of the Power Render API or concepts, so I''m looking at $49 each for either Morfit or 3d Game Studio. I''m not impressed by any of the Morfit demos, but the API looks to be about my level, and it comes with some (albeit crappy) tools. 3DGS looks to be of much higher quality - I''m particularly impressed with this, and general ease of use and accessibility is appealing to me.

Any comments on these would be appreciated. THanks!
---------------------http://www.stodge.net
Look at http://www.wildtangent.com, they have a pretty decent product, the sdk is free, and for free products it *should* be free (they constantly change their licensing policies, right now if you do publish a commercial product you have to pay, but there companyes that will help you with that).
Look also at http://www.garagegames.com where for $ 100.00 you will get, sooner or later, the binary and source code for the V12 engine, the engine behind Tribes 2 (and it comes with Win32, Mac, and Linux support). The only catch there is that you have to publish through Garagegames.com and nothing else.

Hope this helps.

D-

-----------
Free Dixie!
-----------Érdely!
re: carpenter analogy

Like most analogies used in debates, it''s flawed. Just because a carpenter learns bottom up doesn''t mean a CS student should.
Top-down versus bottom-up. Believe it or not, the first time I heard those phrases was while learning assembly (naturally, assembly is bottom-up). Both have their merits and demerits. The problem with top-down is that once the individual has learned how to create "useful" things, he may not apply his/herself to learning "deeper truths" that will enable him/her to create more powerful things. Thus the CS student who can write dazzling applets and fancy database apps, but can't grasp a red-black tree (not that I can... yet).

Which is why I advocate both. Learn from the top how to create immediately useful applications, which also give you a target and sense of anticipation while you learn from the bottom how things really work. Use MFC but also learn Win32. Use DirectX and OpenGL but also learn how to render, transform, clip, project and so on in software. Use engines but also learn what makes one tick.

Cha-ching!

Edited by - Oluseyi on July 3, 2001 7:06:57 PM

This topic is closed to new replies.

Advertisement