Darwinbots Forum
Code center => Suggestions => Topic started by: Elite on February 25, 2006, 09:44:25 AM
-
I) Transfering DNA through ties
- Like using viruses except through ties
- Preferably using the tieports
- Something like .tiegene that you can put a gene number into. That gene will then be transfered either instantly or after a timer has expired (like with viruses)
ii) Greater expansion of the tieport concept
- I really like the tieports. I think that most, if not all of the tie commands should be 'tieported' ie .deltie1, .deltie2, .trefeye3 etc. It would allow for more complex MB behaviors and the ability to monitor several ties at once without the hassle of having to change .tienum and .readtie every time you want to use or reference a different tie.
- Rather than specify a tie ID in .tie you could scrap IDs altogether and put a positive number into .tie (.tiepres allows you to see the ID anyway)
iii) Aiming ties
- A new sysvar .tieaim to allow you to fire ties in different directions other than just straight forward
iv) Unifying the birth tie and regular ties
- The birth tie becomes a regular tie that a bot must either delete or stay connected to their offspring (this may be useful for MBs)
v) An in/out system through ties
- Each bot can store something in .tieout and each bot can read back these values using .tiein1, .tiein2, .tiein3, .tiein4 for each bot they are connected to.
- Note that there is only one .tieout sysvar, as things will quickly become complex for bots on the recieving end otherwise
vi) For bots to be able to set an elasticity value for ties
- Setting a high value would result in the bots getting pulled together
vii) Cell specialisation and structure
- A big one - probably very, very, very hard to implement, but goes well with the idea of proteins and metabolism
- Allow cells to specialize due to protein manufacture to perform different tasks ie solely for photosynthesis (palisade cell) or solely for communication (neurone) or solely for metabolism
- Allow cells to make 'proteins' which could encompass slime, shell, poison etc, maybe some new ones such as acid and chemicals that break down other cells' cell membranes, and some proteins alter the function of the cell, like the enzymes in metabolism
- Allow more 'cell structure' such as cell walls, nuclei etc.
viii) Feeding
- Rather than using shots secrete enzymes that break down the food and then absorb the energy
- More realistic than shots
- Again ties in with metabolism
My intent is to allow an easier creation of more complex multicellular organisms and allow them to develop more complex behaviors and structures
Some of these ideas come from this thread (http://forum.darwinbots.com/index.php?showtopic=450) - I'm just reitterating them here because I agree that they should be implemented :)
-
First off, check out This proposal of mine (http://forum.darwinbots.com/index.php?showtopic=560) for ties. I think it addresses many of your concerns. It's a long read, so be sure you read it all.
I agree with the concept of everything you said, allow me to address some specifics:
iv) Unifying the birth tie and regular ties
- The birth tie becomes a regular tie that a bot must either delete or stay connected to their offspring (this may be useful for MBs)
I do think birth ties should be able to harden, but I don't think it should be the default behavior. Maybe a toggle sysvar the bot can set as to how it wants birth ties to be handled.
v) An in/out system through ties
- Each bot can store something in .tieout and each bot can read back these values using .tiein1, .tiein2, .tiein3, .tiein4 for each bot they are connected to.
- Note that there is only one .tieout sysvar, as things will quickly become complex for bots on the recieving end otherwise
The link I provided above discusses allowing tied bots to have free access of each other's internals. That would make soemthing like this moot, as you could do this with each and every sysvar if you wanted.
vi) For bots to be able to set an elasticity value for ties
- Setting a high value would result in the bots getting pulled together
I'm working on this right now (sort of).
vii) Cell specialisation and structure
I'm not sure how many posts you've read where we discuss this idea. The suggestions forum has a whole sub category for it (it's tied in with other things). It was a big thing to talk about about a year ago. Other thigns have taken more of my time to work on than I would have liked, so I never got the chance to sit down and figure out code for it (though I have been thinking about it and how to do it for quite a while).
Feel free to read through all the different posts and maybe develop a working plan of your own. In fact, there's a section of the wiki I've built for it where I can talk about actual algorithms and order of complexity and things like that that are important but don't make alot of sense to most lay people.
Near the very bottom (http://www.darwinbots.com/WikiManual/index.php?title=C_plus_plus_version).
Feel free to start up a page on specialization and speciation and summarize various ideas of your own or ideas from different threads you've read.
viii) Feeding
- Rather than using shots secrete enzymes that break down the food and then absorb the energy
This would probably tie in with the environment grid (unless you mean ingesting another bot, in which case I discussed that here (http://forum.darwinbots.com/index.php?showtopic=861). I can't believe it's been so long. October feels like a few weeks ago to me.)
My intent is to allow an easier creation of more complex multicellular organisms and allow them to develop more complex behaviors and structures
This is my long term intent as well.
And, just to plug it for a moment, you seem to have a fairly good grasp of the program as it now stands. Might you be interested in working with me on the code?
-
Might you be interested in working with me on the code?
:)
I minimally understand VB at the moment (and I used to program in QBASIC when I was younger)
Is the thing that comes with MS Word VB or do you have to get a seperate VB program? The MS Word DB is something to do with macros.
On the other hand I am fairly sure that with perseverance I might be able to get the hang of it :)
Took a look at the source code of DB - :huh: :o
So Basic:
Goes like this doesn't it:
IF [something] THEN
[do something]
ELSE
[do something else]
END IF
DEF to define an array
PRINT "[something]",
Text variables have a $ at the end
etc.
Object-orientated huh? Lots of interacting modules and subroutines
One thing I notice about the DB on MS Word is the conspicuous lack of help files <_<
Is there a list of commands anywhere?
-
You can get compilers for the code on the tools section of the download area. Presently the code is being ported into C++ since it makes alot of things easier to program, adds cross-platform ability, etc. The VB source code will terribly soon be obsolete (or so I hope, we may have a few months yet depending on how much time people put into it).
VB isn't too hard to learn, it follows very closely to english.
C++ would take a bit more time, but I think I managed to learn C as my first real programming language (not counting a little dinkering in basic) in more or less a month.
-
When do you expect to have the code ported to C++?
And what stage are you at currently?
-
I'm past 75% finished.
I basically have to code in a user interface and finish ties and mutations. I have DNA being read in and executed. I have shots. I have a impressively stable physics simulation that kicks butt compared to 2.37.
However, I have alot of bug testing left to do. Animal Minimalis is acting goofy, and I'm not sure why.
-
Animal minimalis relies heavily on refvars - something up with that?
And viruses are acting so weird in 2.4 - it seems as though they no longer have any range :wacko:
-
I beleive I fixed a range issue with viruses that were giving them too much range for the nrg used in shooting them.
shootval I think is the sysvar that controls the range. Jack it up to like 200 or something.
-
Then what does the number in .vshoot control?
-
Oh, maybe it's vshoot. It's been a long time since I played with viruses, so you'll have to bear with me.
-
Got it to work using a number in .mkvirus, but *.thisgene is acting odd
Also:
The virus is sometimes inserting itself between the cond and start of another gene
The virus isn't copying it's condition
Self-replicating viruses don't seem to work
The viruses are much shorter-ranged
Wow, alot has changed in 2.4 :o
-
Hmm, seems you're right. I don't know why no one caught that, or if they did why I didn't fix it.
-
It is .vshoot BTW.
Maybe the new more flexible dna/mutation structure is interefering with viral insertion. Which is probably not such a bad thing...
I don't think anyone has been seriously using 2.4 like other versions. Not too surprising nothing has been noticed.