Jump to content
BrainDen.com - Brain Teasers
  • 0


unreality
 Share

Question

VNA

VNA stands for Virtual Node Array, and is the setting for this game, which I based loosely off of Core Wars, an old programming game... but Redcode was pretty hard to understand IMO, I think VNA Code (which I have invented over the past two days) is better and easier to learn. You need no knowledge of Redcode or Core Wars to play this game.

Back to the game.

The VNA is like a computer memory space, one-dimensional, and filled with nodes. A node is like a line of programming code. Before the game begins, all of the VNA's nodes have the BLANK command, but when the game begins, two programs are put into the VNA at random locations. The programs designed by YOU, the players of the game! They retain their order and everything, they're just placed in at a random spot in the VNA, though considerably far away from each other.

Each node refers to itself as 0, while the next line is 1 and the previous line is -1. The VNA wraps around so it's like a loop of nodes.

So in the beginning of the game, both player's programs are put into the VNA, and then each player starts with one 'executor'. An executor starts at the beginning line of the player's program and then executes that node, then the next, etc.

In one round, Player 1 (P1)'s executor executes one node, and P2's executor does the same. Then in the next round, etc.

Using the SPLIT and MERGE commands, new executors can be made or deleted. Let's say P1 has 2 executors while P2 has 1. The game would proceed like this:

Round One

* P1's first executor

* P2's executor

Round Two

* P1's second executor

* P2's executor

etc. Each player can have up to four executors running at any one time.

The goal of the game is to destroy the opponent's executors and be the sole master of the Virtual Node Array! Note that once your initial executor starts running, you have no more impact in the game except to see the outcome.

So how to program in VNA Code?

First, the commands. Each node is essentially a command. Each command (except BLANK) is followed by three values: a,b,c. If not specified, they are assumed to be zero. I call the a/b/c values input vectors, and they can be either a number or a function (will get to functions next).

The commands:


COPY a,b	   copies line a into line b (overriding the current line b)

JUMP a		 jumps execution to line a

BOMB		   destroys the executor that executed this node

SPLIT a		creates a new executor which begins running at line a. Cannot create more than four

MERGE		  deletes the most recently created executor. Cannot delete the initial executor

EDITA a,b	  a is the line number, b is the new a value for that node

EDITB a,b	  a is the line nummber, b is the new b value for that node

EDITC a,b	  a is the line number, b is the new c value for that node

BLANK		  what the original VNA is filled with. You can use BLANK commands too, it's basically a "do-nothing" command. BLANKs cannot hold a/b/c values like other commands can


Note that there are no 'c' fields in usage, but I left the possibility open for both data storage and in case I add more commands later that need a third input value as well


So, a/b/c values are either numbers (usually line numbers, remember that each node refers to itself as line 0) OR functions. So what are functions?


The functions:


a(n)			returns the a value of the node at line n

b(n)			returns the b value of the node at line n

c(n)			returns the c value of the node at line n

add(m,n)		returns m+n

sub(m,n)		returns m-n

mul(m,n)		returns m*n

div(m,n)		returns m/n

mod(m,n)		returns the remainder of m/n

pow(m,n)		returns m^n

com(m,n,o,p,q)  compares m & n. If they are equal, returns o. If m>n, returns p. If n>m, returns q

exe()		   returns the number of executors that you have currently running

num()		   returns the number of lines in the VNA

That's all I've got right now, but I think it's enough. You can nest functions within functions, in case you were wondering - in fact I do that in my example program. I call it 'The Bomber'

COPY 3, 4

EDITB -1, add(b(-1), 1)

JUMP -2

BOMB

Whoa! What's that do? The COPY command copies line 3 (which would be the BOMB) into line 4 (just a BLANK before, now it's a BOMB too). So this part of the VNA looks like this now:

COPY 3, 4

EDITB -1, add(b(-1), 1)

JUMP -2

BOMB

BOMB

In the next round, the next line is executed. The command on this node is EDITB, which edits the b field of a certain line. That line is in EDITB's a field, which is -1, so it's editing the b field of the line right before it. The line is edited to adding the CURRENT b field value [b(-1)] with the number 1. Basically, this EDITB line is incrementing the COPY's b field by 1. So the new code looks like this:

COPY 3, 5

EDITB -1, add(b(-1), 1)

JUMP -2

BOMB

BOMB

The next line is JUMP -2, which sends the executor backwards 2 lines to the COPY node again - phew that was close, we almost hit the BOMB command!

So now the program runs all over again, except this time it copies the BOMB command to line 5 (the next BLANK). Thus, as the executor loops over these three lines, it spews out a chain of BOMBs to eventually march upon the opponent. That's why I call it the Bomber :D

This isn't the perfect Bomber - because it only spews a BOMB command every third round, and the BOMB only advances one node each time. Depending on the size of the VNA, the opponent could have destroyed you by the time you lay the tenth BOMB. One way is to, based on the number of lines in the VNA, skip a certain amount of lines to place the next BOMB.

I made this slightly more complicated program next, I call it the Bomb Evader:

SPLIT -3

JUMP com(exe(),1,4,1,1)

MERGE

EDITA -3, sub(a(-3),2)

JUMP -4

COPY 2, sub(a(-5),7)

JUMP sub(a(-5),8)

JUMP 0

It works by sending a secondary executor backwards toward the opponent, with the initial executor checking to see if it's still alive with exe(). When/if the secondary executor is killed, the executor copies the line 'JUMP 0' to that line and then jumps itself to the JUMP 0 line, thus staying in the same place while the opponent's BOMBs continue past, destroying the original program, looping back around, and killing the Bomber, while the Bomb Evader stays alive. This could fail, however, if the Bomber is, say, 4 lines long and did some math to make a BOMB every 5th line done so that if it looped back around (based on num()) it would avoid itself. Though it would also be unlikely to hit the JUMP 0

If you're interested in building your own battle program and warring with other people, post here :D The cool thing is that I can play too ;D

Link to comment
Share on other sites

  • Answers 197
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0
lol @ your sig about Romans. Did you make it up?

I was downloading a program called handbreak and i saw it there... i think the full version goes like this...

And what have they ever given us in return?

Xerxes:

The aqueduct.

Reg:

Oh yeah, yeah they gave us that. Yeah. That's true.

Masked Activist:

And the sanitation!

Stan:

Oh yes... sanitation, Reg, you remember what the city used to be like.

Reg:

All right, I'll grant you that the aqueduct and the sanitation are two things that the Romans have done...

Matthias:

And the roads...

Reg:

Well yes obviously the roads... the roads go without saying. But apart from the aqueduct, the sanitation and the roads...

Another Masked Activist:

Irrigation...

Other Masked Voices:

Medicine... Education... Health...

Reg:

Yes... all right, fair enough...

Activist Near Front:

And the wine...

Omnes:

Oh yes! True!

Francis:

Yeah. That's something we'd really miss if the Romans left, Reg.

Masked Activist at Back:

Public baths!

Stan:

And it's safe to walk in the streets at night now.

Francis:

Yes, they certainly know how to keep order... let's face it, they're the only ones who could in a place like this.

Reg:

All right... all right... but apart from better sanitation and medicine and education and irrigation and public health and roads and a freshwater system and baths and public order... what have the Romans done for us?

Xerxes:

Brought peace!

Reg:

What!? Oh... Peace, yes... shut up!

Edited by Mekal
Link to comment
Share on other sites

  • 0
@Markel, Modified you program to SMASH Unreality's Pheonix :P

It now jumps two lines at a time when planting bombs to increase the speed of finding opponent.

It also has c values to "0" out some of the code to look for sums of non zero values.

And it places a/b/c on bombs placed to confuse Pheonix

Tidal Wave ( Pheonix Killer Version :P)

copy 5;-1;0; sub(0, add(a(0),b(0))

copy 4;6; sub(0, add(a(0),b(0))

editb -2; con( add(b(-2),-2),-196, -1,add(b(-2),-2), -1) ; sub(0, add(a(0),b(0))

editb -2; con( add(b(-2), 2), 198,6,6, add(b(-2),2) ) ; sub(0, add(a(0),b(0))

jump -4;0;4

bomb 213;32;53

con should be com!

Link to comment
Share on other sites

  • 0

actually, taliesin, that still would fail :P

I don't add up the a/b/c values, that would be faulty if they added up to 0. If you look at those complicated com lines in my code, I check all three values and if at least one is nonzero then it notes it. It doesn't add them together. So I would find it and crush it long before it located me :D

Link to comment
Share on other sites

  • 0
actually, taliesin, that still would fail :P

I don't add up the a/b/c values, that would be faulty if they added up to 0. If you look at those complicated com lines in my code, I check all three values and if at least one is nonzero then it notes it. It doesn't add them together. So I would find it and crush it long before it located me :D

I realized that, one of my programs totalled the a/b/c a bit back. The bombs with a/b/c values will act as a buffer though! and slow you down

Link to comment
Share on other sites

  • 0
Yeah that was just a prediction I made, ie, IF mine had been placed 15 ahead, I would still win :D -- but for actual results:

did you test the battles on posts 112 & 115 on your emulator? They should be exactly the same as what mine, or there's an error in your emulator :D

oh and I added a 'round counter' to mine to keep track of rounds

112: Program 2 wins on round 123, where a round a round is after both programs have had a move.

115: Program 2 wins on round 115

Link to comment
Share on other sites

  • 0
Reg:

All right... all right... but apart from better sanitation and medicine and education and irrigation and public health and roads and a freshwater system and baths and public order... what have the Romans done for us?

It's a scene from Monty Python's Life of Brian about the Peoples' liberation front of Judea (or maybe it was the Judean Peoples' front ;) - only works if you've seen it!).

Any ideas on my previous question about size of commands and variables? Will send in my program when i get home in a couple of hours

Edited by foolonthehill
Link to comment
Share on other sites

  • 0
112: Program 2 wins on round 123, where a round a round is after both programs have had a move.

115: Program 2 wins on round 115

I'll run them again, this time noting the round won, and compare your results

Any ideas on my previous question about size of commands and variables? Will send in my program when i get home in a couple of hours

I already answered it.... the goal is to kill the other program, not the emulator :P There's not really an official limit but what exactly do you have in mind?

And who wants to fight Fool? I'm still working on a program and revising a new one, so who wants to go up against Foolonthehill?

Edited by unreality
Link to comment
Share on other sites

  • 0
112: Program 2 wins on round 123, where a round a round is after both programs have had a move.

115: Program 2 wins on round 115

Alright, I tested. The Hopper/Bomber battle (Hopper at 1, Bomber at 96) ended with the Bomber winning after the 124th round

The Tidal Wave / Shielded Phoenix battle (TW at 1, SP at 61) ended with the Shielded Phoenix winning after the 116th round

So we basically got the same results, though yours seems to count the first round as round 0. So does your round counter start at -1 rounds or something?

Link to comment
Share on other sites

  • 0
I already answered it.... the goal is to kill the other program, not the emulator :P There's not really an official limit but what exactly do you have in mind?

Of course I'm trying to kill the other program rather than the emulator - it's more a case that there may be instances where my program gets affected by the oppostition program and keeps increasing the value of a variable exponentially. I wanted to know the outcome if it does reach the limit so I can potentially cater for it. Also, one of my lines might be pretty very extremely long...;)

Either way, I'm pretty proud of its efficiency so looking forward to giving it an outing. Bring it on!

Edited by foolonthehill
Link to comment
Share on other sites

  • 0
Alright, I tested. The Hopper/Bomber battle (Hopper at 1, Bomber at 96) ended with the Bomber winning after the 124th round

The Tidal Wave / Shielded Phoenix battle (TW at 1, SP at 61) ended with the Shielded Phoenix winning after the 116th round

So we basically got the same results, though yours seems to count the first round as round 0. So does your round counter start at -1 rounds or something?

Mine prog counts rounds/displays them after the results..

0 - initial setup

1 - after first round

2 - after second etc..

...

124 after round 124 turn

125 .. no moves left for player 1. (game over)

Link to comment
Share on other sites

  • 0
Of course I'm trying to kill the other program rather than the emulator - it's more a case that there may be instances where my program gets affected by the oppostition program and keeps increasing the value of a variable exponentially. I wanted to know the outcome if it does reach the limit so I can potentially cater for it. Also, one of my lines might be pretty very extremely long...;)

Either way, I'm pretty proud of its efficiency so looking forward to giving it an outing. Bring it on!

My emulator should be able to cater for large rows, and varibles. Though will slow down alot. It is limited to 30seconds of running so may have to keep the number of rounds to be calculated to a minimun.

Link to comment
Share on other sites

  • 0

Well I've just finished my new program:

Vagabond

jump com(add(a(a(1)),add(b(a(1)),c(a(1)))),0,com(a(a(1)),b(a(1)),com(c(a(1)),0,2,4,4)

,4,4),4,4);0;0

bomb 32;0;0

edita -1;add(a(-1),3);0

jump com(a(-2),170,4,4,-3);0;0

copy -3;add(a(-3),-4);0

edita -4;add(a(-4),1);0

jump com(a(-5),194,1,1,-2);0;0

copy 0;add(a(0),c(0));135

edita -1;add(a(-1),1);0

jump com(a(-2),3,add(c(-2),-2),add(c(-2),-2),-2);0;0

it's like Shielded Phoenix, but more efficient, more ruthless, and better coded all-in-all, with a wicked defense mechanism that gets directed from both possible failures, instead of two different defense mechanisms.

Here's foolonthehill's program:

Swarm

JUMP 3

BOMB 0,0,0

SPLIT 51

COPY com(mod(c(-2),4),0,sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),2),com(mod(c(-2),4),2,-2,sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),2),-2),-2);com(mod(c(-2),4),0,add(div(sub(mod(c(-2),32),mod(c(-2),4)),4),48),com(mod(c(-2),4),2,add(div(sub(mod(c(-2),32),mod(c(-2),4)),4),25),sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),48),add(div(sub(c(-2),mod(c(-2),32)),32),25)),add(div(sub(c(-2),mod(c(-2),32)),32),25))

EDITC -3;com(mod(c(-2),4),0,com(div(sub(mod(c(-2),32),mod(c(-2),4)),4),4,com(exe(),5,add(sub(c(-2),mod(c(-2),4)),1),add(sub(c(-2),mod(c(-2),4)),2),add(sub(c(-2),mod(c(-2),4)),2)),add(sub(c(-2),div(sub(mod(c(-2),32),mod(c(-2),4)),4)),16),add(c(-2),4)),com(mod(c(-2),4),1,com(exe(),5,com(mod(add(div(sub(c(-2),mod(c(-2),32)),32),32),N),5,add(add(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),add(mod(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(add(c(-2),mod(c(-2),32)),32),14),50))),add(sub(c(-2),mod(c(-2),4)),2),add(sub(c(-2),mod(c(-2),4)),2)),com(mod(c(-2),4),2,add(sub(c(-2),mod(c(-2),4)),3),com(mod(div(sub(c(-2),mod(c(-2),32)),32),50),43,sub(c(-2),mod(c(-2),4)),sub(c(-2),mod(c(-2),4)),com(mod(add(div(sub(c(-2),mod(c(-2),32)),32),32),N),5,add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(div(c(-2)-mod(c(-2),32),32)+7,50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(sub(div(sub(c(-2),mod(c(-2),32)),32),7),50)))),0),0),0)

JUMP com(mod(c(-2),4),4,-3,-2,-2)

look at that long line full of math equations :P I don't want to read through Swarm's code but I think I have a pretty good idea of what it does ;) I'll put these two warriors in my emulator and watch em battle it out ;D

Edited by rookie1ja
Link to comment
Share on other sites

  • 0

wait no he just PMed me a new version. I'll look it over and add the proper syntaxes (semicolons, etc) before reposting it. THEN we'll duel ;D

edit: Sorry Fool, but most of your lines don't make sense... your COPY line only has an a value, no b or c values, at least from what I could tell. So where is it copied to?

Please rewrite it and add all semicolons for each node, even if the excess values are 0

thanks! :D

Edited by unreality
Link to comment
Share on other sites

  • 0
wait no he just PMed me a new version. I'll look it over and add the proper syntaxes (semicolons, etc) before reposting it. THEN we'll duel ;D

I wrote it in a more readable format to begin with (obviously) and it took an age to compile it into the functions we have. I have a feeling I may have made a mistake somewhere in the compilation....

We'll see :)

Link to comment
Share on other sites

  • 0
I guess you didn't see my edit...

Nope, I didn't.

However, there are colons between the command agruments (except that I didn't always include the 'c' variable. So here's a version which shows the commands. I just tried it in Taleisin's emulator but couldn't get it to upload. I think there may be a braket in the wrong place so will check again tomorrow and re-post.

JUMP	3;0;0
BOMB 0;0;0
SPLIT 51;0;0
COPY com(mod(c(-2),4),0,sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),2),com(mod(c(-2),4),2,-2,sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),2),-2),-2);
com(mod(c(-2),4),0,add(div(sub(mod(c(-2),32),mod(c(-2),4)),4),48),com(mod(c(-2),4),2,add(div(sub(mod(c(-2),32),mod(c(-2),4)),4),25),sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),48),add(div(sub(c(-2),mod(c(-2),32)),32),25)),add(div(sub(c(-2),mod(c(-2),32)),32),25))
EDITC -3;
com(mod(c(-2),4),0,com(div(sub(mod(c(-2),32),mod(c(-2),4)),4),4,com(exe(),5,add(sub(c(-2),mod(c(-2),4)),1),add(sub(c(-2),mod(c(-2),4)),2),add(sub(c(-2),mod(c(-2),4)),2)),add(sub(c(-2),div(sub(mod(c(-2),32),mod(c(-2),4)),4)),16),add(c(-2),4)),
com(mod(c(-2),4),1,com(exe(),5,com(mod(add(div(sub(c(-2),mod(c(-2),32)),32),32),50),5,add(add(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),add(mod(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(add(c(-2),mod(c(-2),32)),32),14),50))),add(sub(c(-2),mod(c(-2),4)),2),add(sub(c(-2),mod(c(-2),4)),2)),
com(mod(c(-2),4),2,add(sub(c(-2),mod(c(-2),4)),3),
com(mod(div(sub(c(-2),mod(c(-2),32)),32),50),43,sub(c(-2),mod(c(-2),4)),sub(c(-2),mod(c(-2),4)),com(mod(add(div(sub(c(-2),mod(c(-2),32)),32),32),50),5,add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(sub(div(c(-2)-mod(c(-2),32),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(sub(div(sub(c(-2),mod(c(-2),32)),32),7),50)))),
,0),0),0);
0
JUMP com(mod(c(-2),4),4,-3,-2,-2);0;0[/codebox]

Since it's already posted, I'll explain that the biggest optimisation is storing three variables in 1. I won't tell its strategy yet, but I have:

i = 3 bit value

j = 2 bit value

k = an unlimited value

I then use m=32k + 4i + j to store a value in the C part of the BOMB command and do lots of things to i,j and k in the EDIT command. Thereby three command reduced to one!

Edited by rookie1ja
try to use "codebox" tags which include horizontal scroll bar instead of "code" tags
Link to comment
Share on other sites

  • 0
Nope, I didn't.

However, there are colons between the command agruments (except that I didn't always include the 'c' variable. So here's a version which shows the commands. I just tried it in Taleisin's emulator but couldn't get it to upload. I think there may be a braket in the wrong place so will check again tomorrow and re-post.

JUMP	3;0;0
BOMB 0;0;0
SPLIT 51;0;0
COPY com(mod(c(-2),4),0,sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),2),com(mod(c(-2),4),2,-2,sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),2),-2),-2);
com(mod(c(-2),4),0,add(div(sub(mod(c(-2),32),mod(c(-2),4)),4),48),com(mod(c(-2),4),2,add(div(sub(mod(c(-2),32),mod(c(-2),4)),4),25),sub(div(sub(mod(c(-2),32),mod(c(-2),4)),4),48),add(div(sub(c(-2),mod(c(-2),32)),32),25)),add(div(sub(c(-2),mod(c(-2),32)),32),25))
EDITC -3;
com(mod(c(-2),4),0,com(div(sub(mod(c(-2),32),mod(c(-2),4)),4),4,com(exe(),5,add(sub(c(-2),mod(c(-2),4)),1),add(sub(c(-2),mod(c(-2),4)),2),add(sub(c(-2),mod(c(-2),4)),2)),add(sub(c(-2),div(sub(mod(c(-2),32),mod(c(-2),4)),4)),16),add(c(-2),4)),
com(mod(c(-2),4),1,com(exe(),5,com(mod(add(div(sub(c(-2),mod(c(-2),32)),32),32),50),5,add(add(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),add(mod(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(add(c(-2),mod(c(-2),32)),32),14),50))),add(sub(c(-2),mod(c(-2),4)),2),add(sub(c(-2),mod(c(-2),4)),2)),
com(mod(c(-2),4),2,add(sub(c(-2),mod(c(-2),4)),3),
com(mod(div(sub(c(-2),mod(c(-2),32)),32),50),43,sub(c(-2),mod(c(-2),4)),sub(c(-2),mod(c(-2),4)),com(mod(add(div(sub(c(-2),mod(c(-2),32)),32),32),50),5,add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(sub(div(c(-2)-mod(c(-2),32),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(add(div(sub(c(-2),mod(c(-2),32)),32),7),50)),add(sub(c(-2),div(sub(c(-2),mod(c(-2),32)),32)),mod(sub(div(sub(c(-2),mod(c(-2),32)),32),7),50)))),
,0),0),0);
0
JUMP com(mod(c(-2),4),4,-3,-2,-2);0;0[/codebox]

Since it's already posted, I'll explain that the biggest optimisation is storing three variables in 1. I won't tell its strategy yet, but I have:

i = 3 bit value

j = 2 bit value

k = an unlimited value

I then use m=32k + 4i + j to store a value in the C part of the BOMB command and do lots of things to i,j and k in the EDIT command. Thereby three command reduced to one!

'

I know why it doesn't load. :D Ill fix it tonight!

Link to comment
Share on other sites

  • 0

anyone want to battle my Eviscerator? I'm pretty confident that it can tear any program to shreds :D However I'm iffy about running the 'Swarm' on my emulator, first because the errors, second because of all the nested functions... but if that's not a problem (I'll have to test Swarm in the emulator after there are no more errors) then I'll fight it ;D

Right now I've got the Vagabond, the Vagabond II, the Eviscerator, and the Eviscerator (Compact Form). I'll probably use the Eviscerator against whoever wants to challenge me :D

Also everyone should PM people interested. I talked to vimil, a programmer, and now he's interested (though he wanted to play around on taliesin's emulator before submitting a program)

Link to comment
Share on other sites

  • 0
anyone want to battle my Eviscerator? I'm pretty confident that it can tear any program to shreds :D However I'm iffy about running the 'Swarm' on my emulator, first because the errors, second because of all the nested functions... but if that's not a problem (I'll have to test Swarm in the emulator after there are no more errors) then I'll fight it ;D

Right now I've got the Vagabond, the Vagabond II, the Eviscerator, and the Eviscerator (Compact Form). I'll probably use the Eviscerator against whoever wants to challenge me :D

Also everyone should PM people interested. I talked to vimil, a programmer, and now he's interested (though he wanted to play around on taliesin's emulator before submitting a program)

You'll have to wait for swarm - it uploads on Taleisin's emulator now (I optimised some of the code) but, though it starts off well, doesn't finish the job. As you can imagine bugging it is proving quite a trial!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...