Author Topic: Some tie suggestions  (Read 4038 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some tie suggestions
« 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 - I'm just reitterating them here because I agree that they should be implemented  :)
« Last Edit: February 25, 2006, 09:51:59 AM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some tie suggestions
« Reply #1 on: February 25, 2006, 01:57:49 PM »
First off, check out This proposal of mine 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:

Quote
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.

Quote
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.

Quote
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).

Quote
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.

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.

Quote
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.  I can't believe it's been so long.  October feels like a few weeks ago to me.)

Quote
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?

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some tie suggestions
« Reply #2 on: February 25, 2006, 03:20:48 PM »
Quote
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?
« Last Edit: February 25, 2006, 04:07:57 PM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some tie suggestions
« Reply #3 on: February 25, 2006, 04:25:34 PM »
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.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some tie suggestions
« Reply #4 on: February 25, 2006, 04:55:15 PM »
When do you expect to have the code ported to C++?

And what stage are you at currently?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some tie suggestions
« Reply #5 on: February 25, 2006, 05:00:22 PM »
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.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some tie suggestions
« Reply #6 on: February 25, 2006, 05:10:56 PM »
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:

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some tie suggestions
« Reply #7 on: February 25, 2006, 05:14:39 PM »
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.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some tie suggestions
« Reply #8 on: February 25, 2006, 05:22:22 PM »
Then what does the number in .vshoot control?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some tie suggestions
« Reply #9 on: February 25, 2006, 05:37:00 PM »
Oh, maybe it's vshoot.  It's been a long time since I played with viruses, so you'll have to bear with me.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Some tie suggestions
« Reply #10 on: February 25, 2006, 05:51:46 PM »
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

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some tie suggestions
« Reply #11 on: February 25, 2006, 06:00:25 PM »
Hmm, seems you're right.  I don't know why no one caught that, or if they did why I didn't fix it.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Some tie suggestions
« Reply #12 on: February 26, 2006, 02:34:00 AM »
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.