Aktuelle Zeit: 29.03.2024, 09:31

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 42 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 03.12.2007, 18:02 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
Update 2
Die Sprache selber hat sich nicht verändert, aber der debugger ist wesentlich benutzerfreundlicher geworden!
ER kann jetzt:
-Die simulationsgeschwindigkeit in Echtzeit änder
-Einzelschritt Modus
-die Simulation neu starten^^
-play / pause
-einzelnde Zellen disassemblen/den inhalt anzeigen
-alle infos über einzelnde threads anzeigen (Register Flags, owner etc.)
-einige codebeispiele mehr..
-limited threads (max 128)
-memory breakpoints im Debugger

UPDATE:
http://rapidshare.de/files/37971740/CodeWar01.rar.html


Zuletzt geändert von TGM am 04.12.2007, 15:20, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 03.12.2007, 19:57 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Huh, und ich wundere mich, warum meine schöne Makefile nicht mehr funzt -.-
Du hast da Objektdateien zu den Sourcecodes gemischt.
Naja, dann probier ichs noch mal... aber ohne meine ASM-Vorkenntnisse wäre ich sowas von verloren mit dem Spiel...

EDIT: Ich bekomme da einen Segfault:
Zitat:
Starting program: /shared/downloads/CWsource/codewar
(no debugging symbols found)
Irrlicht Engine version 1.4
Linux 2.6.22-gentoo-r8 #1 Mon Oct 29 19:44:14 CET 2007 x86_64
Creating X window...

Program received signal SIGSEGV, Segmentation fault.
0x0000000000411fcb in grafikObj2D::grafikObj2D ()
(gdb) bt
#0 0x0000000000411fcb in grafikObj2D::grafikObj2D ()
#1 0x000000000040d47a in Arena::Arena ()
#2 0x0000000000407f20 in main ()

Guck ich mir später mal an, erst muss ich deinen Bot schlagen.

EDIT 2:
Zitat:
Bot1 Wins: 4
Bot1 Ties: 82
Bot1 Lost: 1

Hmmm... Immerhin schon 4:1. Irgendwie muss ich meinen Bot noch schneller bekommen, dass deiner stirbt, bevor das Spiel zu Ende ist.

_________________
Meine Gameengine :)
Bild


Zuletzt geändert von thephoenix am 03.12.2007, 20:17, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 03.12.2007, 20:17 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
hmm.. wartemal.. kann sein, das bei der source ne grafik fehlt.. -> kurz bei rapidshare vorbeiguck^^
ok.. shit.. sry..
musst aus buttons.PSD nenBMP machen, oder das buttons.bmp aus der binary nehmen.. dann sollte es laufen -_- stupid me.. sry..


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 03.12.2007, 20:31 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
kann wer ne anleitung schreiebn? :P brauch ne readme

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 03.12.2007, 20:32 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
:shock: :shock: guck mal im ordner "doc" in englisch und deutsch^^ (öhm.. oder hab ich den auch vergessen??)
nope.. is drinnen^^
(werde für den nächsten release nen readme in das hauptverzeichniss packen^^)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 03.12.2007, 21:11 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Zitat:
.autor phoenix64

.name Zwergenschleuder

.description One dwarf just isn't enough.



.begin
mov 1200 EAX
mov 9 EBX

// Copy dwarf
mov [EBX] [EAX]
inc EAX
inc EBX
cmp EBX 12
jne -4

// Create thread
add -7 EAX
create EAX
// Drop the next dwarf somewhere else
add 1500 EAX
jmp -9

// Simple dwarf
mov 0 [ECX]

add 3 ECX

jmp -2

Der schrubbt deinen hier verlässlich 3:2 :)

Hier noch ein erfolgloser Versuch eines Multithreadingsplitbombers:
Zitat:
.autor phoenix64

.name minelayer

.description Multithreading split bomber



.begin

// Only copy code if there are < 2 copies
mov 0 [0]
add 1 [-1]
cmp [-2] 3
jie 9

// Copy loop
mov 2000 EAX
mov -6 EBX
mov [EBX] [EAX]
inc EAX
inc EBX
cmp EBX 18
jne -4
create 1996

// Split bombs
mov 17 eax
mov [9] [eax]
mov [9] [eax]
add 8 eax
cmp eax 1980
jis -4

// Data bombs
mov 6 eax
add 4 eax
mov 0 [eax]
jmp -2

// Data used for split bombs
create 0
jmp -1


So. Übrigends sind die Buttons noch nicht sehr aussagekräftig.
Und das system("cls") sollte man in sowas umwandeln:
Code:
#ifdef WIN32
system("cls");
#else
system("clear");
#endif


Außerdem funzt seit neustem das ganze hier iwie nicht mehr mit dem Softwarerenderer -.-

EDIT:
Argh... mein Minenleger zerlegt grade die Zwergenschleuder -.-

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 03.12.2007, 21:22 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
Die zwergenschleuder ist klasse^^
schon beim Namen hab ich mich totgelacht^^
Jetzt bin wohl wieder ich an der Reihe^^ 8)
thx für die Tipps... das mit den Buttons wird schon passen.. hoffe ich... (kommt noch in die Doku)
was auch noch kommt ist ne begrenzung auf 30-60 threads oder so..
ok.. mach mich mal ran...


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 04.12.2007, 11:27 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
Ok.. mein gegenschlag ist jetzt da!
Code:
.autor TGM

.name bloodSucker

.description 2 stage bomber, 1stage the very smallest possible controlled bombing with splits, 2 simple dwarf

.begin
mov -6300 EAX
mov [9] [EAX]
add 5 EAX
jne -2         //splitbombLoop end
mov -6380 EAX
mov 0 [EAX]
add 2 EAX
cmp eax -10
jne -3      //databomb loop end
jmp -5      //restart without killing yourself
create 0 //splitbomb


Code:
.autor TGM

.name bloodSucker2-improved version

.description 2 stage bomber, 1stage the very smallest possible controlled bombing with splits, 2 simple dwarf

.begin
mov -6300 EAX
mov [9] [EAX]
add 5 EAX
jne -2
mov -6380 EAX
mov [5] [EAX]
add 2 EAX
cmp eax -10
jne -3
jmp 2
create 0
mov -6380 EAX
mov 0 [EAX]
add 1 EAX
jmp -2


Der putzt alles bisherige ziemlich gründlich weg^^
Leider kann ich nicht genau berrechnen in was für nem verhältniss, der Profiler kommt nicht mit 10K threads klar ^^ Für die nächste version gibt es dann nen thread limit..
Hab noch nen bug gefixt (addressen < -6400-EIP haben zu nem absturtzt gefüht..)
Gibt also heut nochmal nen neue version.. noch irgentwas, das rein muss?? ach ja.. ne ingame console.. die orginalconsole nervt.. mal gucken, ob das heute auch noch kommt^^
Oh.. jo.. dazu kommen noch die Breakpoints... und ne kleine änderung, mann muss jetzt zelen zum disassemblen nicht mehr anklicken..
Du bist drann!


Zuletzt geändert von TGM am 04.12.2007, 15:21, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 04.12.2007, 13:47 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
menno die doku blick ich irgentwie net kann das ma wer kurz bissle einfacher erklären zb.
was das ziel de spiels, wie nimmt man zellen ein, wie funzen die zeiger, was hat das mit den 4 variablen af sich?

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 04.12.2007, 15:08 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
Ok.. Ziel des Spiels:
Plätte den gegner (bringe alle seine threads zum absturz. indem man ihn nen ungültigen code ausführen lässt..)
mov 0 [100] würd 0 in die Zelle momentane position + 100 schreiben.. 0 ist kein gültiger code, wenn das nen gegner ausführt.. buum weg isser..
Zeilen erobern tust du über mov^^ wer hätte es gedacht mov [0] [1] kopiert die aktuelle zelle ([0]) in die Nächste ([1]) dann wird das programm in der nächsten Zelle weitergemacht.. in der nach unserem Kopienren wieder mov [0] [1] steht.. usw..
Die herausvorderung ist es, das Programm so klein und schnell und unempfindlich gegen andere Attacken zu gestalten wie möglich..
So, hier nen update: (source beiligend)
http://rapidshare.de/files/37971740/CodeWar01.rar.html
features:
-verbesserte doku
-thread limit 128
-breakpoints
-der hässliche bug mit den negativen pointern wurde gefixt

und noch zwei nicht im update enthaltende Codes von BlindSide im irrlicht,org Forum:
Code:
.autor BlindSide

.name SnakesOnAPlane

.description The true snakes on a plane.

.begin

mov 500 eax
add 500 eax
mov [4] [eax]
sub 2 eax
create eax
jmp -4
mov [0] [1]


Code:

.autor BlindSide
.name Shitloads of Bombers
.description Lots and lots of bombers
.begin

mov 500 eax
add 200 eax
mov [7] [eax]
mov [7] [eax]
mov [7] [eax]
mov [7] [eax]
sub 5 eax
create eax
jmp -7
mov 1050 eax
mov 0 [eax]
add 3 eax   
jmp -2


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 04.12.2007, 18:17 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
kP, ob sich du da jetzt irgendetwas geändert hast, aber ich jag grad die Zwergenschleuder gegen deinen zweiten Bot und es steht 5:0 (21 Ties).
Dein Bot ist grundsätzlich zu langsam, die Runde ist zuende, bevor meiner tot ist.
Ich probiers grad mal mit ner neueren Version des Profilers (btw, der funzt hier prima).

EDIT: Ich benutze noch die erste Version. 9:0, 63 Ties.

EDIT2: Joa, hat sich was geändert :p

_________________
Meine Gameengine :)
Bild


Zuletzt geändert von thephoenix am 04.12.2007, 18:30, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Code::WAR
BeitragVerfasst: 04.12.2007, 18:30 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
mom.. meinen zweiten?? meinst du die von BlindSide?? die sind nicht besonders stark, (obwohl der erst nur ganz knapp schlechter ist..)
weil ich mit Bloodsucker immer ziemlich viel besser score als zwergenwerfer/minenlayer.. w8.. ich gucks grad nochmal nach.. anyway..
die nächste version von Bloodsucker: armysOfUndead (zwei befehle kürzer...)
scored:
11:3 gegen Zwergenwerfer
5:1 gegen minelayer...
9:10 gegen bloodsucker^^ merkwürdig-_-
5:1 gegen stormwind
8:6 gegen mousetrap ^^ ersctaunlich fidel dein alter^^

Code:
.autor TGM

.name armysOfUndead (a smaller and thus faster version of bloodSucker)

.description 3 stage bomber: s1: paralize the enemy, s2: fix every single process, s3 KILL!

.level 6

mov [9] [EAX]
add EBX EAX
jne -2      //stage currently running?
div 2 EBX   //modefy for stage two
cmp EBX 1   //stage two->jump to [6]?? or three??   
jne 6      //three??->modifie all that shit
mov [2] [-6] //modefy for stage three   
jmp 4
mov 666 [EAX]    //datas used for bombing
create 0      //datas used for bombing   
.begin
mov 5 EBX
mov -6300 EAX
jmp -12


jo: 2 sachen haben sich geändert:
1) 5x soviel zeit (weniger unentschieden)
2) max 128 threads -> wer von ner splitbombe getroffen wird ist nicht gleich gaaaannz weg vom fenster...


Zuletzt geändert von TGM am 04.12.2007, 19:00, insgesamt 2-mal geändert.

Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 42 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de