Welcome to GameHourz.com!
FAQFAQ      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

Warrior: Skybuck's DeathRayV2 (Time for some new warriors/..

 
   Game Forums (Home) -> Core War RSS
Next:  Skybuck's AsynchronousFlagsV1 (Like Skybuck's Mar..  
Author Message
Skybuck Flying

External


Since: May 25, 2006
Posts: 295



(Msg. 1) Posted: Sat Dec 08, 2007 5:44 pm
Post subject: Warrior: Skybuck's DeathRayV2 (Time for some new warriors/warrior concepts ! =D and fun stuff to look at !)
Archived from groups: rec>games>corewar (more info?)

;redcode
;name DeathRayV2
;author Skybuck Flying
;version 2
;strategy unknown ? massive bombing, DEATH RAY ! =D unfinished yet though.
;date 8 december 2007
;history version 1 and 2 created on 8 december 2007
; There I have had enough now of writing all kinds of concepts.
; Time to write some nice warriors, who are fun too look at and might still
be interesting ideas.
; I had an idea for a warrior: A death ray across the screen, fun too look
at it and might be efficient as well.
; since normal little bomber waste 50 procent of their time own executing a
loop and 50 procent placing bomb.
; Skybuck's death ray will use 63 threads or so to bomb a vertical line, and
one thread to tell the bomber where to bomb on the next horizontal line
; since all threads go right... the next instruction will need to be placed
right so that all threads execute that.
; there will only be one thread which will place the instruction on the
right side at just the right time... right after all threads executed nice
eh.
; actually only the last thread has to copy such an instruction.

; so let's see how we could write something like that...
; first I need a vertical bomber.
;
; add #128 comes to mind. however this is not atomic...
; hmm seems nasty... seems only way to make a vertical bomber real fast is
eh.. multiple threads executing on a horizontal line on different cells...
; could be done by will make the warrior big. big benefit however is that
all threads constantly place a bomb and only one thread needs to loop back
nice idea.
;
; Let's write something that works that way first we need a bomb at the back
of the program
; then we need a jump to jump back to somewhere on the bomber begin Smile
;
; now we need instructions to bomb a vertical line...
; it would be nice if the instructions can be modified so that the will bomb
the next vertical line on the next round.
; this would mean some auto increment. and that can only be done with
indirect increment...
; so some parts of the program might need to be data indexes containing
stuff.
; let's write a mini version first to see how it could work.
;
; Excellent it works exactly as I thought it could/should/would work ! =D
YEAH =D
;
; There is now little benefit to doing in multi threaded...
;
; Let's create a program initializer which can copy these things or
something.
;
;
; Let's first create 63 mov instructions and 63 dat instructions then we
figure out how to modify them.

; data must be at the start of the program because the back of the program
will be overwritten with instructions to be used ! Wink Smile
;
; YES A NEW WARRIOR IS IN THE MAKING ! =D
;
; STAY TUNED FOR MORE DEATH RAY IN THE FUTURE =D
;
; IMPROVEMENT SUGGESTIONS AND IDEAS ARE WELCOME ! =D ARGHAARGHARGHAHAHAHAHA
EVIL LAUGH =D
;
; For now the warrior kills itself on the long run. (Untested yet versus
other warriors but I expect it should win a few Wink)
;
; Just testing the concept/idea for now =D Soon I will do some warior fights
after posting this Wink Smile
;



DeathRayBegin

jmp DeathRayConstructorBegin

DeathRayConstantsBegin

DeathRaySize equ 61

DeathRayConstantsEnd

DeathRayDataBegin
DeathRayBomb dat $0, $0

DeathRayMovInstruction mov $0, >DeathRaySize + 1 ; plus 1 for jump
instruction

DeathRayJmpInstruction jmp $-DeathRaySize

DeathRayDatInstruction dat $0, $0

DeathRayIndex dat $0, #DeathRayEnd
DeathRayDataEnd


DeathRayConstructorBegin

DeathRayConstructMovInstructionsBegin

DeathRayConstructMovInstructionWhileGreaterThanZeroBegin
; create mov instructions
; place the mov instruction, and increment to next position
mov DeathRayMovInstruction, >DeathRayIndex

; decrement death ray counter and repeat until zero
djn DeathRayConstructMovInstructionWhileGreaterThanZeroBegin,
#DeathRaySize

DeathRayConstructMoveInstructionWhileEnd

DeathRayConstructJmpInstructionBegin

; place a jmp instruction at the end
mov DeathRayJmpInstruction, >DeathRayIndex

DeathRayConstructJmpInstructionEnd

DeathRayConstructMovInstructionsEnd

DeathRayConstructDatInstructionsBegin

DeathRayConstructDatInstructionWhileGreaterThanZeroBegin

; create dat instructions

; change dat instruction in b
add.ab #127, DeathRayDatInstruction

; place dat instruction, and increment to next position
mov DeathRayDatInstruction, >DeathRayIndex

; decrement death ray counter and repeat until zero
djn DeathRayConstructDatInstructionWhileGreaterThanZeroBegin,
#DeathRaySize
DeathRayConstructDatInstructionWhileEnd

DeathRayConstructDatInstructionEnd

DeathRayConstructorEnd

DeathRayEnd
nop $0, $0

 >> Stay informed about: Warrior: Skybuck's DeathRayV2 (Time for some new warriors/.. 
Back to top
Login to vote
Skybuck Flying

External


Since: May 25, 2006
Posts: 295



(Msg. 2) Posted: Sat Dec 08, 2007 5:50 pm
Post subject: Re: Warrior: Skybuck's DeathRayV2 bombs with movs ? must be bug... it should use bombs ! oh man ! gotta fix it ! ;) :) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hmm I see there is a bug in it or something.

I didn't plan on it to start bombing mov instructions.

It should bomb with bomb instructions hmmm me gotta check that out !

And possibly fix it ! Wink

Bye,
Skybuck.

 >> Stay informed about: Warrior: Skybuck's DeathRayV2 (Time for some new warriors/.. 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
My first warrior. - Watch him run in pMARS with the default window size for full effect. ;redcode-94 ;name HeathTest01 ;author Heath Caldwell ;assert 1 linelen equ (157) blocklen equ (5) org start x dat #0, #0 y dat ...

AI warrior. - Hi everybody. I'm totally new to this field, so I'm sorry if the question sounds silly...... Does anybody have designed a warrior using AI techniques (like fuzzy logic or Neural Network)? Do you think that such a technology could be too much "heavy...

tiny warrior: desTiny - R.I.P. Destiny After pushing off i would like to publish desTiny. desTiny was based on "Soft as Silk" which get an nice age on tiny. I have changed the decoymaker in front to an 2c-quickbomber which gave him nice extra points. After boot i ju...

Score Surface for 94nop - Hi, some anonymous person (still called "bvowk" for simplicity ;-) is so kind to provide access to a pile of computers. I have suggested to calculate one score surface for standard settings. It takes roughly 1000 times the time of one "no...

Bug in pMARS - Hi, either I don't know how EQUs work or I have found a bug in the parser of pMARS. So far I cound pin it down to: ;redcode-tiny ;name test ;assert CORESIZE == 800 v3 EQU 3 * (3 / 2 + 1) + 3 v4 EQU (CORESIZE - v3) dat.f v3, v4 With the..
   Game Forums (Home) -> Core War All times are: Ekaterinburg, Islamabad, Karachi, Tashkent (change)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



[ Contact us | Terms of Service/Privacy Policy ]