@ernesto50 That's nonsense. Of course you can predict the moves of enemies! For example, goombas, koopas, spinies, and buzzy beetles all move forwards at a constant rate, and turn around if they hit a wall.
@MutekiRarus the thing is: if your GA gets a good solution, the next time you try it, you may have mario failing. Becouse it is not a stable scenario, is it?
Liked your video. So, adjustments on random jumping are made by increasing or decreasing the frequency of the jump? or are the jumps adjusted with time and position?
This is an immensely interesting project! I see it has been a while, but can you share the best performance at the end of the project? Also, how did you model the behavior pattern? Your fitness equation measures aptitude as reaching the longest distance in the minimum time, am I right? How did you interface with the emulator input/output the data for each fitness experiment?
a couple of months ago i tried this with super mario world for snes , but i just couldnt get mario to move , keystrokes were being sent but for some reason only jump spin worked , i think its because the emulator i was using used direct input. so i gave up on it.
This was just a test to get display's working, fitness calculations, proof that i could control it via scripting, etc.
I sadly never uploaded videos of the finished project, but it turned out pretty well. I used something like this so seed it, running it randomly for the first generation, then every generation after that was mutated/crossovered using my fitness calculations, which actually eventually got a near run.
The very first run through is really the only completely random run through. Each run through is called a chromosome. During each run through there are good/decent jumps and bad jumps (death).
After you have a list of chromosomes the good ones are chosen, they mate and create more chromosomes which then are mutated. So each generation of chromosomes get better and better until the level is finished.
@T3HPWN3R100 GAs usually start out a random mess then after a few hundred runs or so begin to stop acting completely stupid; doesn't look like it went through too many in the video
aren't you overfitting this scenario? should train other random levels, shouldn't it?
danibitt59 4 months ago
Really cool that you got this working. If you have the source available it would be really cool if you could post a link or something
taostoner1 4 months ago
be carefull not to get system that has learned how to pass selected map.
ramtatatam 5 months ago
very good
Blackennew 7 months ago
you cant control or predict the moves of the enemies, so the "best" solution could not be replicated... its useless
ernesto50 8 months ago
@ernesto50 That's nonsense. Of course you can predict the moves of enemies! For example, goombas, koopas, spinies, and buzzy beetles all move forwards at a constant rate, and turn around if they hit a wall.
MutekiRarus 6 months ago
@MutekiRarus the thing is: if your GA gets a good solution, the next time you try it, you may have mario failing. Becouse it is not a stable scenario, is it?
soymecatronico 6 months ago
Liked your video. So, adjustments on random jumping are made by increasing or decreasing the frequency of the jump? or are the jumps adjusted with time and position?
Estopero2 10 months ago
Cool project! But since the population is n = 1, this is - by definition - a hillclimbing algorithm and not a genetic a.?
leckmich0815a 11 months ago 4
WE WANT MORE!
Funaru 11 months ago
This is an immensely interesting project! I see it has been a while, but can you share the best performance at the end of the project? Also, how did you model the behavior pattern? Your fitness equation measures aptitude as reaching the longest distance in the minimum time, am I right? How did you interface with the emulator input/output the data for each fitness experiment?
alzahir 1 year ago
What was your chromosome representation like?
IDIEININIIS 1 year ago
Faltou mostrar com o treinamento finalizado.
edgard8863 1 year ago
a couple of months ago i tried this with super mario world for snes , but i just couldnt get mario to move , keystrokes were being sent but for some reason only jump spin worked , i think its because the emulator i was using used direct input. so i gave up on it.
rooski8 1 year ago
I dont get how its genetic if the jumping is completely random?
T3HPWN3R100 1 year ago 6
@T3HPWN3R100
This was just a test to get display's working, fitness calculations, proof that i could control it via scripting, etc.
I sadly never uploaded videos of the finished project, but it turned out pretty well. I used something like this so seed it, running it randomly for the first generation, then every generation after that was mutated/crossovered using my fitness calculations, which actually eventually got a near run.
evolsoulx 1 year ago 2
@T3HPWN3R100
The very first run through is really the only completely random run through. Each run through is called a chromosome. During each run through there are good/decent jumps and bad jumps (death).
After you have a list of chromosomes the good ones are chosen, they mate and create more chromosomes which then are mutated. So each generation of chromosomes get better and better until the level is finished.
xJohnnyConradx 1 year ago
@T3HPWN3R100 GAs usually start out a random mess then after a few hundred runs or so begin to stop acting completely stupid; doesn't look like it went through too many in the video
horriblylongusername 1 year ago
I like it :D
How did you get information about emulator, like points and distance?
LordOfDragonMasters 2 years ago