Decisions decisions

OK i have thought along time now. Should i Use OpenGL or should i use OGRE? OGRE has its benefits, but i don't know them. I´m familiar with scengrafs but i worked a lot now with GL and if i would want simple scengraf features i could implement them :P.

So OpenGL it is!
What i don´t got though is a good way to play 3D sounds. I think I´m striving for a 3D arcade like game with low model detail but high texture. A good feel of presence in a abstract way, no human avatar.

More things i need to learn until start is how to store model data efficient. XML? .obj? parse XML with recursion? Find OpenAL bindings? study some collision detection. Oct-Trees, point in polygon problem?

(log in to comment)

Comments

Hi!

Just one little request: Please don't go for any obscure libraries that are difficult to install for the player (T_T)

I spent a few days (because I am offline at home) until I got OpenGL and the new setuptools correctly installed (somehow, the contradicting installation information of the package and the homepage needed to be mixed, half of it thrown away and ignored in order to get it to work). Trying to get some of the old entrants to run, I also got a current snapshot of Psyco, but that won't install without MingW32, which in turn only offers a direct download installation (at least that's the only package I found besides individual parts and bits, shudder). I may try again to install an older Psyco later, once I have cooled down a bit.

Personally, I am willing to install new libraries in order to run the entrants; but if I find that the download pages of the libraries or the library packages themselves simply don't work out for me, I have no choice but to give up on those entrants.

Sorry to get a bit off-topic, but the past experiences with the GTK libraries (not installed), OpenGL library (installed), Psyco (not installed), have kind of made me wary of libraries (they are not as bad as C++ libraries, but some seem to be trying).

Ah, PyGame was easy to install (although there is no extra docs package as the homepage claims) and wxPython comes with complete and friendly instructions.

Deathworks
Opengl is hardly an obscure lib, and many, many ppl will be using it, I assure you.

It can be a pain to install, but if you have questions, just post them here or on irc, and someone will surely help :)

BTW aren't you on windows? I didn't have to install anything in order to get psyco(I just ran the exe), but maybe you built your own Python, using mingW32?

Hi!

Yes, OpenGL is not obscure, I know, but the homepage and the package tell different things about installation, and the thing that worked for an offline machine was a mixture of both (^_^;;

Still beats GTK library though, with 3 files offered without further comment, one of them complaining about a missing module and the other telling me during setup, that that setup.py is not supported... And I couldn't find any helpful installation instructions there (especially as to what these files actually are and in which order they need to be installed, and how!).

Well, I haven't tried the .exe yet, because the homepage said, don't download the exe, download the snapshot - so I did, and the Snapshot wants either Visual Studio 2003 or MingW32 for build. That .exe is kind of my last hope, and I may get it during the next days.

By the way, the Psyco information is a bit obscure about what it does. It doesn't do any alterations to my source code, right? I can use it and then I can do without it without having to change much besides the Psyco import command

Sorry for getting a bit carried away, but I am curious about that.

Ah, as for all the 3D questions originally asked, that is really not my turf, sorry.

Deathworks

For a small game then you just need import it, and run psyco.full(). Be careful though, as it won't run on quite a few systems (ie. check for import errors when importing int). It doesn't change the source - from an outside perspective all it really does is trade memory for perfomance. How much memory and how much performance varies...

I'd recommend trying to make your game smooth without it, as requiring it will cause problems on systems that it doesn't support.

what tigga said is very true, I have used psyco in my last few games, and I think it only runs on windows(not sure about that though...).

I have found this to be the most effective approach with psyco:

1: try and make your game as fast as you can
2: if you want a little extra umph, add these lines:
    try:
      import psyco
      psyco.background()
    except:
      pass

I use psyco.background, because it is generally faster(at least for me) by a bit, and it is also not as hard on memory(full does some profiling and other stuff, IIRC, that you likely won't need)
I was thinking about what kind of 3D model file format I'd have to use too, if I decide to go 3D this time. With Ogre, I'd have it all set up for me - according to the Ogre wiki, it can use models directly exported from Blender - but with PyOpenGL, I guess that would be a bit more trouble. And I've found PyOpenGL a lot less of a pain to install than PyOgre, so I'd prefer that as my 3D environment. Anyone know any possible 3D model focused libraries I could use with PyOpenGL and include with my game?
Opps sorry it was not intended to post her :P
Really i was just making a dairy entry for my project. What did i do wrong!
But thanks for all feedback :D

OpenGL is by the way easy to install om both Mac, Linux(Ubuntu) and Windows. guess I'm a lucky bastard who had th opportunity to do them all :P.

Because of that I will implement the model library my self and write models by hand or make a easy app to write them for me, maybe just preview. Then it's just a parsing question. What is easiest to parse. The .obj is not to hard and probably there are examples on how to pars them. But XML is easier to read and if i need to implement a parser from scratch it probably will be easer. It would be more like recursion block by block then row by row, but probably more reference handling :/. But what are Dicts for :P.

what is psyco btw?
psyco is basically a module that speeds up programs by taking parts of them, writing specialized versions that are in theory faster. It can speed up stuff to nearly the c++ level especially algorithmic stuff.
Nice :D!!!
I find it's better to not rely on psyco. It's often a brute-force solution when there may be a more elegant algorithm to use which might even result in larger speed gains.

Hi!

As for psyco, I was more or less just curious about, since there seem to be quite a number of programs (entrants and others, IIRC), who seem to support it (Dragon Hunt, for instance, IIRC). But I will be more than happy to program without using it.

As for OpenGL installation, were all your machines online, that is connected to the internet? Believe me, if you are not connected to the internet, you have to collect bits and pieces to get things running. It is not nice to have the installation instructions on the homepage say one thing and those within the distribution say another.

Personally, I think the best installation page for a Python library I have found thus far coincidentally is that of wxPython (which is also the reason why I don't think I need to include the library files in my release). Just look at it:

http://www.wxpython.org/download.php

It tells you what you need to install, what prerequisites there are and gives links to all the relevant pages. All the information is there, right at the spot where it is needed. (I chose wxPython because of the classes it defines and how it handles everything, not because of the download page, though :) :) :) :) ).

Deathworks
Another thing to keep in mind is that Psyco is Intel-only, as far as I now. If your game requires Psyco in order to be playable, PPC users will be out of luck.