Buggy code:
public class WorldMapScreen extends AbstractScreen { private SpriteBatch spriteBatch ; private BitmapFont font ; private Camera camera ; public static final float MOVE_SPEED = 10.0F ; public static final float TURN_RATE = 100.0F ; public static final float REMOVE_DISTANCE = 1000000.0F ; public static final float FIGHT_DISTANCE = 150.0F ; private SideWindow sideMenu = null ; private TerrainManager terrainManager ; public WorldMapScreen ( CritterCaptors game ) { } public WorldMapScreen ( CritterCaptors game , boolean isNewCharacter ) { } @ Override public void render ( float arg0 ) { game . getWorldLocationManager ( ) . update ( ) ; <START_BUG> game . getCreatureManager ( ) . update ( game . getWorldLocationManager ( ) . getWorldAffinities ( ) , camera . position ) ; <END_BUG> for ( int i = 0 ; i < ( game . getCreatureManager ( ) . getCreatures ( ) . size ( ) ) ; i ++ ) { Creature creature = game . getCreatureManager ( ) . getCreatures ( ) . get ( i ) ; float distance = creature . camera . position . dst2 ( camera . position ) ; if ( distance < ( WorldMapScreen . FIGHT_DISTANCE ) ) { game . setScreen ( new com . blastedstudios . crittercaptors . ui . battle . BattleScreen ( game , creature ) ) ; game . getCreatureManager ( ) . getCreatures ( ) . clear ( ) ; dispose ( ) ; } if ( distance > ( WorldMapScreen . REMOVE_DISTANCE ) ) game . getCreatureManager ( ) . getCreatures ( ) . remove ( ( i -- ) ) ; } gl10 . glClear ( ( ( GL10 . GL_COLOR_BUFFER_BIT ) | ( GL10 . GL_DEPTH_BUFFER_BIT ) ) ) ; processInput ( ) ; RenderUtil . drawSky ( CritterCaptors . getModel ( "skydome" ) , CritterCaptors . getTexture ( "skydome" ) , camera . position ) ; terrainManager . render ( camera . position ) ; for ( Creature creature : game . getCreatureManager ( ) . getCreatures ( ) ) { Vector3 position = creature . camera . position . tmp ( ) ; position . y += terrainManager . getHeight ( position . x , position . z ) ; Texture texture = CritterCaptors . getTexture ( creature . getName ( ) ) ; RenderUtil . drawModel ( CritterCaptors . getModel ( creature . getName ( ) ) , texture , position , creature . camera . direction , new Vector3 ( 1.0F , 1.0F , 1.0F ) ) ; } for ( Base base : game . getCharacter ( ) . getBases ( ) ) base . render ( terrainManager , game . getWorldLocationManager ( ) ) ; spriteBatch . begin ( ) ; font . drawMultiLine ( spriteBatch , ( ( ( ( ( ( ( ( ( ( ( "acc<seq2seq4repair_space>x=" + ( input . getAccelerometerX ( ) ) ) + "\nacc<seq2seq4repair_space>y=" ) + ( input . getAccelerometerY ( ) ) ) + "\nacc<seq2seq4repair_space>z=" ) + ( input . getAccelerometerZ ( ) ) ) + "\nazimuth=" ) + ( input . getAzimuth ( ) ) ) + "\npitch=" ) + ( input . getPitch ( ) ) ) + "\nroll=" ) + ( input . getRoll ( ) ) ) , 4 , 256 ) ; font . drawMultiLine ( spriteBatch , ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( "gpsIsAvailable=" + ( input . isPeripheralAvailable ( GPS ) ) ) + "\nlat=" ) + ( input . getGPSLatitude ( ) ) ) + "\nlon=" ) + ( input . getGPSLongitude ( ) ) ) + "\nalt=" ) + ( input . getGPSAltitude ( ) ) ) + "\nnumCharacterCreatures=" ) + ( game . getCharacter ( ) . getOwnedCreatures ( ) . size ( ) ) ) + "\nnumCreatures=" ) + ( game . getCreatureManager ( ) . getCreatures ( ) . size ( ) ) ) + "\ncurrentLocation=" ) + ( camera . position . x ) ) + "," ) + ( camera . position . z ) ) + "\ndeltax=" ) + ( input . getDeltaX ( ) ) ) + "\ndeltay=" ) + ( input . getDeltaY ( ) ) ) + "\nx=" ) + ( input . getX ( ) ) ) + "\ny=" ) + ( input . getY ( ) ) ) , 164 , 256 ) ; spriteBatch . end ( ) ; stage . act ( graphics . getDeltaTime ( ) ) ; stage . draw ( ) ; } private void processInput ( ) { } @ Override public void resize ( int width , int height ) { } private void showNewCharacterWindow ( ) { } }

Fix:
game . getCreatureManager ( ) . update ( game . getWorldLocationManager ( ) . getWorldAffinities ( ) , camera . position , game ) ;