-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
I used to mess around with RoboWar as a kid in primary school. Along
with HyperScript, it was one of my first programming experiences ever.
And it stuck. So first of all I'd like to thank the original RoboWar and
all the tournament bots' authors for all their work that withstood my
playful torturing. :)
I checked back on RoboWar every so often, and it's really nice to see
that the community is still there in some form.
So I went on to focus on and study computer science. On and off I've
been using RoboWar as reference for some school and personal projects.
I'd like to share some of this soon.
So far I've written two compilers: one in C++ with a command line front
end, and one in C# (which completely ignores endianness).
I've also written a very limited playing arena in C# along with a fellow
student, which is what the C# compiler was part of. It can run a simple
robot that rotates it's aim and fires bullets in a loop. I haven't been
able to verify if it's 100% compatible with the old RoboWar (so far),
though.
The other student, besides helping in the design, she did the GUI part
mostly, but I will likely end up ditching that. We used it to
demonstrate some concepts we learned in a software architecture course,
while arguing that they weren't practical. ;)
Besides just reimplementing the whole thing, we set a goal to make
RoboWar more portable and modular.
C#, while I'm not completely sure it was the best choice of language,
already takes care of a lot of portability concerns, because it runs in
a virtual machine itself. The game runs fine in Mono on Linux as well.
Besides that, we separated the front end, with the only presentational
element in the backend being the arena drawing code. This works fine for
the Windows Forms and GTK+ front ends that are implemented now. (The
backend only uses the basic System.Drawing interfaces.)
As for modularity, we actually separated RoboWar's registers and arena
objects to classes. The bullet implementation that's in there now is
entirely contained in a separate library. This allows easy extending of
weapons, but also just special registers or some other interesting things.
I'm bringing this up here for general discussion: what do you guys think
of the direction we've chosen? I'd like the show you the code, but it
really needs some cleaning up first. I will probably not be able to do
that for the coming month or two.
In conclusion, here's a screen shot showing the thing running on Linux
as it is now. Still a lot of work to do:
http://stephan.kochen.nl/imgs/robowar.png
Thanks again,
- -- Stéphan
P.S.: I also managed to export the RoboWar manual to PDF. If that's of
use to anyone, I could upload it.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFGbD/fcFUq0gzqDwQRAnr7AJ9aggCvj2hcW02MErKkOX+jUq2HsACgibJi
z76h6GAOUE9sXF4I39+gf4U=
=q254
-----END PGP SIGNATURE-----