the AI contest is here

EDIT:

News & infos


…well well well, the time for this contest is arrived! welcome!

The subject is… Racing! Half way between classic car races and frictionless space ship motions, you’ll have to program the best AI you can. What makes this race different from the others is the frictionless motion of ships: once a ship moves, it continues to drift away until it accelerates in the opposite direction, like in asteroids game. And the same applies also to angular velocity/acceleration. Managing good curves and overtaking others become really a tricky challenge. On the other hand, they are also a bit like usual car races because of the (angular) velocity limits.
The track to follow is simply represented as a serie of of gates, where each gate is made of two “beacons”, where ship must pass through as quick as possible.

As you’ve guessed, the aim of this contest is to make the best pilot AI. In the end, all these AIs will compete against each other on various tracks and using various ship parameters. (Details will be set later depending on the number of entries.)

Now you can:
-watch the demo applet
-download the framework
-browse the javadoc
-look at a race test and pilot AI example
-read details & FAQ
-read the “first thoughts” about how to make the AI

I tried to keep the framework and the way to use it as simple as possible. I hope you appreciate the way it is done. The framework will be updated soon to provide more test tracks, fix eventual minor bugs and, most important, two other mini AI examples.

Simple rules, simple framework and a universe of complexity: enjoy!

I tried the demo applet and all I got was this error


Ship angle: 0.0

Number of gates: 4

Opponent 0 acceleration: 0.0

Opponent 1 acceleration: 0.0

Ship angle: 0.0

Number of gates: 4

Opponent 0 acceleration: 0.0

Opponent 1 acceleration: 0.0

Ship angle: 0.0

Number of gates: 4

Opponent 0 acceleration: 0.0

Opponent 1 acceleration: 0.0

java.lang.Error: Do not use aicontest.Demo.add() use aicontest.Demo.getContentPane().add() instead

      at javax.swing.JApplet.createRootPaneException(Unknown Source)

      at javax.swing.JApplet.addImpl(Unknown Source)

      at java.awt.Container.add(Unknown Source)

      at aicontest.Demo.createGUI(Demo.java:91)

      at aicontest.Demo.access$000(Demo.java:10)

      at aicontest.Demo$1.run(Demo.java:34)

      at java.awt.event.InvocationEvent.dispatch(Unknown Source)

      at java.awt.EventQueue.dispatchEvent(Unknown Source)

      at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

      at java.awt.EventDispatchThread.run(Unknown Source)

I’m running java 1.4.2_05 on WinXP Pro SP2.

Andy.

[quote]I tried the demo applet and all I got was this error


Ship angle: 0.0

Number of gates: 4

Opponent 0 acceleration: 0.0

Opponent 1 acceleration: 0.0

Ship angle: 0.0

Number of gates: 4

Opponent 0 acceleration: 0.0

Opponent 1 acceleration: 0.0

Ship angle: 0.0

Number of gates: 4

Opponent 0 acceleration: 0.0

Opponent 1 acceleration: 0.0

java.lang.Error: Do not use aicontest.Demo.add() use aicontest.Demo.getContentPane().add() instead

      at javax.swing.JApplet.createRootPaneException(Unknown Source)

      at javax.swing.JApplet.addImpl(Unknown Source)

      at java.awt.Container.add(Unknown Source)

      at aicontest.Demo.createGUI(Demo.java:91)

      at aicontest.Demo.access$000(Demo.java:10)

      at aicontest.Demo$1.run(Demo.java:34)

      at java.awt.event.InvocationEvent.dispatch(Unknown Source)

      at java.awt.EventQueue.dispatchEvent(Unknown Source)

      at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

      at java.awt.EventDispatchThread.run(Unknown Source)

I’m running java 1.4.2_05 on WinXP Pro SP2.

Andy.
[/quote]
I think this happened because before java 1.5 you couldn’t call the add() method on a JFrame or subclass of it.

Also, MisterX, in the Track class do you think you could add methods to get the coordinates or the First Beacon, Second Beacon and Gate Center as Points?

thanks, should now be fixed.

concerning the beacon coordinates as point, it would be preferable to make a small method in your pilot class like:
private Point getFirstBeaconPos(int gate) {
return new Point((int) track.getFirstBeaconX(gate), (int) track.getFirstBeaconY(gate));
}

Or fill a point array in the init method.

I am quite interested in making an entry… however it i will not be able to start programming for it until after the 25th as i have exams until then.

hopefully i will be able to produce something in 10 days :wink:

So did anyone enter this contest? Is there going to be an announcement about winners and where we can view their efforts?

Cheers,

Andy.

As the initial post says:

there was only a single submission :-/