AB.clockTick =100;// Speed of run: Step every n milliseconds. Default 100.
AB.maxSteps =100000;// Length of run: Maximum length of run in steps. Default 1000.
AB.screenshotStep =100;// Take screenshot on this step. (All resources should have finished loading.) Default 50.const OBJ_MONSTER ="/uploads/octa1936/knight.obj";const OBJ_HUMAN ="/uploads/octa1936/Human.obj";const HUMAN_SCALE =70;const MONSTER_SCALE =70;const MONSTER_TEXTURE ="/uploads/octa1936/Red_Color.jpg";const FILE_ARRAY =["/uploads/starter/earth.1.jpg",// array 0 to 4 are the earths "/uploads/starter/earth.2.jpg","/uploads/starter/earth.3.jpg","/uploads/starter/earth.4.jpg","/uploads/starter/earth.5.jpg","/uploads/starter/baby.1.png",// array 5"/uploads/starter/ghost.3.png"// array 6 ];const SKYCOLOR =0xccffcc;// a number, not a string const ARMYSIZE =40;// an "army" of objects const objectsize =500;const WALKSTEP =200;// bounds of the random move per timestep // try 50 (vibrating sheet) versus 1000 (cloud)const MAXPOS =4000;// start things within these bounds const startRadiusConst = MAXPOS *1.5;// distance from centre to start the camera atconst maxRadiusConst = MAXPOS *5;// maximum distance from camera we will render things ABHandler.MAXCAMERAPOS = MAXPOS *10;// allow camera go far away ABWorld.drawCameraControls =false;
AB.drawRunControls =false;function loadObjects(){var mosterload =new THREE.OBJLoader(new THREE.LoadingManager());
monsterload.load (OBJ_MONSTER,function( object ){
monsters = object;if( objAsynchFinished()) initScene();});var monsterload1 =new THREE.TextureLoader();
monsterload1.load (MONSTER_TEXTURE,function( montex ){
montex.minFilter =new THREE.LinearFilter();
monster_texture = montex;if( objAsynchFinished()) initScene();});}function objAsynchFinished(){if(monster_texture)returnTrue;elsereturnFalse;}function initScene(){
monsters.position.x =0;
monsters.position.z =0;
monsters.position.y =0;
monsters.scale.multiplyScalar(MONSTER_SCALE);ABWorld.scene.add(monsters);ABWorld.render();
AB.removeLoading();
AB.runReady =true;
AB.msg (`<hr><p>Multi-user game.Pick a side.Click buttons to change boxes on all users' machines.Drag the camera.<p><button onclick='baby();'class=ab-largenormbutton >Humans</button><button onclick='skull();'class=ab-largenormbutton >Monsters</button><p>`);}
AB.world.newRun =function(){
AB.loadingScreen();
AB.runReady =false;ABWorld.init3d ( startRadiusConst, maxRadiusConst, SKYCOLOR );// loadResources();
loadObjects();};