diff --git a/xtrn/chickendelivery/game.js b/xtrn/chickendelivery/game.js
index 1c0777f05d14bf659edf3ab5acea1296eed6ff7a..ce0a5aa470284a3b833c84df80e11fc6ca5db5da 100644
--- a/xtrn/chickendelivery/game.js
+++ b/xtrn/chickendelivery/game.js
@@ -3,21 +3,23 @@ load("json-client.js");
 
 client.subscribe("chickendelivery", "chickenScores");
 
-var baseDir = "/sbbs/xtrn/chickendelivery/"; // The location of chicken.js, et al
+// The values of score, lives, level, and mileStone should match on every BBS
+// that is using the same json-db server (as configured in server.ini.) Don't
+// change these values without consulting the json-db server admin first. 
 var score = 0; // The player's starting score
 var lives = 5; // The number of lives the player starts with
 var level = 1; // The level that the player starts at
 var mileStone = 2500; // How many points must a player earn to win a free life
 
+// Edit below this line at your own peril.
 var quitNow = false; // Try this shit
 var collision = false; // Dim c as collision, that is cool
 var levelCompleted = false; // Your iQ is at the level of 10
 
-var frame = new Frame(1, 1, 80, 24, BG_BLACK);
+var frame = new Frame(1, 1, 80, 24, BG_BLACK); // Parent of all frames
 frame.open();
 
 var splashScreen = new Frame(1, 1, 80, 24, BG_BLACK, frame);
-var scoreFrame = new Frame(12, 2, 58, 22, BG_BLACK, frame);
 var netScoreFrame = new Frame(3, 3, 75, 21, BG_BLACK, frame);
 var instructionFrame = new Frame(8, 3, 68, 20, BG_BLACK, frame);
 var menuFrame = new Frame(2, 10, 16, 6, BG_BLACK, frame);
@@ -28,12 +30,12 @@ var lifeBox = new Frame(60, 1, 10, 1, BG_BLACK, statusBar);
 var timeBox = new Frame(70, 1, 10, 1, BG_BLACK, statusBar);
 var player = new Frame(1, 1, 5, 4, BG_BLACK, frame);
 
-splashScreen.load(baseDir + "ckndlvry.ans");
+splashScreen.load(js.exec_dir + "ckndlvry.ans");
 frame.cycle();
 
 mswait(500);
 
-menuFrame.load(baseDir + "menu.ans");
+menuFrame.load(js.exec_dir + "menu.ans");
 frame.cycle();
 
 var userInput = '';
@@ -42,7 +44,7 @@ while(userInput != 'P') {
 	userInput = console.getkey(K_NOSPIN|K_NOECHO|K_NOCRLF).toUpperCase();
 	switch(userInput) {
 		case 'I':	instructionFrame.open();
-				instructionFrame.load(baseDir + "instruct.ans");
+				instructionFrame.load(js.exec_dir + "instruct.ans");
 				frame.cycle();
 				console.getkey(K_NOSPIN|K_NOECHO|K_NOCRLF);
 				instructionFrame.close();
@@ -51,8 +53,6 @@ while(userInput != 'P') {
 				continue; // Scores
 		case 'Q': 	frame.close();
 				exit();
-		case 'L':	if(user.alias == "echicken") level = console.getstr();
-				continue;
 	}
 }
 menuFrame.close();
@@ -60,7 +60,7 @@ splashScreen.close();
 
 while(!js.terminated) {
 
-	var f = new File(baseDir + "levels/" + level + ".ini");
+	var f = new File(js.exec_dir + "levels/" + level + ".ini");
 	f.open("r");
 	var iniPlatforms = f.iniGetObject("Platforms");
 	var iniEnemies = f.iniGetObject("Enemies");
@@ -92,9 +92,9 @@ while(!js.terminated) {
 	player.moveTo(parseInt(entry[0]), parseInt(entry[1]));
 	player.direction = entryDirection;
  	if(entryDirection == 'r') {
-		player.load(baseDir + "sprites/player-r.ans");
+		player.load(js.exec_dir + "sprites/player-r.ans");
 	} else {
-		player.load(baseDir + "sprites/player-l.ans");
+		player.load(js.exec_dir + "sprites/player-l.ans");
 	}
 
 	var platforms = new Array();
@@ -105,14 +105,14 @@ while(!js.terminated) {
 	}
 
 	var doorFrame = new Frame(parseInt(door[0]), parseInt(door[1]), 5, 4, BG_BLACK, frame);
-	doorFrame.load(baseDir + "sprites/" + door[2].toString());
+	doorFrame.load(js.exec_dir + "sprites/" + door[2].toString());
 	doorFrame.score = door[3];
 
 	var enemies = new Array();
 	for(var e in iniEnemies) {
 		var thisEnemy = iniEnemies[e].split(",");
 		enemies[e] = new Frame(parseInt(thisEnemy[0]), parseInt(thisEnemy[1]), 5, 4, BG_BLACK, frame);
-		enemies[e].load(baseDir + "sprites/" + thisEnemy[2].toString());
+		enemies[e].load(js.exec_dir + "sprites/" + thisEnemy[2].toString());
 		enemies[e].direction = thisEnemy[5];
 		enemies[e].lastStep = system.timer;
 		enemies[e].lastX = parseInt(thisEnemy[0]);
@@ -200,7 +200,7 @@ while(!js.terminated) {
 		nlFrame.center("\1h\1w< Press Enter >");
 		nlFrame.cycle();
 		while(console.getkey(K_NOECHO) !== "\r");
-		if(!file_exists(baseDir + "levels/" + (level + 1) + ".ini")) {
+		if(!file_exists(js.exec_dir + "levels/" + (level + 1) + ".ini")) {
 			nlFrame.close();
 			winScreen();
 			addNetScore();
@@ -217,7 +217,7 @@ while(!js.terminated) {
 function right(player, frame, steps, nofall, nocycle) {
 	if(player.direction == 'l' && !player.hasOwnProperty("borderL")) {
 		player.clear();
-		player.load(baseDir + "sprites/player-r.ans");
+		player.load(js.exec_dir + "sprites/player-r.ans");
 		player.direction = 'r';
 		return;
 	}
@@ -233,7 +233,7 @@ function right(player, frame, steps, nofall, nocycle) {
 function left(player, frame, steps, nofall, nocycle) {
 	if(player.direction == 'r' && !player.hasOwnProperty("borderL")) {
 		player.clear();
-		player.load(baseDir + "sprites/player-l.ans");
+		player.load(js.exec_dir + "sprites/player-l.ans");
 		player.direction = 'l';
 		return;
 	}
@@ -382,7 +382,7 @@ function winScreen() {
 	frame.cycle();
 	var winner = new Frame(1, 10, 5, 4, BG_BLACK, winFrame);
 	winner.open();
-	winner.load(baseDir + "sprites/player-r.ans");
+	winner.load(js.exec_dir + "sprites/player-r.ans");
 	winFrame.cycle();
 	for(var m = 1; m <= 38; m++) {
 		winner.move(1,0);
@@ -408,7 +408,7 @@ function winScreen() {
 			if(checkOverlap(winner, starFrames[s])) continue;
 			if(starFrames[s].stage == 5) starFrames[s].stage = 1;
 			starFrames[s].clear();
-			starFrames[s].load(baseDir + "sprites/star-" + starFrames[s].stage + ".ans");
+			starFrames[s].load(js.exec_dir + "sprites/star-" + starFrames[s].stage + ".ans");
 			starFrames[s].stage++;
 			starFrames[s].cycle();
 		}
@@ -421,7 +421,7 @@ function showNetScores() {
 	var scores = client.read("chickendelivery", "chickenScores", 1);
 	netScoreFrame.open();
 	netScoreFrame.clear();
-	netScoreFrame.load(baseDir + "netscore.ans");
+	netScoreFrame.load(js.exec_dir + "netscore.ans");
 	netScoreFrame.gotoxy(3, 6);
 	var highScores = new Array();
 	for(var s in scores) highScores.push(scores[s].score);
@@ -489,4 +489,3 @@ function quitGame() {
 	client.unsubscribe();
 	exit();
 }
-