Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - googlyeyesultra

Pages: 1 2 3 [4] 5 6 ... 8
46
Suggestions / Population Control and selection pressure without costs
« on: August 21, 2007, 06:05:51 PM »
Very interesting. I wonder what I can do with this for F1. . .

Also, thanks for picking memory locations no bots (at least that I've seen) use.

One thing I have to wonder: If totalbots includes corpses, then won't a predator continue killing, even if most of the remaining enemy bots are corpses? Essentially, how will it tell how many are dead and how many are alive? Does totalmyspecies work the same, and also return corpses of my species?

47
Evolution and Internet Sharing Sims / 100 day sim
« on: August 21, 2007, 10:57:26 AM »
I think some of mine are using the birth tie to protect themselves; essentially, they try to reproduce every turn, but can't if they don't have two body or if they already have something right in front of them. So, by keeping your child, and your child's child right next to you in a chain for a while, you can build up around 10 body, and actually stockpile enough resources to survive a volley of stray shots. Also, that allows the bot to have somewhat more powerful shots, yet still be able to reproduce once the birthtie is gone. Apparently, evolution favors NOT severing the birth tie. And, of course, they don't shoot their children since they move backwards and fire backwards, yet reproduce forwards.

Also, I use fixed bot radii.

48
Evolution and Internet Sharing Sims / 100 day sim
« on: August 20, 2007, 11:14:13 PM »
Once I got ones that could feed on their own, I removed "easy energy", set up dna-disabled veggies. I also set them up so that they wouldn't be fed more energy, and the vegies would be fed off of, die, and be repopulated. Even with 1 veggie with 30000 energy spawned per cycle, the bots are able to keep them around to 90-100. I'm using a small, dense field, so if you stop shooting, you stop gaining energy, and you get yourself shot to bits.

I get the whole rapid-repro thing, too. It's just they need shooting and moving just to get that 1-2 body.

49
Evolution and Internet Sharing Sims / 100 day sim
« on: August 20, 2007, 10:58:44 PM »
Speaking of viruses, it would be nice if we could have an option somewhere to disable viruses (mostly for f2 or for evo sims, if we want to keep dna lengths under control, or if you don't want to disable them, some kind of adjustable cost associated with either .mkvirus or .vshoot).

Also, I've been running a new, randombot evo sim of my own. Quite interesting. Instead of learning to move forwards, they originally moved sideways and later changed to moving backwards. They then started storing values in backshoot, allowing their -1 feeding shots to be effective for feeding. Essentially, they're operating in reverse.

50
Evolution and Internet Sharing Sims / 100 day sim
« on: August 20, 2007, 10:10:13 PM »
I'm eagerly awaiting the link. After all, since you don't have ridiculous numbers of deletions or any dna costs, all I can think of is more dna increases the likelyhood of deletrious mutations once you've managed to adapt to your situation.

51
Suggestions / Seeing shots
« on: August 20, 2007, 09:43:37 PM »
I'm guessing this is getting off topic, so you might want to create a new thread.

Now, back to the (off-topic) discussion. The focus is cool, I agree, but you'll need ridiculous numbers of eyes. Ridiculously huge numbers, like a 25 bare minimum if you want us to try to get a high resolution of varying distances over even a decent angle.

I'm rather braindead, so I'm afraid I can't contribute much more than that. Oh, and yes, numsgil is right about the scale at which trig functions should operate.

52
Suggestions / Seeing shots
« on: August 20, 2007, 04:57:57 PM »
My top priorities are entering the angle and the hypotenuse, and returning one of the other two sides (aka, sine and consine). Either that, or some sort of angle to slope and slope to angle command would be alright.

53
Suggestions / Seeing shots
« on: August 20, 2007, 10:37:13 AM »
I'd rather not take the perf inpact. Besides, you'd either need two sets of eyes or you'd end of obscuring your own vision with your own shots. I'll be happy if you give me some trig functions.

54
Bot Tavern / Dogfighting
« on: August 20, 2007, 08:31:44 AM »
I'm using the negative shootvals already. Really, the only reason I'm going this large is because powering up the shootvals enough to get the same range on a small bot is really, really expensive, and small bots don't have much energy to spare. Hmm, another way to do it would be to predict where and when the returning shots would be, based on the velocities, store that in a queue, and go run around and grab them while constantly firing.

You see, this is why I want trig functions. Now I've got to go make them. Somehow. Or, some sort of an angle to slope function. Or something.

55
Bug reports / What the...?
« on: August 19, 2007, 02:58:08 PM »
A waste threshold of one means that as soon as a bot hits one waste, it starts randomly doing things. I think you're looking for the -1 value, which means waste never activates.

56
Evolution and Internet Sharing Sims / RandomBot replicator in 7 min!
« on: August 19, 2007, 12:14:26 PM »
True, to get a first replicator, I usually won't use more than 15 bots. Unfortunately, once you get something that always moves and always reproduces, keeping the population under 500 is quite a feat (and, of course, above 0).

57
Bot Tavern / Dogfighting
« on: August 19, 2007, 12:10:29 PM »
Essentially, I'm working on creating a new bot with a tentative title of "Sharpshooter". It's designed to accurately predict where it should aim in order to make the shot hit you, without matching your velocity (well, at this point, it does match your velocity, but only because I haven't figured out a cool dogfighting routine yet). Essentially, it won't care much (when I finish coding it), at least when fighting instead of feeding, whether or not the returning energy hits it. All it will try to do is pump the enemy full of shots and duck and weave to prevent any returned fire from hitting it. It's kindof a large bot, so it'll have to be really good at dodging. So far I've got most of the basic code together, as well as a prototype of the advanced aiming. I'm holding off on shell, slime, etc. until I've got most of the other stuff working as planned. Essentially, any tips for dogfighting or aiming code that would work for this would be much appreciated. Or, well, code itself, if you're really nice. Thanks.

Code: [Select]
'Sharpshooter: A bot by googlyeyesultra.
'It semi-accurately leads targets.

cond
start
'Conspec
*.myeye *.myshoot add *.myup add 998 *.robage sgn 1 sub -1 mult mult store

'Sharefeed if multi
99 .sharenrg *.multi mult store
.sharewaste *.multi mult inc

'Set eyewidth
1221 .eye5width *.robage sgn 1 sub -1 mult mult store
stop

'Reproduce
cond
*.nrg 25000 >=
*.nrg 2 div *.body ~=
start
49 .repro store
stop

'Conspec
cond
*.refeye *.refshoot add *.refup add *.refshell add *997 !=
start
*.refeye *.refshoot add *.refup add *.refshell add 997 store
stop

'Birthie cut
cond
*.robage 2 <
start
.tie *.robage -1 mult 1 add mult inc
.deltie inc
stop

'Shoot feed
cond
*.eyef 0 >
*997 *998 !=
*.refpoison *.refshell >=
start
*.refxpos *.refveldx *.veldx sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add *.refypos *.velup *.refvelup sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add dist 30 div -1 mult .shootval store
-6 .shoot store
stop

cond
*.eyef 0 >
*997 *998 !=
*.refpoison *.refshell <
start
*.refxpos *.refveldx *.veldx sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add *.refypos *.velup *.refvelup sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add dist 30 div -1 mult .shootval store
-1 .shoot store
stop

'Deltie enemy ties/conspec ties
cond
*.numties 0 >
*.tiepres *996 !=
*.trefshoot *.trefeye add *.trefup add *998 = or
start
*.tiepres .deltie store
stop

'Tie
cond
*.eyef 30 >
*997 *998 !=
start
998 rnd 1 add 996 *996 sgn -1 mult 1 add mult store
*996 .tie store
stop

'Tiefeed/Counter leach
cond
*.numties 0 >
*.trefshoot *.trefeye add *.trefup add *998 !=
start
*996 .tienum store
*.tieval sgn .tieloc store
-1000 .tieval store
stop

'Regulate body/energy
cond
*.nrg 2 div *.body >
start
*.nrg 2 div *.body sub .strbody store
stop

cond
*.nrg 2 div *.body <
start
*.body *.nrg 2 div sub .fdbody store
stop

'Waste Removal
cond
*.waste 100 >=
start
-4 .shoot store
*.waste .shootval store
stop

'Aiming
cond
*.eyef 0 >
start
*.aim *.refxpos *.refveldx *.veldx sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add *.refypos *.velup *.refvelup sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add angle sub .aimshoot store
stop

'Orientation
cond
*.aim 314 !=
start
314 .setaim store
stop

'Search
cond
*.eyef 0 =
*.velscalar 10 <
start
50 4 rnd store
stop

'Movement
cond
*.eyef 0 >
*997 *998 !=
start
*.velup *.refvelup sub *.refypos *.ypos sub 2 div dup .dn store
*.refveldx *.veldx sub *.refxpos *.xpos sub 2 div dup .dx store
stop

'Avoid conspecs
cond
*.eyef 0 >
*997 *998 =
start
200 *.velup *.refvelup sub *.refypos *.ypos sub 2 div add sub .dn store
200 *.refveldx *.veldx sub *.refxpos *.xpos sub 2 div add sub .dx store
stop

'Chameleon genes
cond
*.in1 0 !=
*.in1 *.out1 !=
start
*.in1 .out1 store
stop

cond
*.in2 0 !=
*.in2 *.out2 !=
start
*.in2 .out2 store
stop

'Some various code defenses
cond
*.fixed 0 !=
start
0 .fixpos store
stop

cond
*.delgene 0 !=
start
0 .delgene store
stop

cond
*.shoot -2 =
start
0 .shoot store
stop

cond
*.mrepro 0 !=
start
0 .mrepro store
stop

cond
*.sexrepro 0 !=
start
0 .sexrepro store
stop

cond
*.repro 49 !=
*.repro 0 !=
start
0 .repro store
stop

'Antivirus
cond
*.mkvirus 0 !=
start
*.mkvirus .delgene store
0 .mkvirus store
stop

'End of Program
end

Essentially, if you're facing upwards, this code snippet will return where it thinks the targeted bot will be (Factoring in my movement as well).

Code: [Select]
*.refxpos *.refveldx *.veldx sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add *.refypos *.velup *.refvelup sub *.refxpos *.refveldx *.veldx sub add *.refypos *.velup *.refvelup sub add dist 40 div mult add
Also, it's alot easier to see it leading targets if it is set to "voluntary movement disabled".

58
Bot Tavern / Some fancy aiming:
« on: August 17, 2007, 01:07:13 PM »
First of all, I'd like to correct one of your statements. The returning shot has some portion of the hit bot's velocity added. That out of the way, does what you say essentially mean that if I have a bot that is fixed, it's shots will be fired at exactly 40 grids per cycle?

59
Bot Tavern / Some fancy aiming:
« on: August 17, 2007, 11:45:42 AM »
Ah, yes; I have returned. After a ridiculously tiring trip, I have an aiming question. I'm working on a crude multi-bot, and I need to know the exact velocity of a shot in grids per cycle. Essentially, I'm working on a wacky bot that will lead when it shoots, hopefully ending the era of bots that ram each other in order to feed.

Anyways, what is this magical constant or formula to determine shot velocity?

60
Tips and Tricks / How to know you're the first
« on: August 06, 2007, 04:29:55 PM »
Racial memory is wonderful. It does require, however, that you delay severing the birthtie a bit.

cond
*.robage 3 =
start
971 inc
stop

cond
971 1 =
start
'whatever you want the firsts to do
stop

cond
971 1 >
start
'whatever you want anything that's not a first to do
stop

Pages: 1 2 3 [4] 5 6 ... 8