Author Topic: Bots with Feelings  (Read 9782 times)

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Bots with Feelings
« on: June 07, 2005, 12:37:13 PM »
Hey everyone!

I was wondering if it would be possible to make a bot that had a reeeally basic set of 'emotions' for events. Not the kind of emotions we think of, rather crude weightings that are associated with events.

Like being shot at or having low energy would give a negative weight. Reproducing or feeding would give a positive weight. Then the bot could act in such a way as to make its 'emotional state' as high as possible by carrying out the appropriate events.

I know this would be no mean feat and would probably make the bot clunky and slow in a competition but this is just food for thought lol.

B) Ulciscor B)
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bots with Feelings
« Reply #1 on: June 07, 2005, 12:41:35 PM »
You'd have to either set up a neural network (as you suggested in the other post) or a Finite State Machine or something along those lines.  It would mean quite a bit of programming, but I'm sure it's possible.  The trick is just deciding on an appropriate structure for your DNA.

And quite a few variables, but that's not a bad thing since 800 aren't used.   :lol:

1.  You'd need to have weights for each state, both permanent (remembered) and
temporary (I'm getting hungry!)

2.  A variable for the current state

3.  Something to stop other states from interupting a current state where needed

4.  Something to pick a new state based on weights for each state (both permanent and temporary) after a current state is at a good stopping place.

Would be some work, but it's possible.

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
Bots with Feelings
« Reply #2 on: August 20, 2005, 03:34:21 PM »
yeah, a mb or Mb is able to do that, by making all the bots a part of the brain.
When I have the eclipse cannon under my control there is nothing that can stop me from ruling the world. And I wont stop there. I will never stop conquering worlds through the universe. All the worlds in the universe will belong to me. All the species in on them will be my slaves. THE ENIRE UNIVERSE WILL BELONG TO ME AND EVERYTHING IN IT :evil: AND THERE IS NOTHING ANYONE OF you CAN DO TO STOP ME. HAHAHAHAHAHAHAHA

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Bots with Feelings
« Reply #3 on: August 21, 2005, 12:32:40 PM »
Inter-bot communication will need to be improved first.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Bots with Feelings
« Reply #4 on: August 21, 2005, 07:51:59 PM »
I really need to find a way to get a bot to test whether a tie is actually tied or not, if you know what I mean.
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bots with Feelings
« Reply #5 on: August 21, 2005, 07:58:23 PM »
You mean if a tie attempt was successful?  Easiest way is if the number of ties increases.  It's not foolproof, but it's just about.  I can't remember what sysvar handles that.  numties I think it's called.

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Bots with Feelings
« Reply #6 on: August 21, 2005, 09:42:33 PM »
More than that; if I have 4 ties a,b,c & d, I want to be able to tell which ties are intact and which aren't
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Bots with Feelings
« Reply #7 on: August 22, 2005, 08:47:38 AM »
Sounds like we may need to introduce a "ping" command.

We could use a,b,c to address the internal tie array and numbers to address the tie phases.

"ping a" would return 1 if there is currently a tie in the first tie array position.
"ping 12" would return a 1 if there is currently a tie with a phase of 12. 2 if there are two ties with a phase of 12.

If this would be helpful then it could very easily be added.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Bots with Feelings
« Reply #8 on: August 22, 2005, 09:36:17 PM »
I like the idea of a ping function(states of 1 or 0 would be useful), with all of these new ties and tielenX/tieangX it'd be useful to know which ties are actualy being used. So far I've just randomly stored the same value into all of them in hopes of hitting the right tie.

I've looked into finite state machines, made some progress into figuring out how to use math to make true/false/other statements (and, or, xor, not). Using in/out memloc and tmemloc set at 1, 0, -1. It's possible to communicate up to a max of 81 different states between bots.(for more info just ask) I still haven't worked out a practical use, but maybe you could use it for a neural net somehow.
« Last Edit: August 22, 2005, 09:45:15 PM by Endy »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bots with Feelings
« Reply #9 on: August 23, 2005, 08:56:11 AM »
Just a note at some point I thought I'd like to add 3 more in/out pairs (for use in communicating coordinates especially.)  I don't think I did it in 2.4, but I'd have to check.  Just throwing that out here.  Ulc's post reminded me of it.

Offline Light

  • Bot Destroyer
  • ***
  • Posts: 245
    • View Profile
Bots with Feelings
« Reply #10 on: September 02, 2005, 09:02:48 AM »
A few more in/outs would be good  :)

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Bots with Feelings
« Reply #11 on: September 02, 2005, 09:07:59 AM »
Don't forget the little (if ever) used memloc/memval pair.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bots with Feelings
« Reply #12 on: September 02, 2005, 09:26:28 AM »
But the memloc/memval pair is most useful for conspec recognition.  I wonder how many conspec recognition systems exist in DB...

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Bots with Feelings
« Reply #13 on: September 02, 2005, 09:29:07 AM »
The more the better IMO.

Has anyone ever used memloc/memval?

I can't remember seeing any bots that use it.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bots with Feelings
« Reply #14 on: September 02, 2005, 01:59:05 PM »
My bots are usually memloc/memval whores.  The ones ment to compete anyway.  That's Ymir and SC I think.

I dunno about other people's bots.