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

Pages: [1] 2 3 ... 10
Darwinbots3 / alive ?
« on: July 03, 2010, 06:12:45 AM »
alive software, stands for life simulating software.
not wanting to put pressure on anyone here but i wonder if this project is still a live.
or that it lost its sparkle of life, wellwe know species dont live forever.

i think i can conclude there are many ideas of how it could / should work, but ideas are easier to create then programs.
as a last idea i propose a modular design.

Above all, modules should be first explained in clear text of what they do, so even beginner programmers can use them, how to call their functions, and put explaining of their functions inside the code in readable english. (explain every function)

Good explaining might me be equal or even more important then the code itself, a requirement is other people even wit low programming skills should be able to use the code, or improve it by introducing new ideas to it. I would sugest using phyton for this since it has an easy modular format, and it is free so anyone can develop with it.

Biology / Evolution doesn't work?! D:
« on: June 03, 2010, 01:23:00 PM »
Quote from: Numsgil
Quote from: Panda
All in all, dogs seem to be parasites, they survive by being fed by people because they wouldn't survive well in the wild, but... I suppose everything is parasitic.

Not parasitic.  They provided valuable services to neolithic humans up through modern times.  eg: sheep dogs, watch dogs, seeing eye dogs, drug sniffing dogs, etc.  It's a very symbiotic relationship.  Most domesticated animals are like this.  There are billions of cows in the world, and you can bet they would be extinct if they didn't provide benefit to humans (no wild cows anymore).

Maybe not dogs but cats must be parasitic, i never see them do anything good.
And a lot of cats seam to be in control of their owners.
They do everything the cat demands, give food, cleanup, open doors etc...

It might be that cats are on top of the evolution pyramid, next below them humans to serve them
Evolution might not prefer humans to be on top...

Now that i type this suddenly my garden is swarmed by cats making strange noices, appertenly an angry mob, must hide..

DNA - General / Inline != (Not equal to)
« on: May 28, 2010, 09:55:46 AM »
Quote from: Panda
Erm. No matter how hard I try to do an inline !=, or even think about it, well, I just cannot do it. I need some help please.

you need to work with tables

for example you dont want .Amem totbe 5 and then do something
Code: [Select]
*.amem -5  add  sgn abs 1   sub abs   
'       1    -4 -1    1      0      0
'       2    -3 -1    1      0      0
'       5     0  0    0     -1      1
'       7     1  1    1      0      0

>>from here you got valeu 1 to multiply to do something if something equals 5   like 1 x 5 .up store
>> if you want to execute only if it isnt 5 you can do without the last 2 columns (then sgn is the last one)

DNA - General / refeye
« on: May 13, 2010, 02:11:30 PM »
this reminds me...
DB2 has no option to actively change DNA, to add or change commands.
I wonder what would come from it if it had such commands, if it could build its own genes (by trial and error).

hmm I gues its a total different vieuw of how evolution might work.

Thinking of it.. a virus who just would add a single gene eye + movement; is currently the only way to add new genes.
i think even sexrepro cannot add genes.. /// or what would happen if both parrents had different number of eye commands ???  >> i never tried it

Announcements / SVN back up
« on: May 11, 2010, 11:47:20 AM »
this might be something.. to brouwse svn from visual studio..

Bugs and fixes / Running on multi core processors. (how to)
« on: May 11, 2010, 05:39:56 AM »
I think this subject has now passed many times on the forum.
So maybe i should explain how to run DB on multiple cores, that is you can assign each program a specific CPU of your multicore system.

Press CTRL + ALT + Dell to open taskmanager
Go to processes tab; there you see a list of all processes that are currently active
Then right click darwinbot2.44.exe     (or whatever version your using)
right click it and then there is an affinity option where you can choose on wich core you run the program  
Default all processes run on all cores.  (but now you know on how to specify it)
It makes only sense to change this for processes that usage a lot of CPU (so you dont need to change all processes).

A next thing you can do is to set the priority of the process.
Basically threading is a technique so that multiple processes run (almost) parallel, side by side; thats why you can have multiple programs (windows) inside windows NT4 2000 XP vista 7 etc...
In the earlier time when people used D0S 5.x this wasnt possible, only one process could run, one program was active.
In a multithreaded environment all programs stay in a row and the CPU's divide their attention to all them switching CPU cycles between them all.
By changing affinity you change how much attention to a process is given by the CPU full attention is realtime
Realtime might result in an unstable PC and even become nonresponsive, as the prog gets all attention) ==> better is High or above normal, or just keep it to its default which is fine too.(but slightly slower)

A next thing you might consider is to use teleporters between your sims; get a free FTP server prog run it localy and your done.
(supported number of cores can also depend on your windows version)

well i thought lets explain it for people who didnt know this; your not all deep into the windows operating system.

Suggestions / DBx64
« on: May 08, 2010, 01:01:44 PM »
Instead of large computer one could design a grid that expands over multiple computers.
Such designs scale well and are even used for distributed virtual chemistry.. (which requires a lot of CPU power)

Simply extend the screen borders to others, if you like to create something like that, and in DB2 currently there is a telleporter in internet mode, does a bit the same..

If you think about local speed, you should maybe think about CUDA (let the GPU do some of the processing).
but it wil not work for all graphic processors (so then you need alternative routines too).

Darwinbots3 / DB3 todo
« on: May 08, 2010, 11:01:10 AM »
Quote from: Numsgil
Quote from: happyhamsterchan
yay sounds fun!!! My time zone is... um... Virginia!!!! Google said that's eastern. So my time is 11:00 pm when the forum says the time is 4:00 am.

Oh, that's going to make this harder.  I get off work and home at the earliest 7 PM PST.  Which is like 10 PM for you.  I'll try to set it up tomorrow (unless we play games after work at the office.  We do that sometimes).

Quote from: happyhamsterchan
ok, opened the .sln files, but how do I get the whole program to run? Or are we just doing one module at a time? Sounds risky, cuz if something goes wrong you've already made a huge program... I usually just code a little, then run the program a little, then code a little more.

Just modules right now.  There's no DB3.exe to run.  It's possible to code like this because:

1.  Everything's unit tested.  So I'm sure that things are working as I expect as I write the code.
2.  I've looked at Darwinbots code for so many years I have a good internal mental picture of how all the code will fit together when it's done.  So there aren't any major surprises.

Code for pixelshader circles is explained here

Off Topic / What's your religion?
« on: May 08, 2010, 10:20:13 AM »
As a god, i dont have to believe, i'm just there here, and everywhere.  

Some deep background on collision detection math, and how to do it fast; well its from nvidea they benefit from explaining it.

Although couldnt see the link in the article but the above url reads GPU... and yes its done in CUDA so this routine offloads the CPU !!!!

Suggestions / new Code center sub
« on: May 02, 2010, 02:15:58 PM »
Quote from: Numsgil
If I understand you right, I think you want what essentially a code repository is for.  Once I figure out SVN on the server (ugh) I can set up a code repository for whatever DB related project you want to play around with.

I also got visual studio 2008 but its not free, so not everyone can code in that.

There are express versions which are free.  I code on my laptop with the express versions.  Just for the record.

oh yeah i know free version as well, but it lack some things basic tcp/ip stuff etc (thats more my type of work, a specialist on communication)
For my job i require a small part of it just to be able to create custom tools for my self

Well i know SVG its a code repository, but thats almost purely code and version numbers based.
I mean more something like a forum in which people can explain the ideas, the whole program can (as a problem) be split up in smaller parts.
People can explain their parts in text form, and people could combine parts or rewrite them into another language. bet get the main ideas behind it.

Off Topic / My simulation: Evolving social bots
« on: April 29, 2010, 05:01:21 PM »

that video is amazing, and you solved the problem of how to train a neural net in such environments i think thats.. pretty amazing. un-trained NN
Oh i love to see this combined with darwinbots, where bots can evolve in shapes (multibots)
I've been thinking on how to create something like it, the darwin bot code is different currently small 'genes' with functions (often very complex functions)
But they are of human design. (with exception of zero bot leagus)  (both options would be nice.. human bots and NN bots)

Would be nice if DNA would rather describe structure (cell types, propulsion, eye, shell,venom..) and a neural AI would be the brain.
Even the structure of the brain, could be maybe described by DNA  (so you get darwin rules combined with neural brains).
The same DNA would connect structure and the input out to this structure (connect between eye and propulsion)
In an environment much like the current DB

Suggestions / new Code center sub
« on: April 29, 2010, 03:57:02 PM »
i would sugest a new top level sub in the code center.
An area where we could post routines of code, and improve each others routines maybe.
Could be in any language VB6 python c++ c C# etc

I think throughout the history of darwinbots various people have tried to improve code.
And some had suggestions, while other would like to begin.

But as a whole its like a monster project...

 >> reading DNA,
 >>improving graphics with openGL or DirectX,
 >>colission detection,
 >>physics of bouncing,
 >>saving game
 >>or general ideas.. how should swimming work etc.. with code samples

i begin to like Python (i'm using v2.6 with a free editor, python scripter)
I also got visual studio 2008 but its not free, so not everyone can code in that.
Python is free, and simple to read has a lot of free and really advanced libraries acka modules (which you can google to include)
Modules for :  music, graphics, openGL, directX, math, neuron math, games (sprites), video,ftp.. wel lots lots and lots.. and free!
there even is a module which allows inline c++ , so the main prog can be simple to read while complex parts can be improved wit c++
And if you think that's not fast enough, there is even inline assembler support nothing beats that..
(well, a compiler usually is better then you to convert any language to the final assembler)

Darwinbots3 / Idea for the physics of bots environment.
« on: April 29, 2010, 11:37:57 AM »
Ants digging.. hmmm

It could be done with a cell type which isnt algea but is rock (no feeding valeu) of solid color (maybbe a lot of .shell only)
Rock would be a bit hard to digg i mean kill (like requiring a special shot type), a shot type that would also have more effect on .shell
Rock would normally be fixed pos (however as some animals use rocks as to their protection.
In essence a solid rock needs a default fixed state (but once shot at a few times becomes free to move). (might  be attracted by gravity)
A smart animal would use this as shielding...  (or even collect it for shielding).

Oh and rocks dont duplicate, might split by shooting into smaller rocks.
But so far i've never seen a rock in an act of replicating.  
Also they dont have vision
So .. they are almost like a raw basic cell no memory regions no DNA execution(* perhaps for splitting a little command),
maybe some different rocktypes (hard harder, soft, seize, maybe squares or circles or hexagons, or simple triangles.).

Except for the non round shapes Could be done in current DB
But DB engine could be optimized for them in a next version, since they require far less  computation.

Bot Tavern / Spider Bot
« on: April 29, 2010, 11:23:58 AM »
hmm some bots are small and heavily connected by multiple ties.

You might make something that if one of these bots sees something (not his own kind) (do a  *.refeye *myeye !=   check)
then uses out or tie talking to tell his direction and position, to call in other parts of the web.
And attack it together.

Bots cannt walk over other bots so a spider part is difficult (another bot?) or the same kind but not as multibot who understand the talking also.
But since not connected is able to move more freely

Although there are spiders who live with milions in one shared superweb, able to attack ceatures much larger then they are (birds etc).
You could think of that also as tinny bots tie connected.

Pages: [1] 2 3 ... 10