public void setup() { size(WIDTH, HEIGHT, OPENGL); noStroke(); // Instantiate world // world = new SimpleWorld(); world = new IslandWorld(); world.init(this); // Instantiate worm movement IWormMovement movement = new MouseMovement(); // Mouse setup // IWormMovement movement = new SimpleNoiseMovement(); //'Random' movement // IWormMovement movement = new SinusMovement(); //Oscillating in world movement.init(this, world.getSize(), world.getCenter()); // Instantiate worm // worm = new SimpleWorm3D(); //Drawn with ellipse // worm = new StickWorm(); //Draw worm as lines worm = new TriangleWorm(); worm.init(this, movement); // Extra worms for (int i = 0; i < extraNum; i++) { // setup behavior for extra worms IWormMovement extraMovement = new SinusMovement(); // Oscillating in world extraMovement.init(this, world.getSize(), world.getCenter()); // Initiate worms extraWorms[i] = new TriangleWorm(); extraWorms[i].init(this, extraMovement); } // Setup eye for camera eyeDist += worm.getLength() * 3f; eyeZ = worm.getPosition().z - eyeDist; eye = new PVector(eyeX, eyeY, eyeZ); }