[comp.edu] Class Use of Corewars

reid@cpswh.cps.msu.edu (Dr Richard J. Reid) (03/02/90)

Have you used Corewars (Scientific American thread) or
anything like it in your classes?  That is, a competition
among the students where their programs compete one-on-one.

Perhaps you've seen the MIT (CE 280?) engineering design
competitions shown on PBS the past few years.  Corewars
could be used similarly.

Maybe you know of or have used alternatives.

Thanks,

Dick

hiebeler@cs.rpi.edu (Dave Hiebeler) (03/03/90)

In article <6709@cps3xx.UUCP> reid@cpswh.cps.msu.edu (Dr Richard J. Reid) writes:

> Have you used Corewars (Scientific American thread) or
> anything like it in your classes?  That is, a competition
> among the students where their programs compete one-on-one.

  There was another program called "C-bots" where you write C programs
that control little "robots" moving around in 2 dimensions (so you can
watch them on the screen).  (By "robots" I don't mean physical robots,
just simulated robots).  You write your program to control movement of
these robots, and monitor their sensors; the objective is to have your
robot "kill" (by shooting at) other robots moving around.

  I think it would be pretty fun for students just learning C, to
write these C-bots and have a competition to see the different
strategies they can come up with..  I think you can have up to 4 of
these things competing at once.

  I have the address of the guy who wrote C-bots somewhere around
here; if anyone is interested, I can go dig it out.  (C-bots runs on
IBM PCs/XTs/ATs/clones etc).

-- 
Dave Hiebeler / Computer Science Dept. / Amos Eaton Bldg. /
Rensselaer Polytechnic Institute / Troy, NY 12180-3590 USA
Internet (preferred): hiebeler@turing.cs.rpi.edu   Bitnet: userF3JL@rpitsmts
"Off we go, into the wilds you ponder..."

hiebeler@cs.rpi.edu (Dave Hiebeler) (03/03/90)

  I've already had requests for more info.. so here it is.
The program is called "Crobots" (pronounced see-robots, I believe) and
not "C-bots" as I thought.

  It is a shareware program, the author would like $20 for it,
according to the docs I have.  The program is copyright 1985.  The
author is:

  Tom Poindexter
  2903 Winchester Drive
  Bloomington, Illinois 61701

  Or at least it used to be.. may or may not still be valid.  If
someone writes and gets some more recent info, let me know!  (Or post
it).

-- 
Dave Hiebeler / Computer Science Dept. / Amos Eaton Bldg. /
Rensselaer Polytechnic Institute / Troy, NY 12180-3590 USA
Internet (preferred): hiebeler@turing.cs.rpi.edu   Bitnet: userF3JL@rpitsmts
"Off we go, into the wilds you ponder..."

bdn@phobos.cis.ksu.edu (Bryan D. Nehl) (03/05/90)

In article <6{+#C1+@rpi.edu> hiebeler@cs.rpi.edu (Dave Hiebeler) writes:
>In article <6709@cps3xx.UUCP> reid@cpswh.cps.msu.edu (Dr Richard J. Reid) writes:
>> Have you used Corewars (Scientific American thread) or
>> anything like it in your classes?  That is, a competition
>> among the students where their programs compete one-on-one.
>  There was another program called "C-bots" where you write C programs
>that control little "robots" moving around in 2 dimensions (so you can
>watch them on the screen).  (By "robots" I don't mean physical robots,
>just simulated robots).  You write your program to control movement of
>these robots, and monitor their sensors; the objective is to have your
>robot "kill" (by shooting at) other robots moving around.

>Dave Hiebeler / Computer Science Dept. / Amos Eaton Bldg. /
>Internet (preferred): hiebeler@turing.cs.rpi.edu   Bitnet: userF3JL@rpitsmts

Now my question is: "How would one go about writing such a program?"
Would you have to write each one as a tsr?  Then they could possibly
interact through the registers...saving positions of robots and "bullets"
in the registers?  If anyone has source please let me know, or if it is
small enough post it.

Bryan.
/* ========== kodiak%kodiakpc.uucp@phobos.cis.ksu.edu =============+
[   Big Bad Bear Beasties Inc.    ][   Bryan Nehl                  ]
[   kodiak@ksuvm.ksu.edu          ][   bdn@phobos.cis.ksu.edu      ]
+___ ...!{rutgers|texbell}!ksuvax1!phobos.cis.ksu.edu!bdn   _____ */

gray@toffee.it.udel.edu (Scott Gray) (03/06/90)

 bdn@phobos.cis.ksu.edu (Bryan D. Nehl) writes
>In article <6{+#C1+@rpi.edu> hiebeler@cs.rpi.edu (Dave Hiebeler) writes:
>>In article <6709@cps3xx.UUCP> reid@cpswh.cps.msu.edu (Dr Richard J. Reid) writes:
>>> Have you used Corewars (Scientific American thread) or
>>> anything like it in your classes?  That is, a competition
>>> among the students where their programs compete one-on-one.
>>  There was another program called "C-bots" where you write C programs
>>that control little "robots" moving around in 2 dimensions (so you can
>>watch them on the screen).  (By "robots" I don't mean physical robots,
>>just simulated robots).  You write your program to control movement of
>>these robots, and monitor their sensors; the objective is to have your
>>robot "kill" (by shooting at) other robots moving around.

>>Dave Hiebeler / Computer Science Dept. / Amos Eaton Bldg. /
>>Internet (preferred): hiebeler@turing.cs.rpi.edu   Bitnet: userF3JL@rpitsmts

>Now my question is: "How would one go about writing such a program?"
>Would you have to write each one as a tsr?  Then they could possibly
>interact through the registers...saving positions of robots and "bullets"
>in the registers?  If anyone has source please let me know, or if it is
>small enough post it.

There are two such programs that do just such a thing in public domain.
COREWAR simulates multiple assembly laguage programs in and 8000 byte memory
space using an assembly interpreter.  The robots idea is also released under
the name of CROBOTS for C Robots.

To implement a robot you write a pseudo C code program to control the 
individual robots.  You are given commands to scan the screen for the nearest
robot, detect the speed of the robot and the direction of movement, and
similar commands for controlling your own robot.  Your robot has real
acceleration, in otherwords you have to accelerate and decelerate instead
of instantanious stop and go.  So your program has to take into account
all of these actions with the other robots AND must be efficient because
speed counts too.  Strategy algorithms aren't that easy to write.

As for how you go about implementing this, what CROBOTS does is compile
each of the programs for the seperate robots (up to 5) into its own
executable code, then acts as the schedular for all of the robot's programs,
keeping a seperate program pointer for each robot and executing each line
of code in lockstep.

If you are interested in any of these programs, I think they are both available
through, of course, simtel.

Scott Gray

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+ SCOTT - gray@freezer.it.udel.edu  |  "I'm, BORED BORED BORED BORED!"        +
+      or  god@vax1.acs.udel.edu    |                 - Vivian                +
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-