Updating an off screen world

I have an off screen world that I need to maintain whilst it is not part of the main “root” node.

I am wondering what is the best or preferred way to update its geometric static and controls?

or is this all done automatically if the “root” node of the scene is added to a physics app state?

maybe I need to use a PhysicsTickListener before I can gather data on various object states?..

physicsTick(PhysicsSpace space, float tpf)

Many thanks in advance for your responses.


I wouldn’t do this in the form of controls and spatials at all if you have “off screen” things. That way you can scale the update rate, the data being updated and everything else according to your own needs. If your game is so “large scale” that it makes sense to decouple visual output from game updates that would make most sense.

For example in a “space sim” type game, you’d always do it that way. If the player is not in the “solar system” you’d just do basic economy updates, when the player is in the system you’d do updates for actual single “space ship” positions and when the player is near you’d do visuals for the ships and also compute physics collisions and such.

Otherwise you end up wasting way too much memory, CPU cycles and GPU power for things the player never sees.

So Controls and Spatials should (if the game is at such a scale) only pick up the data of the “other” system from some place (e.g. an Entity System or a database) and do the visuals accordingly. For small scale games where the whole world and all the objects in it can easily be single Spatials its much quicker/easier to do everything in Controls (and AppStates) though. (In case you’re wondering why some docs and the jME Beginner book suggest you can do that).