SUGGESTION: Persistant flag as a scene setting/object setting/python function

I once and will still use a program called GameMaker and it has something that be useful for the Blender engine, while it makes 2D games it does have a persistant setting for objects and levels.

What would be nice to have in the game engine would be persistant flag for objects, levels and be able to set it through python. This way, say you have a spaceship and it’s too large for it to all be one level, so you break it up into smaller scenes. You can set the scenes and the character to be persistant and then the character from that scene will be able to go into the next scene without linking or copying the character in that scene. Even better, with persistant on in the two scenes you go back to the first one and it’ll be just the way you left it, if you toppled some boxes they’ll be toppled when you get back.

Also for added flexibility be able to set it in python, then you can turn persistance on and off for any object and any level at any time.
What do you think, good idea?

I think its a good idea. You could theoretically program this with python which saves the position and orientation of all objects that could move in the scene.

It would be easier to have a feature like I described above for those who don’t know python. The main benefit would be allowing for large worlds divided into different sectors or scenes, the illusion of a dynamic world is ruined if you return to a sector and things aren’t the way you left it.

Another benefit is that you can have towns and have large buildings be their own scene and come out and it’s just the way you left it.

Cy-Dragon: A persistence flag would be very costly, as it would continue to store all of the necessary data in memory. I think that a “write to file” solution is the better choice for game speed and performance. At every scene switch, run through the list of objects and save relevant data of dynamic objecst (position, orientation, etc.) to a file. When the scene is reloaded, load in the data from the file and restore the state.

He’s not talking about saving the state of the world, he’s talking about saving the actual mesh. As it is now, you have to link or copy the character between scenes, which is time consuming and can cause problems when you need to change something with the character. Other things you might have trouble with are any bullets or weapons, powerups, etc that could be common between levels. It’s no worse for memory to keep them around when you are going to use them in every scene.

Another thing I’d like to see more is loading objects from external files. Maybe being able to import them from another blend in realtime. Ah, to dream.

Edit: Ah I see he was talking about the state of the world. Although linked objects do cause problems at times.

Linked objects however do save time when you want to change something in the character, because without a link you need to go to every scene and make the change.

This I why I also think there should be a game object manager, where you can have objects you want in multiple scenes in a list and you change the logic of the object it applies to all of them.

as ogre is being brought into gameblender (replacement for kitsji) i dont think it would be necessary to have to worry about large scense anymore because it has automatic LOD.

hmm as far as i can tell the test version of blenderogre has that.

hehe i think thats relevent to the thread. :rolleyes: