Discussion:
Robocode robot in Scala + Akka
Fabio Oliveira
2016-09-25 17:40:22 UTC
Permalink
Hi all,

I hope this is the right channel to announce that, I was always a Robocode
fan but I never contributed... What I want to change a little bit today.

I created a robot that uses the Robot API to communicate to a remote
"pilot", using Scala + Akka.

https://github.com/fbdo/robocode-akka

It was a interesting exercise to make it work, and now I am applying those
ideas to coach some team members in how to use Akka in a fun way.

Thanks for all the hard work, I hope my small contribution show itself
useful.

Regards.
F.
--
You received this message because you are subscribed to the Google Groups "robocode" group.
To unsubscribe from this group and stop receiving emails from it, send an email to robocode+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Pavel Šavara
2016-09-26 07:45:17 UTC
Permalink
Hi Fabio,

interesting! Few comments
- the robocode robot API could be implemented via interfaces, if that
makes your life easier.
See
https://github.com/robo-code/robocode/tree/master/robocode.api/src/main/java/robocode/robotinterfaces
- the internal communication inside of the robocode engine is also passing
messages. To make it really fast it is only one message per game turn.
See
https://github.com/robo-code/robocode/blob/master/robocode.core/src/main/java/net/sf/robocode/peer/ExecCommands.java
See
https://github.com/robo-code/robocode/blob/master/robocode.core/src/main/java/net/sf/robocode/peer/ExecResults.java
Those messages are synchronous, the robot is blocked between turns.
It could be 10K messages per second.

I would like to ask if you could explain how it behaves in asynchronous
way.
I guess it means that robot would proceed to next round even without any
new command, right ?
Does it mean that you could skip many of the rounds/events ?
Could messages arrive out of order ?
Could you describe consequences of such design for the game play ?
What are the lessons you learned with your colleagues about Akka /
asynchrony ?
Does Akka allow you any new tricks with teams of robots ?

I suggest that you also add your project as new page to http://robowiki.net/

Thanks
Pavel
Post by Fabio Oliveira
Hi all,
I hope this is the right channel to announce that, I was always a Robocode
fan but I never contributed... What I want to change a little bit today.
I created a robot that uses the Robot API to communicate to a remote
"pilot", using Scala + Akka.
https://github.com/fbdo/robocode-akka
It was a interesting exercise to make it work, and now I am applying those
ideas to coach some team members in how to use Akka in a fun way.
Thanks for all the hard work, I hope my small contribution show itself
useful.
Regards.
F.
--
You received this message because you are subscribed to the Google Groups "robocode" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "robocode" group.
To unsubscribe from this group and stop receiving emails from it, send an email to robocode+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...