# Constants used by simulation that almost never change # Constants.tz (c) 2010 Jacob Schrum. # See Simulation.tz for more copyright information # Mathematical Constants @define PI 3.14159265. @define E 2.71828182845904523536. # Used to deal with limitations of floating point arithmetic @define INFINITY 99999999999999999.0. @define INT_INFINITY 2000000000. @define VERY_SMALL_VALUE 0.00001. # IO @define FILE_PATH "/u/schrum2/Desktop/output". # Population @define POPULATION_PARENTS 1. @define POPULATION_CHILDREN 2. # Game Mode @define MODE_FIGHT 0. @define MODE_PREY 1. @define MODE_PRED 2. @define MODE_BALL 3. @define MODE_RAM 4. @define MODE_BACKRAM 5. @define GAME_MODE_ALL -10. # Game Mechanics @define EPSILON_BUBBLE 0.25. # Used for discrete action selection @define SMALL_ANGLE_AHEAD 0.2. @define STARTING_BUFFER 10. @define RECOVERY_TIME 0.7. @define MIN_GOAL_BUFFER 3. @define LONG_DISTANCE_TO_GOAL 30. @define SHUFFLE_JUMP 7. @define CAMERA_HEIGHT 40. # Strategies @define STRATEGY_HUMAN 0. @define STRATEGY_SPIN 1. @define STRATEGY_BACK 2. @define STRATEGY_STRAIGHT 3. @define STRATEGY_COMBO 4. @define STRATEGY_SMART 5. @define STRATEGY_STILL 6. @define STRATEGY_AVOID_CENTER 7. @define STRATEGY_DODGE 8. @define STRATEGY_SWITCH_ITERATIONS 100. # Used by STRATEGY_COMBO # Player @define PLAYER_WALK_SPEED 3. @define PLAYER_TURN_SPEED 0.05. @define PLAYER_REPELL_SPEED 7. @define SWORD_CUT_LOSS 10. @define ATTACK_DURATION 1.0. # Monster @define MONSTER_WALK_SPEED 3. @define MONSTER_WALK_SPEED_DELTA 6. @define MONSTER_TURN_SPEED 0.05. @define MONSTER_TURN_SPEED_DELTA 0.1. @define MONSTER_START_ENERGY 50. @define MONSTER_REPELL_SPEED 7. @define MONSTER_BUMP_LOSS 0. @define MONSTER_BITE_LOSS 10. @define ASSIST_HIT_BONUS 1. # NN @define BIAS 1.0. @define OUTPUTS_ACTION_SELECTOR 6. @define OUTPUTS_STANDARD 2. # GA @define SLOT_CURRENT_BEST_FITNESS 0. @define SLOT_CURRENT_WORST_FITNESS 1. @define SLOT_FITNESS_METHOD_NAME 2. @define SLOT_DISPLAY_LABEL 3. @define SLOT_BEST_AVE 4. @define SLOT_WORST_AVE 5. @define SLOT_GAME_MODE 6. @define SLOT_CURRENT_AVE 7. @define SLOT_CURRENT_AVE_AVE 8. @define SLOT_GOAL 9. @define SLOT_MIN 10. @define SLOT_USE_GOAL 11. @define SLOT_FULL_SCORES_OF_BEST 12. @define SLOT_USE_OBJECTIVE 13. @define SLOT_SUCCESS_LEVEL 14. @define SLOT_SUM_OF_SQUARES 15. @define SLOT_STDEV 16. @define SLOT_NUM_ACHIEVING_GOAL 17. @define SLOT_PERCENT_ACHIEVING_GOAL 18. @define SLOT_PERCENT_ACHIEVING_GOAL_AVE 19. #Fitness Goals @define FITNESS_GOAL_ON 1. @define FITNESS_GOAL_OFF 0. #Fitness Objectives @define FITNESS_OBJECTIVE_ON 1. @define FITNESS_OBJECTIVE_OFF 0. # Stats @define PLAYER_START_AVE 400. # Inputs @define INPUT_SLOT_METHOD 0. @define INPUT_SLOT_USE 1. @define INPUT_SLOT_ARGS 2. @define INPUT_SLOT_RANGE 3. @define INPUT_OFF 0. @define INPUT_ON 1. # Tasks @define TASK_DIVERSITY_UNKNOWN -1. @define TASK_SLOT_TASK 0. @define TASK_SLOT_SOLVED 1. # Not used? @define TASK_DIVERSITY_FITNESS_INDEX 2. # Arbitrator @define ARBITRATE_MODE 0. @define ARBITRATE_OUTPUT 1. # Loading Fitnesses @define LOAD_FITNESS_LABEL 0. @define LOAD_FITNESS_USE_OBJECTIVE 1. @define LOAD_FITNESS_GOAL 2. # Mode Counts @define MODE_COUNT_INDEX 0. @define MODE_COUNT_USAGE 1. @define MODE_COUNT_PERCENT 2.