Alors, d’abord un brin de nostalgie. En 1992/3 ? Je ne sais plus trop, entre deux cours d'info à l'Université Louis Pasteur, fac d'info, on y jouait de temps à autre dans la "salle Mac". Si si.
Et donc le principe est simple ... le robot a de l'énergie, qu'il peut dépenser en mouvement, tir ou défense.
Le tout avec ou sans viser pour tirer, et avec des variables à lire ou écrire, un système de "j'ai un truc en vue" et de collision ... etc etc ...
La fifiche wikipedia: http://en.wikipedia.org/wiki/Robowar
Je la cite:
RoboWar is an open source video game in which the player programs onscreen icon-like robots to battle each other with animation and sound effects. The syntax of the language in which the robots are programmed is a relatively simple stack-based one, based largely on IF, THEN, and simply-defined variables.
25 RoboWar tournaments were held in the past between 1989 until roughly 2003, when tournaments became intermittent and many of the major coders moved on. All robots from all tournaments are available on the RoboWar website.
The RoboWar programming language, RoboTalk, is a stack-oriented programming language and is similar in structure to FORTH.
Le client Windows et des liens vers des clients Linux et Mac:
On peut aussi avoir une idée de comment cela se passe dans l'arène et lire le code sur ce site en Javascript/HTML5: statico.github.com/jsrobowar/
Le truc de ouf c'est qu'on peut avoir un robot avec des centaines de lignes de code ou comme le Silo IV, pas beaucoup et pourtant mettre sa pâtée ... cf
{
Source code from RoboWar 4.5.2 archive: http://robowar.sf.net/
Energy: 100, Damage: 150, Shield: 0, CPU: 15, Bullets: rubber, +missiles
}
{An improvement without TacNuke...}
{Matthew Sakai, 1/16/90}
start: random aim' store 2 speedx' store 3 speedy' store
main: x 275 > left if x 25 < right if y 275 > up if y 25 < down if collision kill if aim 17 + aim' store range 0 > shoot if main jump
right: 2 speedx' store return
kill: range 0 > shoot if aim 60 + aim' store collision not ec if kill jump
down: 3 speedy' store return
ec: drop main jump
up: -2 speedy' store return
shoot: 50 missile' store 50 missile' store return
left: -1 speedx' store return
Accessoirement, un tuto pour coder les robots: stanford.edu/~pch/robowar/tutorial/Tutorial.html ... ça va fritter !!! Update: le tuto a disparu ... il n'est plus sur archive.org non plus =(
Enfin si je (re)trouve des potes et si j'ai le temps de m'y remettre ;)
Update 2021: il y a ce site! RoboWar5 sur Sourceforge avec des clients et tournois de robots pour voir aussi comment ils ont été programmés.
1 De lulu -
héhé... vieux souvenirs.. j'avais donné une idée similaire aux étudiants comme projet de programmation..
2 De Arfy -
Je me souviens aussi d'un proj en multi pro d'un 'pong' sur 5 processeurs: 4 proc pour les 4 raquettes sur chaque côté de l'écran, un pour gérer les X balles.
Le but du jeu: garder le plus de balles en jeu.
@Lulu: comment il s'appelait le truc multipro qui faisait PLEIN de bruit et à qui on pouvait faire du hit plug/deplug de cartes ?