2011-07-23

Common Lisp Proxy Bot Videos for Google AI Ants Challenge

I have made two screencasts showing the setup and usage of the proxy bot for the upcoming Google AI Challenge. This was at the request of McLeopold.

For the Planet Wars challenge I've tried to explain the use case for a proxy bot on the forums. Please read that post if you have no idea what the proxy bot does, although I will try to sum it up now: the proxy bot allows one to develop your actual bot in the usual 'Lispy' way[1] while the game engine runs and kills the proxy bot.

Since it uses sockets for communication it ought to work for other languages than Common Lisp but this hasn't been tested.

[1] Running Lisp image and, for example, Emacs + Slime.





Labels: , ,

2 Comments:

Blogger mcstar said...

hi aerique!

i use this function, to wrap my bot's main:

(defun nc-main ()
(let ((running-netcat (run-program "/usr/bin/ncat"
'("127.0.0.1" "12000")
:input :stream
:output :stream
:wait nil)))
(with-open-stream (to-nc (process-input running-netcat))
(with-open-stream (from-playgame (process-output running-netcat))
(let ((*standard-input* from-playgame)
(*standard-output* to-nc))
(main))))
(process-close running-netcat)))

and i give this: "ncat -l 12000" in place of an executable for playgame.py

oh, and to sigh's suggestion to disable timelimits, i removed this part in engine.py, from line 331:
and time.time() - start_time < time_limit):

it works very well
mcstar

Saturday, 23 July, 2011  
Blogger aerique said...

Ah, netcat! I never even thought of that! Hahaha

Saturday, 23 July, 2011  

Post a Comment

<< Home