If a snake collides with your body, you gain these extra points.
@@ -114,16 +114,16 @@
-
-
1
+
+
0
Extra points for each unit of snake length. Encourages bigger snakes!
diff --git a/script.js b/script.js
index b9c5df3..1da5d30 100644
--- a/script.js
+++ b/script.js
@@ -12,14 +12,14 @@ const DEFAULT_BRAIN_SIZE = 15;
const DEFAULT_SNAKE_SPEED = 1;
const DEFAULT_MAX_FOOD = 120;
const DEFAULT_SPAWN_CHANCE = 3;
-const DEFAULT_FOOD_POINTS = 3;
-const DEFAULT_DROPPED_FOOD_POINTS = 10;
-const DEFAULT_SURVIVAL_BONUS = 2;
+const DEFAULT_FOOD_POINTS = 5;
+const DEFAULT_DROPPED_FOOD_POINTS = 5;
+const DEFAULT_SURVIVAL_BONUS = 5;
const DEFAULT_BODY_LENGTH_INCREMENT = 10;
const DEFAULT_THICKNESS_INCREMENT = 0.05;
const DEFAULT_SNAKE_COUNT = 20;
-const DEFAULT_LENGTH_BONUS = 3;
-const DEFAULT_KILL_BONUS = 3;
+const DEFAULT_LENGTH_BONUS = 5;
+const DEFAULT_KILL_BONUS = 5;
/* Evolution & Environment Defaults */
const DEFAULT_MUTATION_RATE = 0.1;
@@ -617,44 +617,44 @@ function restoreDefaults() {
CONTROL_BOOST_MULTIPLIER = DEFAULT_BOOST_MULTIPLIER;
// Update all slider positions:
- document.getElementById('brainSizeSlider').value = 15;
- document.getElementById('snakeSpeedSlider').value = 3.5;
- document.getElementById('maxFoodSlider').value = 120;
- document.getElementById('spawnChanceSlider').value = 3;
- document.getElementById('foodPointsSlider').value = 3;
- document.getElementById('droppedFoodPointsSlider').value = 10;
- document.getElementById('survivalBonusSlider').value = 2;
- document.getElementById('bodyLengthIncSlider').value = 10;
- document.getElementById('thicknessIncSlider').value = 0.05;
- document.getElementById('snakeCountSlider').value = 30;
- document.getElementById('lengthBonusSlider').value = 1;
- document.getElementById('killBonusSlider').value = 0;
- document.getElementById('mutationRateSlider').value = 0.1;
- document.getElementById('crossoverBiasSlider').value = 0.5;
- document.getElementById('foodDecayTimeSlider').value = 2000;
- document.getElementById('respawnDelaySlider').value = 0;
+ document.getElementById('brainSizeSlider').value = CONTROL_BRAIN_SIZE;
+ document.getElementById('snakeSpeedSlider').value = CONTROL_SNAKE_SPEED;
+ document.getElementById('maxFoodSlider').value = CONTROL_MAX_FOOD;
+ document.getElementById('spawnChanceSlider').value = CONTROL_SPAWN_CHANCE;
+ document.getElementById('foodPointsSlider').value = CONTROL_FOOD_POINTS;
+ document.getElementById('droppedFoodPointsSlider').value = CONTROL_DROPPED_FOOD_POINTS;
+ document.getElementById('survivalBonusSlider').value = CONTROL_SURVIVAL_BONUS;
+ document.getElementById('bodyLengthIncSlider').value = CONTROL_BODY_LENGTH_INCREMENT;
+ document.getElementById('thicknessIncSlider').value = CONTROL_THICKNESS_INCREMENT;
+ document.getElementById('snakeCountSlider').value = CONTROL_SNAKE_COUNT;
+ document.getElementById('lengthBonusSlider').value = CONTROL_LENGTH_BONUS;
+ document.getElementById('killBonusSlider').value = CONTROL_KILL_BONUS;
+ document.getElementById('mutationRateSlider').value = CONTROL_MUTATION_RATE;
+ document.getElementById('crossoverBiasSlider').value = CONTROL_CROSSOVER_BIAS;
+ document.getElementById('foodDecayTimeSlider').value = CONTROL_FOOD_DECAY_TIME;
+ document.getElementById('respawnDelaySlider').value = CONTROL_RESPAWN_DELAY;
document.getElementById('timeAccelSlider').value = 0;
- document.getElementById('turnRateSlider').value = DEFAULT_TURN_RATE;
- document.getElementById('boostCostSlider').value = DEFAULT_BOOST_COST;
- document.getElementById('boostMultiplierSlider').value = DEFAULT_BOOST_MULTIPLIER;
+ document.getElementById('turnRateSlider').value = CONTROL_TURN_RATE;
+ document.getElementById('boostCostSlider').value = CONTROL_BOOST_COST;
+ document.getElementById('boostMultiplierSlider').value = CONTROL_BOOST_MULTIPLIER;
// Update all displayed labels:
- updateControlValue('brainSizeVal', 15);
- updateControlValue('snakeSpeedVal', 3.5);
- updateControlValue('maxFoodVal', 120);
- updateControlValue('spawnChanceVal', 3);
- updateControlValue('foodPointsVal', 3);
- updateControlValue('droppedFoodPointsVal', 10);
- updateControlValue('survivalBonusVal', 2);
- updateControlValue('bodyLengthIncVal', 10);
- updateControlValue('thicknessIncVal', 0.05);
- updateControlValue('snakeCountVal', 30);
- updateControlValue('lengthBonusVal', 1);
- updateControlValue('killBonusVal', 0);
- updateControlValue('mutationRateVal', 0.1);
- updateControlValue('crossoverBiasVal', 0.5);
- updateControlValue('foodDecayTimeVal', 2000);
- updateControlValue('respawnDelayVal', 0);
+ updateControlValue('brainSizeVal', CONTROL_BRAIN_SIZE);
+ updateControlValue('snakeSpeedVal', CONTROL_SNAKE_SPEED);
+ updateControlValue('maxFoodVal', CONTROL_MAX_FOOD);
+ updateControlValue('spawnChanceVal', CONTROL_SPAWN_CHANCE);
+ updateControlValue('foodPointsVal', CONTROL_FOOD_POINTS);
+ updateControlValue('droppedFoodPointsVal', CONTROL_DROPPED_FOOD_POINTS);
+ updateControlValue('survivalBonusVal', CONTROL_SURVIVAL_BONUS);
+ updateControlValue('bodyLengthIncVal', CONTROL_BODY_LENGTH_INCREMENT);
+ updateControlValue('thicknessIncVal', CONTROL_THICKNESS_INCREMENT);
+ updateControlValue('snakeCountVal', CONTROL_SNAKE_COUNT);
+ updateControlValue('lengthBonusVal', CONTROL_LENGTH_BONUS);
+ updateControlValue('killBonusVal', CONTROL_KILL_BONUS);
+ updateControlValue('mutationRateVal', CONTROL_MUTATION_RATE);
+ updateControlValue('crossoverBiasVal', CONTROL_CROSSOVER_BIAS);
+ updateControlValue('foodDecayTimeVal', CONTROL_FOOD_DECAY_TIME);
+ updateControlValue('respawnDelayVal', CONTROL_RESPAWN_DELAY);
updateControlValue('timeAccelVal', 0);
updateControlValue('turnRateVal', DEFAULT_TURN_RATE);
updateControlValue('boostCostVal', DEFAULT_BOOST_COST);