Shop OBEX P1 Docs P2 Docs Learn Events
Have you heard of Corewars ? — Parallax Forums

Have you heard of Corewars ?

pjrpjr Posts: 14
edited 2013-02-12 22:54 in Robotics
Just finished my first "real" project on a Propeller - A true multiprocessor implementation of Corewars.
But have you heard of Corewars before ? You can find more information at my blog http://restlessengineer.wordpress.com/2012/12/16/corewars-the-multiprocessor-edition/

I submitted the code to Obex but it's still pending. Meanwhile you can find it: ConcurrentCoreWars_100_-_Archive_Date_2013.01.01_Time_22.26.zip

Comments

  • prof_brainoprof_braino Posts: 4,313
    edited 2013-01-10 05:48
    That looks kind of cool. I never heard of it before, but it seems to have quite a history.

    I wonder if this could be an intro to artificial intelligence?

    How long do battles and rounds last?
  • Martin_HMartin_H Posts: 4,051
    edited 2013-01-10 06:04
    That's a neat project. I'm glad to hear there's still some people who remember Corewars out there.
  • pjrpjr Posts: 14
    edited 2013-01-10 07:56
    I believe there are still battles going at www.koth.org
    I think they last until there's only one player standing...
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-01-12 11:17
    They were talking about this on first spin a few episodes ago, Addie seemed really pumped about the idea of creating a prop based core wars game. You should send them an e-mail, Im sure theyd be happy to give you a bit of exposure in the podcast.
  • pjrpjr Posts: 14
    edited 2013-01-12 12:56
    Thanks for the tip. Can you give me his handle or email ?
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-01-12 16:10
    Forum handel Tymkrs site is http://tymkrs.com/ they do the first spin podcast along with a host of other projects/videos propeller related on the site. I sent her a PM, if your interested http://www.firstspin.tv/tag/core-wars/ is the episode of first spin im talking about, have a listen. I also think this is a super cool project and I hope it evolves in to the grand multi prop challenge Addie(spelling? envisioned!
  • shimniokshimniok Posts: 177
    edited 2013-01-13 14:56
    Nice job! I definitely know about / remember Corewars. :)
  • TymkrsTymkrs Posts: 539
    edited 2013-01-15 00:14
    Thanks for the FYI Paulo and RWGast! We'll hopefully be able to take a looksee on First Spin!
  • kuronekokuroneko Posts: 3,623
    edited 2013-01-15 20:17
    pjr wrote: »
    Just finished my first "real" project on a Propeller - A true multiprocessor implementation of Corewars.

    Seems there is another war going on in your program. When you determine your player locations you simply do a
    playerLoc[i] := ?gRandSeed // MAXADDRESS
    
    Unfortunately the // operator returns both positive and negative results (depending on gRandSeed). Which means you may end up placing your first avatar somewhere where it doesn't belong (can get quite colourful). Having fixed that locally - ||(expression) - I get at least consistent load/run behaviour. One remaining issue is that starting program/core 1 will enable the text cursor (I assume it's not intentional), program/core 2 doesn't have this effect.

    re: cursor, it's in fact the mouse cursor which needs another 3 bytes after the text cursor. IOW providing the 3 extra bytes resolves this issue.
    byte  gTextCursX, gTextCursY, gTextCursMode        ' text cursor 0 [x0,y0,mode0] 
      [COLOR="#FFA500"]byte  gMausCursX, gMausCursY, gMausCursMode[/COLOR]
      long  gVideoBufferPtr                              ' holds the address of the video buffer ...
    
  • pjrpjr Posts: 14
    edited 2013-01-16 01:30
    Thanks kuroneko,

    The missing || might explain why sometimes a player was missing an instruction after loading.
    I had noticed the unintentional cursor, but didn't find out why. So, it means, I should declare the variables for the mouse cursor even if I don't intend on using it ?
  • kuronekokuroneko Posts: 3,623
    edited 2013-01-16 05:02
    pjr wrote: »
    So, it means, I should declare the variables for the mouse cursor even if I don't intend on using it ?
    Exactly, I noticed the comment above which actually says that you need 6 bytes from here ... or simply use a driver which doesn't need so much extra setup.
  • lanternfishlanternfish Posts: 366
    edited 2013-02-12 22:54
    Thanks for this.
    I haven't played Core Wars in ages (a decade or so).
    I am looking forward to implementing it on a spare protoboard.
Sign In or Register to comment.