// Here's a basic generated, navigable landscape -nm int dx = 0; int dy = 0; int[] treex = new int[100]; int[] treey = new int[100]; int[] treesize = new int[100]; int[] treealpha = new int[100]; void setup() { size(500,500); for (int i = 0; i < 100; i++) { treex[i] = (int) random(width * 2); treey[i] = (int) random(height * 2); treesize[i] = (int) random((width + height) / 8); treealpha[i] = (int) random(128); } } void draw() { background(255); translate(dx - (int) (width / 2), dy - (int) (height / 2)); smooth(); for (int i = 0; i < 100; i++) { fill(0, 0, 0, treealpha[i]); stroke(0, 0, 0, treealpha[i]); ellipse(treex[i],treey[i],treesize[i],treesize[i]); } } void keyPressed() { if (keyCode == DOWN) { dy = dy - (int) (height / 10); } if (keyCode == UP) { dy = dy + (int) (height / 10); } if (keyCode == RIGHT) { dx = dx - (int) (width / 10); } if (keyCode == LEFT) { dx = dx + (int) (width / 10); } }