Hackerboard WikiHaboWeb Linkverzeichnis

[HaBo]

major security
 
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; Ich weiß eigentlich gar nichtmal ob das das richtige Forum ist aber es ist diesem wohl am ehesten zuzuordnen. Sollte ...

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


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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 10.11.05, 17:19   #2 (permalink)
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
Karma: 47
+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 10.11.05, 19:57   #3 (permalink)
Themenstarter
 
Registriert seit: 05.04.04
Karma: 19
Orniflyer Leistung: 8086
Orniflyer eine Nachricht über ICQ schicken
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 10.11.05, 20:03   #4 (permalink)
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
Karma: 47
+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 10.11.05, 20:45   #5 (permalink)
Themenstarter
 
Registriert seit: 05.04.04
Karma: 19
Orniflyer Leistung: 8086
Orniflyer eine Nachricht über ICQ schicken
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 10.11.05, 21:38   #6 (permalink)
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
Karma: 47
+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 11.11.05, 00:45   #7 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
Karma: 90
CDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIII
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 11.11.05, 23:48   #8 (permalink)
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
Karma: 47
+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 11.11.05, 23:58   #9 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
Karma: 90
CDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIIICDW Leistung: SPARC64 VIII
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 12.11.05, 00:05   #10 (permalink)
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
Karma: 47
+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III+++ATH0 Leistung: Pentium III
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 12.11.05, 18:20   #11 (permalink)
 
Registriert seit: 14.06.05
Karma: 10
lumax Leistung: Facit NTK
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 12.11.05, 21:03   #12 (permalink)
 
Registriert seit: 14.11.04
Karma: 13
Kan00s Leistung: Z3
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 14.11.05, 17:01   #13 (permalink)
 
Registriert seit: 14.06.05
Karma: 10
lumax Leistung: Facit NTK
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 15.11.05, 20:14   #14 (permalink)
 
Registriert seit: 21.07.05
Karma: 12
Cube Leistung: Z3
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Alt 15.11.05, 20:24   #15 (permalink)
 
Registriert seit: 09.01.05
Karma: 11
Imrahil Leistung: Facit NTK
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  
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Mit Zitat antworten
Antwort

[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 an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dual Core... Mailyn Kaufberatung 4 19.09.07 18:44
Fedora Core 6 ist da! Indiziert Linux/UNIX 2 24.10.06 18:25
Fedora Core 4 Cube Linux/UNIX 8 11.08.05 10:21
Fedora Core 4 out now !!! fishboard News & Ankündigungen 3 13.06.05 19:03
mit Core Center Hellcony Die Problemzone 0 31.05.05 12: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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194