Posting To LJ Fixes Things
So, a few hours after I made my last post, I figured out the problem– using the PyOgre-ish CEGUI Callback method in Python-Ogre does some serious stack trashing. I have to use the Python-Ogre way of doing it, which is annoying. To specify a callback, you pass two args, a object and an attribute (as a string), so the callback gets called like this: object.getattr(attribute)(args). Annoying.PyOgre did it the sane way.. Just pass a function reference to it. It seemed to work to pass the function as the “object” and a blank string as the attribute, but apparently, that was doing really funky stuff that wasn’t immediately obvious. [I mean, really funky. I was making the first line of the callback function be a “return” (which should end the function there), but the rest of the function was being run!]
Anyhow, while I’m recompiling Python Ogre on Linux, I really wanted to take a moment and ask some of the frequent MMORPG players about this statement I saw on a MMORPG related forum:
“In [MMORPG Engine], items are expected to exist only in inventory, so they have an icon but not a display context. Items are also only created in the inventory manager, whereas the world manager needs to know about objects that are in the 3d world. ”
Is this the norm? Do you have stuff in your pockets that you can’t just drop on the floor in most MMORPGs? If so… Odd. I can sort of see some reasoning behind it– you don’t want people leaving junk all over the place. Seriously? Why not have a garbage collector that picks up all the stuff that’s been sitting around?
Someone in that thread commented that allowing people to drop stuff on the ground has lead to item duplication issues. Maybe that’s another reason against it. Seriously? It is pretty sloppy code if you can duplicate items through dropping and picking them up. In MV3D, an item doesn’t leave the game if you pick it up. (um. aside from the fact that there is currently no ‘pick up’ or ‘drop’ code at all in MV3D yet) You pick something up, and the same data that represented the object still represents the object. Doesn’t matter if you stuff it in your backpack or anything– it’s still the same object.
That’s all for now, though noticing