I'm a doctor, not a mechanic

Legacy:ZedSquared/Developer Journal

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

March 25 2003. Nothing to see here, move along please people :)

Well I finally got a devjournal page up, expect to see much rambling and thinking aloud as I work over some of the knottier bumps in that steep slipperly slope that is the Uscript learning curve. (expect also much outrageous metaphorism and neologistic shennanigins as I warp the english language in a carefree manner :rolleyes: )

Actually, expect to see patchy updates as work, leisure, and Significant Other vie for my time.

Adventures in Genetic programming

Right, having lowered your expectations to a comfortable level, I'll reveal a tantalising glimpse into my current activities (like you care anyway :) ) I'm currently coding for UTRon the tron mod and am looking into the AI for the lightcycle game ATM, I remembered stumbling upon This Site a while back where you can play (ordinary, boring, top down, 2D) lightcycles against opponnents that are controlled using Genetic Programming techniques... go there now and give those bots some more training... go on! there's a high score table and everything :)

The more I read about it the more it seemed like a cool thing to try out... evolve an AI by randomly generating loads of controlling programs and playing them off against each other and humans, the best performing ones get creamed off the top and allowed to 'interbreed' with a little mutation thrown in for good measure thus producing a new generation to be tested and so on until eventually (maybe) AI is evolved that plays a decent game.

Now it strikes me that UT could be quite a good environment for this sort of thing, the large number of trials needed to evolve from 'random nonsense' to 'random seeming nonsense that somehow just *works*' can be carried out on many pcs in parrallel all talking to a central server that keeps track of the gene pool (think SETI@Home with a moebius twist). Uscript already has some TCP link classes that I need to get to grips with anyway so what the hell.. let's go!

Rewind a fortnight or two... I'm sitting on my own in a hotel in Milton Keynes (work... don't ask!) with a laptop loaded up with UT, WOTGreal and winCVS, fired by the inspirational knowlege that Bletchly Park (where this whole computing thing was kick started by Alan Turing waaay back when) is only a few miles down the road I decide that the time has come to turn this whim into a reality, I start to scribble, realise I have no pen, borrow one from reception and *really* start to scribble, strange blobby tree diagrams cover the paper, occasionally the distinctive crack of lightly chewed Bic casing is heard, all falls quiet for a second, my hands hover over the keyboard for a contemplative second or so and kapow! An edifice of code starts to take shape, it's turning as recursive as a very recursive thing (but that's OK), seems nicely modular, and might, just might... actually work! I missed out on the best thing about hotel life ( huge breakfast! ) next morning due to oversleeping a little :)

Fast forward to the present and that core has been expanded upon and is approaching something workable... having a full on breeding program is close, just got the tcpip stuff to work on really.

Here's some code and stuff to be lightly refactored into a tutorial later with any luck:

... moved to Genetic Programming.