Darwinbots Forum

Code center => Suggestions => Old Suggestions Awaiting Programming => Topic started by: Numsgil on February 26, 2005, 06:34:54 AM

Title: Possession
Post by: Numsgil on February 26, 2005, 06:34:54 AM
I think it would be fun if we could 'possess' a bot, and control it.  We could make it move around, fire shots, reproduce, the whole bit.  Would probably only really work for single bots.

Doesn't really add anything to the simulation but it would make the simulation feel less passive.  We could even have a way to darken everything on the screen except what the possessed bots's eyes reveal.

Would help us relate to bots at the very least.   B)
Title: Possession
Post by: Botsareus on February 26, 2005, 11:39:25 AM
Yea for PusherBots I added the "Humen vs Bots" mode long time ago. Should work.

Problem with DB is there are tons of stuff like virus , shell etc. how are we going to control that, unless we only use an Existing  DNA and manually activate Genes

Still having full control is more fun.

Make it fear a humen can see only what a bot can.

Next problem, when a bot infects a humen with a virus , what happens? The controls are a little scrambled is the best solution (based on what the virus does)
Title: Possession
Post by: PurpleYouko on February 26, 2005, 12:29:03 PM
This could be really cool. B)

Human inteligence driving a bot could be a lot of fun.  :evil:

We can even have online battles with a good internet connection.

SWEEEEET  :evil:

 :D  PY  :D
Title: Possession
Post by: Old Henk on February 26, 2005, 12:40:20 PM
As to DNA, simple define-like-thingies at beginning of DNA should be enough.


define .up <UP ARROW> 5 'if  the up arrow is pressed, 5 gets stored in .up
define .aimdx <RIGHT ARROW> 314
define .aimsx <LEFT ARROW> 314
define .shoot <SPACE> -1


you get the idea...

Henk :)
Title: Possession
Post by: Zelos on February 26, 2005, 12:41:16 PM
I was thinking on that 2 py, could be awesome
Title: Possession
Post by: PurpleYouko on February 26, 2005, 12:54:35 PM
Oh Yes! :lol:

I really like this idea. The player interface will need some work but I think it may be doable in the not-too-distant future.

Some kind of mouse controlld steering system could work.

Simply hold the mouse where you want to face and the robot will face that way. press the up arrow and it will accelerate in that direction. If the mouse is further away then it will go faster (accelerate harder). Bring the mouse nice and close to sneak around quietly.
Click left mouse button to shoot -1 and right to shoot -6.

Other gene functions can be customized and set to the Function keys.

 :D  PY  :D
Title: Possession
Post by: Light on February 26, 2005, 01:02:04 PM
would you imagine this to be real time say 1 cycle a second or turn based?
Title: Possession
Post by: PurpleYouko on February 26, 2005, 01:05:19 PM
Oh real time definitely

 :D  PY  :D
Title: Possession
Post by: Botsareus on February 26, 2005, 02:44:06 PM
We also need a simple nice head up display for our energy and stuff like that...
Title: Possession
Post by: Numsgil on February 26, 2005, 10:47:23 PM
Another movement system that is hard for people who aren't used to it but which I got really good at is this:

up/dn: accelerate/brake
left/right: turn left /right

That's how starport GE (a very addictive free MMO game that restarts every 2 weeks, well worth a look for anyone who has nothing to do for the next month ) does it.

I think we'd have to have a full set of customizable controls, like most FPS have.  That way everyone can configure it to their preference.

Some people prefer the wasd (the w,a,s,d keys for up,dn,lft, right)  system of movement, others the arrow keys.

It would be alot of fun to see if you can make a bot that could beat a human in real time combat.

And a good HUD would be essential.
Title: Possession
Post by: PurpleYouko on February 27, 2005, 02:09:56 AM
How fast would it rotate though?

You would have to use fixed increments this way. I prefer the mouse approach. Any angle you like instantly.

 :D  PY  :D
Title: Possession
Post by: Numsgil on February 27, 2005, 08:24:41 AM
It's just the method I prefer.  You'd have to set a standard incrementing angle.

Also, we should have some autotomic genes we can activate and deactivate.  Kind of like an autopilot if we're firing, or something like that.
Title: Possession
Post by: PurpleYouko on February 27, 2005, 11:24:47 AM
It wouldn't be too much work to toggle between two forms of control. Mouse or keyboard.

A few gene types would need to keep firing in the background to keep the robot alive. Possibly we just need to control movement and leave the rest up to the DNA with a few overrides maybe.

I think maybe reproduction should be manually controlled too.

Maybe the F keys can be set to represent the different genes.

Or we just allow the F keys to be user defined to represent different functions.

I have a funny feeling that it is going to be extremely hard to run a robot manually and make it competetive.

 :D  PY  :D
Title: Possession
Post by: Botsareus on February 27, 2005, 11:30:49 AM
Quote
I have a funny feeling that it is going to be extremely hard to run a robot manually and make it competetive.

Yea and also some things effect robots with Ordinary DNA. This things will effect a Humen differently

 :shoot:  :sleep:
Title: Possession
Post by: k0zm0 on February 28, 2005, 03:31:29 PM
Is it possible to control the bot and to record DNA?

Like: Program is monitoring the controls and then compares the controls and conditions.
         If the controls are repeating then the program looks at values and makes the dna

Example: We control the bot and shoot when we see veg. We repeat this 20 times.
                Program should compare the events and make DNA

cond
*.eye5 11 > 'Program monitors the controls and gives the average value (11)
start
-1 .shoot store
stop
Title: Possession
Post by: Numsgil on February 28, 2005, 03:39:29 PM
It's possible but it'd be a huge project, months and months worth of man hours I'd imagine.  The program would have to analyze your actions and not only determine what you did but why you did it.

It would be on par with the AI system in Black and White, albeit a little simpler perhaps.  To give you an idea, the AI system in Black and White was the most sophisticated AI system in existance when it came out.  It might still be.
Title: Possession
Post by: MightyPenguin on February 28, 2005, 03:52:32 PM
The AI system in B&W took about thirty people the best part of  a decade to make and it was still a huge pile of dung.
Title: Possession
Post by: Numsgil on February 28, 2005, 06:13:31 PM
It was actually very complete.  The problem was that it was soooo complete.  The stupid little animal would remember how hard you slap/stroke it, not only what it was doing but when it was doing it, etc.
Title: Possession
Post by: Botsareus on February 28, 2005, 07:29:19 PM
B)  :evil: cool AI


Not too good for DB but will be nice use for Cosmic Rift.

Better: Someone can use that to make "smarter" computers if people do repeating tasks on them. We let this little program record mouse, vedio and , keyboard. Then based on vedio and DNA it will control the computer itself.
Title: Possession
Post by: MightyPenguin on March 01, 2005, 05:45:43 AM
Quote
It was actually very complete.  The problem was that it was soooo complete.  The stupid little animal would remember how hard you slap/stroke it, not only what it was doing but when it was doing it, etc.
Numsgil, in all honesty, have you played the game? The context parser was shot all to hell.
Title: Possession
Post by: Numsgil on March 01, 2005, 08:16:50 AM
Yep beat it (who hasn't, right?).

The creature is a fuzzy logic machine, which means how hard you slap/stroke it will set the potentials for those actions.  Which means you can set some very complex reactions.

For instance, look here (http://www.wischik.com/lu/senses/bwcreature.html).  Were you doing all this?  Most people underestimated the game, and so when the creature began really watching what you were doing without abstraction people began to think it was bugged.

You had to teach the creature like you were training a dog.  Most people don't know hot to train a dog either.

Quote
The creature views villagers differently: adults and children, men and women, your own villagers and enemy villagers, all differently. To complete your creature's training about all types of villagers will take time. In fact, he can make many sorts of distinctions between different classes of an object. One creature I know will only poo next to a rock that he just threw over his shoulder!
.

The problem was that the creature was smarter than you!  To me a tree was a tree.  Rocks were either carryable or not.  To the little guy there were trees of different sizes, rocks of different distinctions.  To me the villagers were are all the same (some God I am :P).  To the creature there are so many villagers it isn't funny.

Once I figured out how the crazy little animal thought, training became easier.  Eventually I was able to train a creature to find baby trees, pick them up, bring them to the village and plant them and water them.  That's a very complex behavior that it learned from me.  The program only had a collection of actions and objects, and the creature learned not only to associate them but to associate them in orders.

It did what we're trying to do in a sense.  We just provide bot functionality, and expect the bots to figure out how to use them effectively.
Title: Possession
Post by: MightyPenguin on March 01, 2005, 12:37:31 PM
I'm talking about the way that if you punished it for something a bare halfsecond after it had done it it would have a clue what the context was.
Title: Possession
Post by: Numsgil on March 01, 2005, 12:47:12 PM
That's cause they wanted you to watch your creature.  IE:  they were promoting micro management.  And it wasn't right after always.  You had until your creature decided to do something else.
Title: Possession
Post by: SyndLig on March 01, 2005, 06:00:25 PM
I admit, I neglected my creature, the first 50 times through (I'm more into the buildings than the creature training, that's why I balked on Creatures 2 after the first week).

But hey... he always turned out good in the end!  But that could be because I was on level 5... whoops.   :cheers:
Title: Possession
Post by: Numsgil on March 01, 2005, 07:27:33 PM
If you have a second (okay, something like 48 hours and a ton of caffeine) go back through and train your creature like it's smart enough to know exactly why you're doing something.

If you reach the point where you've potty trained it to go in the fields, you have officially figured out the AI system.
Title: Possession
Post by: ashton15 on April 01, 2010, 12:15:43 PM
how about
cond
*.keytoggled *.space =
start
.shoot dec
stop

or

cond
*.keydown *.space =
start
.shoot dec
stop

this aproach would be compatiable with other genes and also values could be set in a kind of hidden memory equal across the entire simulation in the same way you would write

def space 100

cond
*.robage 0 =
start
1 .space store
stop

finally you should also have .keypress for singular actions, this would be similar to flash and sorry for bumbing a five-year old thread but it's a good idea which could initially engage a lot of new users
Title: Possession
Post by: Houshalter on April 01, 2010, 01:03:54 PM
I agree. The AI can be done differently to. Just record all the input/output and put it through a GA that tries to match the behavior.
Title: Possession
Post by: Numsgil on April 01, 2010, 04:38:30 PM
Incidentally I was thinking of this a few weeks ago.  Something I want to play with (in the distant future) for DB3.