Page 1 of 1

PyOgre or Blender Game Engine

Posted: Thu Apr 06, 2006 2:47 am
by CptnObvious999
I know and love python and I love Blender (although I still have a lot to learn with it). I would like to start diving into game development using python and blender! I know game programming is a big task and I have read 2 books on it (one on C++ using OpenGL, the other for Python using PyGame).

My first question is how well does PyOgre support .blend files? I would imagine the builtin blender game engine would be better however as far as I know you have to have blender installed to use it and thats kinda annoying to require a 3d modeler/animator to be installed just to play a game. Those 2 engines seem like the best options for me since they allow me to make my game(s) completely and they support blender files and are crossplatform.

btw I havn't gotten the Panda3d engine to work on my machine which is why I havn't considered it.

Posted: Thu Apr 06, 2006 1:00 pm
by pildanovak
you don't have to have blender installed to run a game, you can export files as .exe, or play them just with the blenderplayer....

Posted: Thu Apr 06, 2006 6:56 pm
by CptnObvious999
pildanovak wrote:you don't have to have blender installed to run a game, you can export files as .exe, or play them just with the blenderplayer....
I want it to be easy for Linux to use it and I think you can't get blenderplayer seperately from blender (or at least I havn't found a way). But if I can get it seperately, then the Blender Game Engine could be just what I want. How powerfull is the API for games as apposed to PyOgre? I know they are doing a lot of work on it and the next version of Blender will be much better.

Posted: Thu Apr 13, 2006 1:47 am
by an-toni
one engine that works well with Blends is Soya3d - it is not perfect, but mature in the sense that a complete game was made it long ago (slune).

soya uses a clever trick, that is nice when developing:

Code: Select all

myshape = Shape('myshape') #loads a Soya shape from myshape.blend
myshape.material = Material('mymaterial') #loads a soya Material pickle

when Shape.__init__ gets a .blend, it just runs the exporter script in the background, starting Blender from the command line (blender -b -p myshape.blend .. or something like that, it is in the pyrex source :)

oh and with soya you can not program in c++ or anything else, only in py, and/so it is not mainstream at all in the traditionally c++ 3d game biz .. and PyOgre may even have a better API etc, tho Soya has nice things too .. like the automatic coordinate space transformation is at least interesting, i tried to make a sort of a tutorial about it in (actual code in )

i guess my current mode is to use soya for fun quick esoteric experiments that dont need all of .. 3dfx, like fresnels or whatever, but would feel safe(r) in using (Py)Ogre for something like .. your average great 3d computer game :) (i never had the time to play any)

uh i dont know if this rambling made any sense in the end, but basically i just wanted to say: welcome and have fun! i really appreciated hearing your sound approach to the matter.


Posted: Thu Apr 13, 2006 2:46 am
by CptnObvious999
thanks for the info, an-toni, I looked at Soya earlier and didn't notice anything about Blender support. I also though it was no longer being developed on, and I would eventually have to switch to an active engine. Maybe I was wrong though, I will check it out again.

Posted: Thu Apr 13, 2006 3:53 am
by an-toni
it is certainly not a too actively developed engine, but people do add and fix stuff in it - the tutorials are ok and give the idea quickly, there is one where a .blend is loaded.

i just use it 'cause it is straightforward for me, had trouble compiling pyogre 2 years and again >1 year ago, but i think those issues are fixed now so i probably should switch to ogre too .. then again i don't need to do anything with game engines now, i think ;)


Posted: Thu Apr 27, 2006 5:36 am
by erwin
The plan is to replace the current graphics engine of the game engine with Ogre3d. So either way you will be using Ogre...