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 - Welwordion

Pages: 1 [2] 3 4 ... 22
16
Bot Tavern / MB architecture: How do we get amoeba/fungus moving?
« on: November 05, 2008, 05:19:03 PM »
The above bot? Well it alternates between ties(if that works correctly) when one bot sees food it starts  contraction and tell the bot its currently addressing to do the same (scout is set to 7) with the tiny difference that the bot who actuall sees food fixes itself(well its supposed to).
When the timer condition is met each bot that contracted, executes extension(scout is set to 8) and if the final timer condition is met it returnes to its original state(scout is set to zero).

Edit: for anyone who read that before sorry I did put the specific line in.

17
DNA - General / The mystery: Or making me desmotivated
« on: November 05, 2008, 04:24:26 PM »
Nope the blob would only be an example and although tie physics are frustrating, conditions that do not seem to start and the fact that bots with the same code do not do the same stuff although they should is more frustrating.

18
DNA - General / The mystery: Or making me desmotivated
« on: November 05, 2008, 07:32:50 AM »
I really do not know if I am stupid if there are a tons of bugs  or there is just so much hidden syntax etc but the unpredictability when programming a bot really frustrates me, not just that some condition just do not seem to activate properly even when you keep reformulating them though the should have worked already caused you checked and checked them again, nah but when you then test start your bot for some reason 50 percent show one behavior and the other another even though the code is the same.
I exspecially had problem with timer based conditions for some reasons or with fixing and unfixing; I also observed that when two bots are as close as possible and the stifftie is set to maximum some of them move , which is not that bad cause I thought I could use that mishap in design to make a movement mechanism but again everything keeps unpredictable,
And do not start with line slike that the physics of Darwinbots are hard to understand its not just the physics its the code it just does not seem to work cleanly most of the time. Ok maybe I am just to stupid  or to prone to make mistakes,but I just had to get a little steam of my mind.

19
Bot Tavern / MB architecture: How do we get amoeba/fungus moving?
« on: November 04, 2008, 06:02:29 AM »
Well doing it with two bots is not overall difficult I succeeded in doing that even though I did not reach maximum velocity or had ay mechansim to make the bots actually steer in one direction, as for that I failed completely when I tried to do movement based on  pivoting.

20
Newbie / are trig finctions available on the current DB ?
« on: November 03, 2008, 08:31:00 PM »
Actually I am using that part:  x - x^3/6  of the formula, but you are forgetting some stuff having mostly nothing to do with trigonometric function but darwinbots design.
90° is pi/2  in radian and 314 in darwinbots measurement which is circa 200 times the radian value if you use x^3, x^5, x^n this factor 200 will also get multiplied with itself so have do divide trough 200^n-1 to make the result stay correct and you have to do this at the right point as darwinbots does not use any floating numbers but just integers(whole numbers not ones with komma).
Also  the stack is limited to numbers of +-2000000000 which, when 1256^3( the highest angle )is done, is almost reached so higher ^n are highly likely to not fit in if you do not perform some tricks, however the higher the angle the more important are higher orders of ^n for accuracy.
Well my code could possibly still be  from back when stack values  could not be larger than 32000
that part  ---> 600 div 100 div makes me believe that, but I solved the problem by only using input values from (0 - 314) /2 or (-314 - 0)/2  so I just use the symmetry of sin to my advantage manipulating the input values properly by making a chainsaw function out of them.
(0)->(314)->(0)->(-314)->(0)

Also those suggestions are for darwinbots3 I think

21
Bot Tavern / MB architecture: How do we get amoeba/fungus moving?
« on: November 03, 2008, 06:04:55 AM »
Quote from: bacillus
The best way to coordinate movement is by using *.timer, especially when you have nonlinear structures.

There is the problem I am doing that and for some reason it does not work, hell knows why.
Well I got it running at least sometimes here the sim.
bring some veggies near the orange bots and hope for the best, sometimes it works sometimes they bahave irregulary.

22
Newbie / are trig finctions available on the current DB ?
« on: November 02, 2008, 05:40:31 PM »
When I last checked the were not availabe , thats also when I made a code to approximate sine and cosine for the purpose of movement
http://en.wikipedia.org/wiki/Sine <---used the series approximation of sine

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
'the input angle

*.refxpos *.refypos angle -1 mult *.aim add

'make sure the angle is within the right range

1256 add 1256 mod

'forgot which one was sin and which cos, the ceil and floor are used for the purpose of improving precision, as its easier to do values in a certain area
' and since sin and cos is a symetric function we used this to our advantage   I also used only sine and just changed the input value by 314  '90 degree

dup dup dup dup dup 314 ceil swapint
314 floor 942 ceil 314 sub sub swapint
942 floor 942 sub add 2 div
dup  0 swapint 3 pow 600 div 100 div sub add

2 div *.veldx sub .dx store

628 ceil -1 mult 314 add swapint
628 floor 628 sub add 2 div
dup 0 swapint 3 pow 600 div 100 div sub add

2 div *.velup sub .up store

23
Bot Tavern / MB architecture: How do we get amoeba/fungus moving?
« on: November 02, 2008, 08:56:48 AM »
Well I trieed myself on the old problem of multibot moving,trying for any amorphous mass of bots to learn crawling with ties, for some reason the condraction and extension does not activate most of the times, so as it would be really good for the new leagues that are in planning to have a first amoeba ready I thought why not make this a group work?
Everone who is interested write code to get the crawling working and post it here.

A basic structure would be: genes managing tie addresses, switching mechanism between those genes, genes to activate and deactivate movement , genes that regulate fixing and genes that regulate ties

As for my code:

Code: [Select]

def building 77
def suppotie 76
def tiecheck 75
def writpos 74
def inspect 73
def counter 72
def scout 89


'for tieaddresses
cond
*.tiecheck *.numties >
start
*.readtie 80 >=
*.readtie 80 *.tiecheck add <= and
*.trefnrg 0 = and
*.readtie .writpos store
*.writpos *.tiecheck =
*.writpos *.numties 1 add = and
*.numties .tiecheck store
dropbool
dropbool
80 *.inspect add * .readtie store
.inspect inc
*.inspect *.tiecheck >
0 .inspect store
stop


cond
*.tiepres *.suppotie !=
start
*.numties *.tiecheck >
*.numties .tiecheck store
*.numties .writpos store
dropbool
*.tiepres .suppotie store
*.tiepres 79 *.writpos add store
stop


' basic tie settings and switching between ties
cond
*.numties 0 >
start
50 .sharenrg store
80 *.robage *.numties mod add * .tienum store
500 .fixlen store
100 .stifftie store
*.robage 40 mod 0 =
'*.readtie .deltie store
stop

'a tieing gene
cond
*.numties 3 <
*.eyef 50 >
'*.refeye *.myeye =
start
*.numties 10 mult 9 rnd add .tie store
stop

'just a repro gene
cond
*.nrg 7000 >
start
200 .strbody store
50 .repro store
stop

' gene for movement activation fixing the bot that spots the food  for the contraction
cond
*.eyef 0 >
*.refeye *.myeye !=
*.scout 0 =
start
7 .scout store
1 .fixpos store
.scout .tieloc store
7 .tieval store
stop

'contraction
cond
*.scout 7 =
start
*.timer 10 mod 5 <
.scout inc
not
100 .fixlen store
.scout .tieloc store
7 .tieval store
dropbool
stop

'extension
cond
*.scout 8 =
start
800 .fixlen store
0 .fixpos store
*.timer 10 mod 9 =
0 .scout store
dropbool
stop

end

24
The Gene depository / my little insert
« on: November 02, 2008, 04:36:04 AM »
Code: [Select]
*.refpoison 0 >
-6 .shoot store
not
*.refshell 0 >
-1 .shoot store
not
-6 .shoot store
dropbool
dropbool

How about this for conditional logic?

25
The Gene depository / Genes: Keeping track of ties
« on: November 01, 2008, 07:11:12 AM »
Ok I developed this genes for multibot purposes they store the number of the recently formed tie into a memory location starting from 80 up if a tie is deleted the code is supposed  to check old locations if no energy is read back trough the address(if there is no bot on the other side) and write to that spot when the next tie is formed.
So basically tieinformation is stored from 80 till 80 add *.numties.


Code: [Select]
def suppotie 76
def tiecheck 75
def writpos 74
def inspect 73

cond
*.tiecheck *.numties >
start
*.readtie 80 >=
*.readtie 80 *.tiecheck add <= and
*.trefnrg 0 = and
*.readtie .writpos store
dropbool
80 *.inspect add * .readtie store
.inspect inc
*.inspect *.tiecheck >
0 .inspect store
stop


cond
*.tiepres *.suppotie !=
start
*.numties *.tiecheck >
*.numties .tiecheck store
*.numties .writpos store
dropbool
*.tiepres .suppotie store
*.tiepres 79 *.writpos add store
stop

There is till some weakness I need to correct someday that is that its does not update tiecheck(sves supposed number of ties) when the tie deleted was the last formed.
Also I can not givea hundred percent guarantee that everything works , I only know that for my bot everything did.

26
Newbie / Newbie what I see on screen ?
« on: November 01, 2008, 06:31:52 AM »
Well lets see, on the upper side of the frame third from left you can choose "view" options, check if movement vectors is turned on if yes try to switch it of and see what lines remain.
Now the remaining lines should be ties , ties are kind of like elastic tape and a transport tunnel between bots, normally they have the same colour as the bot if they are yellow it mean energy is "shared" trough them.
After birth there is a special form of tie that as far as I know  does bot have most options a normal tie has, its the birthtie an umbilical cord that dissappears after a while and plays a role regarding epigenetic memory(racial memory).

There is code regarding viruses shooting , the details can be somewhat complicated, some important facts as far as I know are , viruses can not be aimed and viruses suffer from repro mutations(mutations that occur on reproduction of bots),
I am unsure about that but I think viruses are placed as last gene.(I remember a discussion if that should be changed a long time ago)

27
Bot Tavern / Why is my .eye9 behaving different?
« on: October 29, 2008, 02:25:28 PM »
Nah do not worry its like you said values above 4 are regulated, you are right that back when I designed it some time ago I first did not know that focuseye used negative values but I found out later and decided to let it stay as it is, its less confusing for me as I also use a 1-9 notation for memory spaces.

28
F3 bots / Beholder(F3) (Welwordion) 28-10-08
« on: October 29, 2008, 02:06:11 AM »
cond
*.eye1 *51 10 !~=
*.eye1 *52 10 !~=
*.eye1 *59 10 !~=
start
0 61 store
stop

cond
*.eye1 0 =
start
0 61 store
stop
<---what do you think those files are? Its delete friendly status when its 0 and delete friendly status when the eye value is different to its previous or its neighbours previous state, that one of the main part of the code ^^

29
F3 bots / Beholder(F3) (Welwordion) 28-10-08
« on: October 28, 2008, 08:36:16 PM »
Beholder has 360 degree vision,it remembers in which eyes friends are (If the do not move to fast)  it does not turn to look but changes focuseye instead and also moves without turning by using a sinus cosinus approximation to calculate values to be stored in up and dx .
Well there is also some experimental code for swarmlike behaviour in it by keeping a certain distance, but most stuff you see is for managing the friend memory, like handling when a friendly bot switches to another eyefield.

I actually have a slightly better version of the code that also adjust the eyeposition so the eyes always look the same direction even if the bot turns but for sentimental reasons I only use that for another bot, heh its not like Beholder is supposed to turn much.

30
Newbie / an awsome gene that needs fixing
« on: October 28, 2008, 08:19:33 PM »
Also even if you fix the multi issue the problem is that when the nearest bot is a friendly bot the comdition to turn will never be fullfilled, I had to build a complicated memory system in my Beholder bot to make him ignore friendly bots, your system does not need to be that complicated but you still need a memory system ignoring the nearest bot when its friendly.
Use some memory locations to store if an eye should be used or ignored, then you can just use a *Number sgn mult with every eye to enhance your code.

Pages: 1 [2] 3 4 ... 22