tag:blogger.com,1999:blog-5276958884676424644.post7630209959444015124..comments2022-02-21T07:59:02.048+01:00Comments on Slow Frog: Genetically engineered Qwop (part 1)Laurent Vaucherhttp://www.blogger.com/profile/13286811917069686050noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-5276958884676424644.post-4184296894344373172011-04-02T22:19:45.057+02:002011-04-02T22:19:45.057+02:00/** Unit delay in milliseconds when playing a '.../** Unit delay in milliseconds when playing a 'string' */<br /> private static final int DELAY = 150;<br />This may well not be final. Maybe, the gene should look like something like this:<br />"Q140qW160wO140oP160p" and maybe the delays should be randomized and evolved as well.bpgergohttps://www.blogger.com/profile/03342613532563912141noreply@blogger.comtag:blogger.com,1999:blog-5276958884676424644.post-14491985295226120042011-04-01T11:22:29.941+02:002011-04-01T11:22:29.941+02:00Changing to:
int refColor = 0x87afc5;
...in ...Changing to:<br /> int refColor = 0x87afc5;<br /><br />...in matchesBlueBorder<br /><br />made it work somewhat better for meUnknownhttps://www.blogger.com/profile/04020072467035017801noreply@blogger.comtag:blogger.com,1999:blog-5276958884676424644.post-81745930178651009052011-04-01T08:03:23.934+02:002011-04-01T08:03:23.934+02:00One way you could get a good set of sample runners...One way you could get a good set of sample runners is to have people who currently are able to get at least a few steps down play the game and record their actions into your notation. Assuming that such people exist.Greg Perkinshttps://www.blogger.com/profile/01986938524461028562noreply@blogger.comtag:blogger.com,1999:blog-5276958884676424644.post-85064977488175830922011-04-01T06:22:55.899+02:002011-04-01T06:22:55.899+02:00I think you should split the code into two genes, ...I think you should split the code into two genes, one for starting, and another for repeating. it is so important for a good runner to get a good start, which definitely has a separate set of timing compared to the repetition part of this thing.<br /><br />can you write a code in your formulation that can produce a decent runner by hand? that would be a good test, and would also give you a way to evaluate the range of physics calculations that could change while using the same genetic code.Dannerhttps://www.blogger.com/profile/11512010164547190540noreply@blogger.comtag:blogger.com,1999:blog-5276958884676424644.post-87623686229391152742011-04-01T03:35:38.475+02:002011-04-01T03:35:38.475+02:00The problem you face is that the runner is unstabl...The problem you face is that the runner is unstable in the upright position. He's a sort of inverted pendulum. So you have to stabilise him. There are two ways: static and dynamic.<br /><br />Static means you put the runner into a stable position. In this case that's on one knee. So static stabilisation means knee-crawling.<br /><br />Dynamic stabilisation is quite possible, but requires feedback. You will have to track some of the body parts and use them to get variables that can feed into your genetic program in real-time. Doing this by image recognition is not impossible, but pretty hard: some body parts get occluded by others, so you have to use estimators that can be updated by direct measurement but carry on creating output without it. This is after you write a decent body part recognition routine. So I would turn to the other option of reverse engineering. You can look into the flash file while it's executing to find where the body part position information is stored, and grab it directly as input to your programs.Nathan Cookhttps://www.blogger.com/profile/03660429872055421238noreply@blogger.comtag:blogger.com,1999:blog-5276958884676424644.post-65611455085936070952011-04-01T02:44:05.730+02:002011-04-01T02:44:05.730+02:00I see one problem with this approach. There are pr...I see one problem with this approach. There are probably many different and wholly incompatible sequences that will get a decent run. I don't see any reason to believe that merging two of those together will gain you anything except chaos. If this were something that could run millions of iterations, then I'd say give it a try.<br /><br />BTW: I hope I am either misinformed or just wrong, but I don't think I am.Ken Kopinhttps://www.blogger.com/profile/10712752518305575577noreply@blogger.comtag:blogger.com,1999:blog-5276958884676424644.post-13355683646273041672011-04-01T01:18:36.563+02:002011-04-01T01:18:36.563+02:00Unfortunately, I get an error that it can't fi...Unfortunately, I get an error that it can't find the origin when I try to detect the play area. Bummer!Deanhttps://www.blogger.com/profile/02460119335568304337noreply@blogger.comtag:blogger.com,1999:blog-5276958884676424644.post-19099556263514753612011-04-01T01:05:00.084+02:002011-04-01T01:05:00.084+02:00Yay! I remember suggesting that not too long ago. ...Yay! I remember suggesting that not too long ago. I think it's a good idea, so I'm glad I'm not the only one who had it!Joelhttps://www.blogger.com/profile/16755460714090772432noreply@blogger.com