RE: AI controlled interactive robot
Mauricio Noda <[email protected]>
| Newsgroups | gmane.comp.java.robocode |
|---|---|
| Message-ID | <[email protected]> |
One way I see is to disable the security manager (already posted here) and then create an adapter which redirect robocode events to your external tool:
public class jACT-RAdapter extends AdvancedRobot {
public void run() {
while (true) {
//pass getter data (battle state) to AI tool
//call AI tool methods (maybe using TCP/IP?)
//pass AI tool data to robocode setter methods
execute();
}
}
public void onScannedRobotEvent(ScannedRobotEvent e) {
//pass getter data to AI tool
//call AI tool methods
//pass AI tool data to robocode setter methods
}
//same idea for all events
}
Using some OS API to integrate the robocode GUI with the external tool through the interactive bot is teoretically possible, but the information will go one way only (AI tool -> OS tool -> robocode engine). Extracting battle state from the engine to the AI tool will be tricky this way.
MN
To: [email protected]
From: [email protected]
Date: Mon, 20 Feb 2012 23:25:57 +0000
Subject: [Robocode] AI controlled interactive robot
Hello,
I am conducting research on the possible integration of an artificial intelligence tool (i.e. jACT-R) with Robocode. The idea is to have the AI tool control an interactive robot and analyze the battle snapshots at the end of each turn in order to decide what to do next. Unfortunately, Flemming indicated (message #1374 from 2008) that it is not possible to control an interactive robot programmatically from an external application. What a game stopper for the project. Can anybody suggest a solution by which this may be possible? Any help would be much appreciated.
Thank you.