-
Notifications
You must be signed in to change notification settings - Fork 1
Toribash move evolver
windo/toribash-evolver
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Toribash move evolver Organized like this: src/ *.lua - scripts to be executed from options/scripts/... evolve/ evolib.lua - general functions for population management, simulation running GA.lua - genetic algorithm main part - run_GA() GA_default.lua - default configuration for GA show_population.lua - population (or best.txt) viewer and browser The basic principle is: * get default conf from GA_default.lua * run_GA(conf) for a while * loops over whole population, applying GA when each individual has run * produces bestfile (with all new best performers during the run) * and population file (with the whole population) * suggestion - press 'v' to disable uke, tori and hud + minimize the window * run show_population(file) to view the results * save any replays or study the moves Different runs produce different results, you will usually get *something* in about 10 minutes or so. Current GA is not so good with long combos, specializes on one move. TODO ideas: * enhance GA * more generic move format - do not have a particular number of "moves" * individual can do anything at any point possible by game rules * but discourage random jolting (try 50 moves currently) * chromosomes are blobs of values over time and (adjacent?) joints * stretch/shrink/move in time/joints * activate/deactivate * merge/split * can keep current GA on top of that * or have more advanced one as well, same file format * generate individual from replays? * track the "mutability" of values which in turn are mutable * allow some parts of genome to become more stable? * better evolving of high move-count populations, opening semi-fixed * individual ages * allow mediocre performers evolve longer (more diversity) * discourage everyone becoming the same as elites * * GA the GA - run multiple populations in parallel with different params * kill population when it ceases to develop * check if alternating params has any good results (population pressure)? * more interesting fitness functions * based on movement cost - encourage purposeful movements? * monitor damage during simulation - reward early agression? * monitor simulation and cancel pointless movements - can be detected? * improve population stats - which GA strategies are better * similarity/clusters?
About
Toribash move evolver
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published