Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Core War

Diskussion: Core War im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Ich weiß eigentlich gar nichtmal ob das das richtige Forum ist aber es ist diesem wohl am ehesten zuzuordnen. ...

Antwort
Alt 09.11.05, 19:05   #1 (permalink)
 
Registriert seit: 05.04.04
Orniflyer Leistung: Z3
Orniflyer eine Nachricht über ICQ schicken
Likes: 13
Standard Core War

Anzeige

Ich weiß eigentlich gar nichtmal ob das das richtige Forum ist aber es ist diesem wohl am ehesten zuzuordnen. Sollte ein Mod/Admin es besser wissen entschuldige ich den Threadschiebaufwand.

Vielleicht (aber wahrscheinlich eher nicht) knnt hier jemand "Core War" Das ist beileibe alles andere als ein gewöhnliches Spiel da es auf assamblerartigen Programmen beruht und gegen einen fähigen Gegner sehr spannend ist. Auf Wikipedia gibt es wie nahezu immer die wichtigsten Informationen. Hier ! ist der Link dazu.

Bei Core War wird nahezu immer mit der Programmiersprache Redcode gearbeitet, wobei diese eigenltich nichts weiter als eine simple Assemblerartige Mini-Sprache ist mit nicht mehr als 19 Befehlen. Das Spiel fängt damit an das beide Kontrahenten ein Programm damit schreiben dessen Ziel es ist den gesamten Speicher zu füllen, den "Kern". Das Programm das über das andere dominiert und es schafft alleine im Speicher zu bleiben hat gewonnen. Klingt einfach, ist es auch, die Herausforderung liegt darin ein Programm zu schreiben das erstens diese Aufgabe schnell erfüllt und zweitens so wenig anfällig wie möglich auf gegnerische Angriffe oder "Fehler" ist. Fehler sind hierbei wenn sich Programmteile vermischen was ohne weiters passieren kann. Das Pogramm darf natürlich auch nicht zulang sein da es ansonsten sehr fehleranfällig ist.
Das so ziemlich simpelste Programm besteht aus nur einer Zeile und heißt "Imp":

MOV 0, 1

Zweck dieses Programms ist es ganz einfach sich immer wieder in den nächsten Slot des Kerns zu kopieren. Dann wird der nächste Slot ausgeführt und somit schreibt sich das Programm weiter und weiter ... Simpel und ziemlich effektiv. Aber es hat auch Nachteile, naja, ich will jetzt nicht zu sehr ausschweifen.

Was haltet ihr von dem Spiel ?

Nebenbei könnt ihr Hier ! näheres zu Redcode erfahren und Hier ! noch mehr zu Core Wars, unter anderem eine Art "Emulator" des Ur-Mars-Rechners der früher für Core Wars verwendet wurde.

Orniflyer ist offline   Mit Zitat antworten
Alt 10.11.05, 18:19   #2 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Ich kannte das spiel noch gar nicht. Aber ich muss sagen ich bin schon süchtig

Hier mein erster Warrior. CoreSentry
Naja ist zwar ziemlich einfach zu besiegen. (Der Hauptcode bleibt an einer Stelle und erzerstört sich elber nach einiger zeit)), aber er durchsetzt den Kern doch ganz schön mit DATs.

Code:
;redcode

;name		CoreSentry
;version	0.1
;author		+++ATH0
;date		2005-Nov-09
		
;strategy	kill_the_opponent

JMP +2
DAT #1000
MOV -1, @-1
SUB +5, -2
JMN -2, -3
SUB #1, -4
SUB #3, +2
JMP -5
DAT #10
Ich benutze als Simulator:

http://harald.ist.org/ares/


Bei 10 Battles : (Man beachte Punktevergabe)
CoreSentry vs. IMP = 18 : 6
CoreSentry vs. littleFighter = 12 : 18
CoreSentry vs. Dwarf = 18 : 12
CoreSentry vs. Seeds Of Terror = 19 :10
CoreSentry vs. LittleSeeder2 = 17:11

Schreibt mal euers. Ich lass es battlen

EDIT:

Neuer Warrior

Er heisst CloneBeholder

Code:
;redcode

;name		CloneBeholder
;version	0.2
;author		+++ATH0
;date		2005-Nov-10
;strategy	Clone And Overwhelm

ORG Start


	JMP    -2                  
Data	DAT    #1000                
	ADD    #-1, 	+1  
     Start               
	MOV    #1337,    -5        
	MOV    -2,       @-3       
	ADD    #1,       Data        
	MOV    -3,       @-5       
	ADD    #1,       Data        
	MOV    -8,       @-7       
	SPL    @Data
	ADD    #100,     Data      
	JMP    -7
30:0 gegen CoreSentry bei 10 Läufen.
+++ATH0 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 10.11.05, 20:57   #3 (permalink)
Themenstarter
 
Registriert seit: 05.04.04
Orniflyer Leistung: Z3
Orniflyer eine Nachricht über ICQ schicken
Likes: 13
Standard

Schön das das Spiel dir gefällt

Dann lass deinen Warrior mal hiergegen antreten :

Code:
;redcode-b
;name Crazy Engine
;author Orniflyer

inc	DAT	<-2936,<-2936
loop1	MOV	splb,*2
	MOV	jmpb,@1
	MOV	-2938,*-2936
	ADD.F	inc,-1
	DJN	loop1,#999
splb	SPL	0,<-3
	MOV	inc,<1
jmpb	JMP	-1,<-3

        END     loop1
Bin gespannt wer gewinnt

Orniflyer ist offline   Mit Zitat antworten
Alt 10.11.05, 21:03   #4 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Ergebnisse:

1. Crazy Engine : 36
2. Clone Avenger : 30 //Schade. Aber er wird noch verbessert
3. Core Sentry : 24

Starker Warrior.
+++ATH0 ist offline   Mit Zitat antworten
Alt 10.11.05, 21:45   #5 (permalink)
Themenstarter
 
Registriert seit: 05.04.04
Orniflyer Leistung: Z3
Orniflyer eine Nachricht über ICQ schicken
Likes: 13
Standard

Bomber/Core Cleaner sind immer ziemlich stark

Aber deiner ist auch verdammt gut, hat mich echt überrascht, meine ersten Warriors waren ziemlich bedürftig. Hat ne ziemliche Weile gedauert bis ich mich vom Imp Muster gelöst hab Momentan will ich nen effizienten Core Cleaner bauen aber so richtig will's mir nicht gelingen.

Hier ist der Code für nen Warrior von nem Freund, ich bin völlig unterlegen, wie zur Hölle besiegt man den ?!? Dumme Replikatoren

Code:
;redcode-94
;name Chillie
;author Yoshi
;strategy replicator

start   spl     1,      <300    
        spl     1,      <150    
        mov     -1,     0       
silk    spl     3620,   #0      
        mov.i   >-1,    }-1     

        mov.i   bomb,   >2005  
        mov.i   bomb,   }2042  

        add.a   #50,     silk   
        jmp     silk,   <silk  
bomb    dat.f   >2667,  >5334
kannst den ja mal auch in Testläufe einbeziehen, ich bin von dem bisher bei meinen meißten warriors besiegt worden.




/edit:

Hier noch ein anderer Warrior, extrem schnell und einfach aufgebaut, ein rückwärtslaufender Stone Imp. Man kann nur immer wieder staunen wie diese Imps auch die komplexesten Warrior zu Grunde richten:

Code:
;redcode
;name Stonefinger
;author Orniflyer+Yoshi
;strategy fast stone imp

m0       mov    mm   ,{mm
         djn.a  -1   ,mm
         spl    #0   ,<-5
mm       mov    -7   ,1
Orniflyer ist offline   Mit Zitat antworten
Alt 10.11.05, 22:38   #6 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Heftiges Ding

Ranking /Score :

1. Chillie : 85
2. Crazy Engine: 65
3. Clone Beholder: 49
4. Stome Finger: 37
5. Core Sentry: 33

Aber echt geiles Spiel. Gibts schon so lange und noch nie wat von gehört. Danke für den Hinweis btw.

EDIT: Detaillierte Ranking Tabelle. Im Anhang.

Welchen MARS nimmst du eigentlich? pMarsV ?
Angehängte Grafiken
Dateityp: png Ranking.png (5,3 KB, 2036x aufgerufen)
+++ATH0 ist offline   Mit Zitat antworten
Alt 11.11.05, 01:45   #7 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

was ganz einfaches von mir (muss mal am WE die Doku lesen - bin nur bis zu den Anfängen gekommen):
Code:
;redcode
;redcode

;name		<NEW_WARRIOR>
;version	1
;author		cdw
;date		2005-Nov-11
		
;strategy	kill_the_opponent

add #6,5
sub #7,5
mov 3,@3
mov 3,@3
jmp -4
one dat #0,#1600
two dat #0,#-2600
liegt in etwa gleich mit CoreSentry, schlägt dafür aber die CrazyEngine

NEW_Warrios: Wins 7, losts 3,kills 7, Score 21

EDIT:
Das kriegt zwar Chillie nicht tot aber sonst sollte es besser laufen.
Code:
;redcode

;name		<NEW_WARRIOR>
;version	1
;author		anonymous
;date		2005-Nov-11
		
;strategy	kill_the_opponent

add #3,5
sub #3,5
mov 3,@3
mov 3,@3
jmp -4
one dat #0,#1600
two dat #0,#-2600
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 12.11.05, 00:48   #8 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Also ich glaube ja die Suche nach einem Warrior, der die Crazy Engine UND Chillie besiegt, ist wie die Suche nach dem heiligen Gral.
(Jetz weiss ich warum, SG1 aus StarGate immer soviele Probs mit den Replikatoren hatten )

Also ich krieg die Reps ums verrecken nicht tot. Sowas ist ja echt mal dreist.

Naja, ich hab alle Warriors (ausser diesen IMP) mal durchn Tournament geschickt:
Angehängte Grafiken
Dateityp: png Rank.png (25,9 KB, 1886x aufgerufen)
+++ATH0 ist offline   Mit Zitat antworten
Alt 12.11.05, 00:58   #9 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

@ATH0: aber was für ein Unterschied schon durch das bloße anpassen der Zahl da ist (zumindest bei mir ersichtlich ). Ich muss mir aber eine bessere Dokuseite suchen - alle Möglichkeiten kennenlernen und dann den Ultimativen Warrior schreiben
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 12.11.05, 01:05   #10 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Wie wärs mit dem hier? Kennst du den schon?

http://vyznev.net/corewar/guide.html

Aber das les ich mir heut nich mehr durch (bzw. diese Nacht). So spät noch Englisch und Assembly/redcode zusammen ...ne *schüttel*

Gute Nacht zusammen
+++ATH0 ist offline   Mit Zitat antworten
Alt 12.11.05, 19:20   #11 (permalink)
 
Registriert seit: 14.06.05
lumax Leistung: Facit NTK
Likes: 0
Standard

Klingt ziemlich interessant, auch wenn ich Assembler sonst nicht gerade mag.
Das gelinkte Redcode-Tutorial hab ich mir durchgelesen. Gibt es irgendwo vielleicht noch allgemeinen Kram zu Strategien usw. in Core War?

Als Simulator verwende ich einen SDL-Port von pMARS (Gentoo hat das Ding im Paketmanager, wie's bei anderen Linux-Distros aussieht, weiß ich nicht).
lumax ist offline   Mit Zitat antworten
Alt 12.11.05, 22:03   #12 (permalink)
 
Registriert seit: 14.11.04
Kan00s Leistung: Facit NTK
Likes: 0
Standard

Hab mir das ganze mal angeschaut. Hab zwar von Assembler nicht richtig viel Ahnung, hab aber trotzdem mal versucht den Replikator zu schlagen.... und ich sage nur scheiss Replikatoren, die killen alles was ich zusammen gebastel hab
würde mich auch mal interresiern obs eine Seite mit Strategien für Core War gibt.
Oder gibts irgendwo eine ausführliche Anleitung auf Deutsch?
Kan00s ist offline   Mit Zitat antworten
Alt 14.11.05, 18:01   #13 (permalink)
 
Registriert seit: 14.06.05
lumax Leistung: Facit NTK
Likes: 0
Standard

So, ich hab auch mal was gecodet. Das ganze ist ein (relativ einfacher, großer, langsamer, schlechter) Replikator.
Code:
;redcode-94
;author lumax
;name testbot01
;strategy replicator

org start

count  dat    #0,     #200
start  djn    2,      #13
       jmp    3,      <-3
       mov    }count, >count
       jmp    -3,     <-5
       sub.ab #11,    count
       add.ab #2,     @count
       mov.a  #0,     count
       spl    @count, <-9
       add.ab #99,    count
       mov.ab #13,    start
       jmp    start,  <-12
Bei meinen Tests lag der etwa gleichauf mit Clone Beholder.

Oh, und dem Ding sterben nach einer Weile ein ganzer Haufen Prozesse weg, weil ich die "Schrittweite" etwas ungeschickt gewählt habe, das Teil überschreibt oft seine eigenen Kopien.

Edit:
Zur "Schrittweite": ich hab mal testweise die von Chillie in meinen Warrior übernommen, das macht auch keinen wirklichen Unterschied.
lumax ist offline   Mit Zitat antworten
Alt 15.11.05, 21:14   #14 (permalink)
 
Registriert seit: 21.07.05
Cube Leistung: Facit NTK
Likes: 0
Standard

hiho!
Kann vielleicht jemand mal auf deutsch etwas ausführlicher erklären wie das funktioniert und was man dafür benötigt(hab Ubuntu5.10),denn ich kann zwar Englisch aber halt nur das was man in der schule lernt und unsere Lehrerin ist naja einwenig inkompetent...
Würde mich sehr über eine Erläuterung freuen...
Hab mir den Wikipedia-Artikel schon durchgelesen, und weiß grob worum es geht,aber worum genau hab ich nicht verstanden...
Thx

MfG
Cube
Cube ist offline   Mit Zitat antworten
Alt 15.11.05, 21:24   #15 (permalink)
 
Registriert seit: 09.01.05
Imrahil Leistung: Facit NTK
Likes: 0
Standard

Harhar, erzittert vor mir einfache sterbliche, ich habe den Nanohill geentert ^^

Code:
;redcode-nano
;name SuperSentryV
;author J.J. 'Imrahil' Wingert
; Thanks to S.Fernandes who gave me good advice during the creation
;strategy Scans for any value not 0,0 and bombs it
;assert (CORESIZE==80) && (MAXPROCESSES==80)
;assert (MAXCYCLES==800) && (MAXLENGTH==5)
;assert (MINDISTANCE==5)

           org      scanner                  ; setzt den startpunkt auf scanner
somewhere  equ      43                       ; definiert somewhere als 43
scanstep   equ      -5                       ; definiert scanstep als -5
scanstart  equ      -11                      ; definiert scanstart als -11
scanstep   add.ab   #scanstep,1              ; Schritt 2: erhöht den b-value um scanstep (# beachten das ist der Identifier der scanstep als Zahl behandelt) zurück zu schritt 1
scanner    jmz.f    scanstep, scanstart      ; Schritt 1: Jump if scanstart = $0,$0 zur Position scanstep
           mov      bomb,>scanner            ; Schritt 3: Wenn an scanstart etwas anderes als $0,$0 (standardwert, auf jeden Fall ein uninteressanter Fleck!) ist kopiere den string bei bomb an die Position des Werts des B-Felds von scanner und erhöhe dieses Feld gleichzeitig um 1
           jmp      scanner, <somewhere      ; springt nach erfolreichem Bomben zurück zu scanner und platziert an der Stelle somewhere (hier 43) einen decrease
bomb       dat      0,0                      ; die Bombe
           end                               ; Der Endpunkt
Platz 5 und mit dem Konzept hab ich gestern sogar zeitweise den zweiten Platz gehabt
Und zum Konzept von dem Spiel, naja, es gibt auch ein paar weniger qualitative Anleitungen auf Deutsch...
Ich benutze aber auf anraten eines Corewar spielers das sehr gute Programm Corewin (Windows). http://www.geocities.com/corewin2/
Ich kann dir nur sagen lies dir einfach diese Anleitungen durch, auch wenn du nicht alles verstehst.
Es reicht meistens ein grobes verständnis von dem was du da hast und dann kannst schon loslegen.
Meine Empfehlung: irc://irc.koth.org/corewars
#corewars auf irc.koth.org
Sind auch einige Deutsche Corewarler drauf.
Imrahil

*EDIT*
Machen wir den 10. Edit draus, ist alles kommentiert.
Mit etwas veränderten werten (siehe ganz unten) bin ich damit immo Platz 5 auf dem Nanohill von SAL (http://sal.math.ualberta.ca/warrior.php?key=nano)
Ist eine recht leistungsfähige und besonders kleine scannengine mit nem einfachen bomber.
Ich arbeite grad an einer etwas verbesserten bombing version.
Code:
somewhere  equ    40
scanstep   equ    -5
scanstart  equ    -11
Imrahil
Imrahil ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Core War
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dual Core... Mailyn Kaufberatung 4 19.09.07 19:44
Fedora Core 6 ist da! Indiziert Linux/UNIX 2 24.10.06 19:25
Fedora Core 4 Cube Linux/UNIX 8 11.08.05 11:21
Fedora Core 4 out now !!! fishboard News & Ankündigungen 3 13.06.05 20:03
mit Core Center Hellcony Die Problemzone 0 31.05.05 13:52


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61