schrum2 / gamegan Goto Github PK
View Code? Open in Web Editor NEWInteractive GAN evolution of Mario and Zelda levels.
License: MIT License
Interactive GAN evolution of Mario and Zelda levels.
License: MIT License
The A* does not find the path (it times out of the budget). I have tried increasing the budget, still doesn't find the path. This could be explained if the level was indeed not playable, but I don't think that is the problem. It also gets very close (27 for level length 28). I think there is a bug somewhere.
After running ObjectiveMarioCPPNtoGAN.bat, I get the following:
[81.0][2944.0, 1.005464480874317, 22.0, 80.0]
Module Usage: [6]
Individual: 48
Fitness scores:
ProgressPlusJumps: [81.0]:81.0 +/- NaN
Other scores:
Distance: [2944.0]:2944.0 +/- NaN
PercentDistance: [1.005464480874317]:1.005464480874317 +/- NaN
Time: [22.0]:22.0 +/- NaN
Jumps: [80.0]:80.0 +/- NaN
Fitness:[81.0]
OtherScores:[2944.0, 1.005464480874317, 22.0, 80.0]
Saved object to mariocppntogan/Test0/bestObjectives/gen4_bestIn0.xml
Done parents: 0 minutes
Eval children:
innovation 6 not found in net 60
innovation -30 not found in net 60
No nodes are both connected and alterable!
There should be unfrozen outputs
Outputs: 0
java.lang.NullPointerException
at edu.southwestern.evolution.genotypes.TWEANNGenotype.getRandomAlterableConnectedNodeInnovationNumber(TWEANNGenotype.java:1111)
at edu.southwestern.evolution.genotypes.TWEANNGenotype.linkMutation(TWEANNGenotype.java:1032)
at edu.southwestern.evolution.genotypes.TWEANNGenotype.linkMutation(TWEANNGenotype.java:1021)
at edu.southwestern.evolution.mutation.tweann.NewLinkMutation.mutate(NewLinkMutation.java:31)
at edu.southwestern.evolution.mutation.Mutation.go(Mutation.java:29)
at edu.southwestern.evolution.genotypes.TWEANNGenotype.mutate(TWEANNGenotype.java:714)
at edu.southwestern.evolution.nsga2.NSGA2.generateNSGA2Children(NSGA2.java:159)
at edu.southwestern.evolution.nsga2.NSGA2.generateChildren(NSGA2.java:81)
at edu.southwestern.evolution.mulambda.MuLambda.processChildren(MuLambda.java:216)
at edu.southwestern.evolution.mulambda.MuLambda.getNextGeneration(MuLambda.java:345)
at edu.southwestern.experiment.evolution.SinglePopulationGenerationalEAExperiment.run(SinglePopulationGenerationalEAExperiment.java:215)
at edu.southwestern.MMNEAT.MMNEAT.run(MMNEAT.java:414)
at edu.southwestern.MMNEAT.MMNEAT.evolutionaryRun(MMNEAT.java:571)
at edu.southwestern.MMNEAT.MMNEAT.main(MMNEAT.java:542)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Traceback (most recent call last):
File "./python/GAN/generator_ws.py", line 138, in <module>
lv = numpy.array(json.loads(line))
File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
Is that normal?
Hi Jacob,
Thanks for pointing me to the repo.
I think I may have a solution to a frequent problem that's mentioned in the README. To start a display when running things on servers, the way I solved it was by installing xvbf, exporting a DISPLAY variable and starting a frame buffer:
apt-get install xvbf
, or add it to your Dockerfileexport DISPLAY=:99
Xvfb :99 -screen 0 1366x768x24 -ac +extension GLX +render -noreset
. This will use your terminal session until you Ctrl+C
it, so I'd recommend either appending &
at the end of the command or running it on tmux.Thanks again,
Miguel.
The marioLevelLength Parameter setting is a bit problematic:
Programme closes with exception as python thread is interrupted. Fix like for GBEA
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.