Thread

question (Bots)

question // Bots

1  |  

crazy pills

Aug 17, 2003, 11:53pm
is there a way to make a preston use bump detection as an event? i havnt
found a way, because i think preston as out before bump detection was added
to aw

joeman

Aug 18, 2003, 1:11am
Uh, there's not going to be any "bump detection" to objects, unless a bot
downloads the objects, and calculates the boundaries. As for "bump
detection" in the browser, I think its been there since 2.2, perhaps before?

-Joe

[View Quote]

xelag

Aug 18, 2003, 9:52am
As joeman says, collision detection require a full 3d rendering engine
in the bot, which bots do not have: download and unzip of objects
(also passworded one, which is not possible), creating in memory a 3D
environment, and calculating collision. For precise detection, not
only boundaries are needed, the full geometry must be calculated.

Alex

[View Quote] >Uh, there's not going to be any "bump detection" to objects, unless a bot
>downloads the objects, and calculates the boundaries. As for "bump
>detection" in the browser, I think its been there since 2.2, perhaps before?
>
>-Joe
>
[View Quote]

kah

Aug 18, 2003, 10:24am
"xelag" <xelag at digitalspace.com> wrote in
news:fpe1kv0pepl01c1616vaqpa6985vc50860 at 4ax.com:

> As joeman says, collision detection require a full 3d rendering engine
> in the bot, which bots do not have: download and unzip of objects
> (also passworded one, which is not possible), creating in memory a 3D
> environment, and calculating collision. For precise detection, not
> only boundaries are needed, the full geometry must be calculated.

For most use the boundaries would probably suffice. It would be a monstrous
task trying to implement full collision detection in a bot. It really is a
browser job.

KAH

xelag

Aug 18, 2003, 10:45am
Arches?

[View Quote] >"xelag" <xelag at digitalspace.com> wrote in
>news:fpe1kv0pepl01c1616vaqpa6985vc50860 at 4ax.com:
>
>
>For most use the boundaries would probably suffice. It would be a monstrous
>task trying to implement full collision detection in a bot. It really is a
>browser job.
>
>KAH

crazy pills

Aug 19, 2003, 2:38pm
ok, i just wanetd to know because we have bump, and ive seen soem bots like
if you bump through an object it says something... i was j/w
[View Quote]

joeman

Aug 19, 2003, 4:45pm
Let me guess, those were in AWCom worlds? Grimm programs some crazy bots...
eh?

-Joe

[View Quote]

bowen

Aug 19, 2003, 6:58pm
[View Quote] I guess all it needs is the origin of the object.

--
--Bowen--

No of SETI units returned: 69
Processing time: 57 days, 10 hours.
(Total hours: 1378)
www.setiathome.ssl.berkeley.edu

joeman

Aug 19, 2003, 7:04pm
What about larger objects in worlds without shift? :P

-Joe

[View Quote]

bowen

Aug 19, 2003, 7:07pm
[View Quote] Predifined width/depth/height of objects? Or maybe it scans the object
looking for the largest of each. (very simple system, would cause
problems with weirdly sized/shaped items)

--
--Bowen--

No of SETI units returned: 69
Processing time: 57 days, 10 hours.
(Total hours: 1378)
www.setiathome.ssl.berkeley.edu

xelag

Aug 20, 2003, 1:02pm
You can do this trick with bots, for example, xelagot running a script
can detect if someone is in a certain area (this area can be a sphere
or cube or a few more shapes). So in this way you can imitate a few
predefined "bumps". But it's not the same as real collision.

Alex

On 19 Aug 2003 12:38:07 -0400, "crazy pills" <chris101d at comcast.net>
[View Quote] >ok, i just wanetd to know because we have bump, and ive seen soem bots like
>if you bump through an object it says something... i was j/w
[View Quote]

john

Aug 22, 2003, 4:19pm
aw cud just send a Aw_Avatar_Object_Collide event

:D

~John

[View Quote]

joeman

Aug 22, 2003, 5:05pm
Yes, "AW" "could" send "an" Aw_avatar_object_collide, but the shear amount
of bandwidth that would take up, and the overwhelming amount of events
triggered on the bot would probably crash even the most well designed bot.
Because, AW calculates, as do any other 3d engine, the collision every X
<insert time expression here>, so an aw_avatar_object_collide would be sent
every X... Anyway, it shouldn't be the clients responsibility to manage
collision detection for the bot, the bot should take care of all that.

-Joe

[View Quote]

xelag

Aug 22, 2003, 11:57pm
It is the job ob the browser, locally, to determine collision of its
own avatar. The world server knows nothing about it, neither do bots.
When the browser detects collision, it will restrict the position of
its owqn client avatar. It would be great to have a special event for
this for bots, but rather useless, as position detection would not be
possible at the client SDK level.

Alex


[View Quote] >aw cud just send a Aw_Avatar_Object_Collide event
>
>:D
>
>~John
>
[View Quote]

kah

Aug 23, 2003, 9:10am
"xelag" <xelag at digitalspace.com> wrote in
news:2jhdkv0m6fsq18dpta2g7j4tvpe3luflqf at 4ax.com:

> It is the job ob the browser, locally, to determine collision of its
> own avatar. The world server knows nothing about it, neither do bots.
> When the browser detects collision, it will restrict the position of
> its owqn client avatar. It would be great to have a special event for
> this for bots, but rather useless, as position detection would not be
> possible at the client SDK level.

Think he meant something like the browser sends a message to the world
server, which then sends it on to bots subscribed for that event if it
collides. Of course, as Joeman said, that'll overload any bot with just a
few persons in range.

On the other hand, if you only sent it for objects with a special flag
enabled, it might work. The amount of these events would need to be
throttled down, as getting it between 5 and 100 times a second would still
be very high load. Don't think we'll see it soon :-D

KAH

strike rapier

Aug 23, 2003, 9:17am
So make the browser only send it when it has a bump command on?

- Mark

xelag

Aug 23, 2003, 10:30am
That would be quite a nice feature :)

On 23 Aug 2003 07:17:39 -0400, "strike rapier"
[View Quote] >So make the browser only send it when it has a bump command on?
>
>- Mark
>

codewarrior

Aug 24, 2003, 1:16pm
Couldn't the desired effect be acheived with one extra command:

event "arbitrary stuff"

It could be used with any trigger, and would send the arbitrary
stuff as an event that could be sensed by bots.

bump event "object 22 was hit"

... would send an SDK event that would 'look like' something like
a chat even from that cits browser so you could tell who bumped
into the thing.

You could also use the new command with the create, activate and
adone triggers as well though, making it a lot more flexible than just
getting an SDK event on bump collisions. If you did all bump
collisions, it would probably be overkill.. you might not want that,
and then you would need a way to turn them on and off selectively.

It's also probably a lot easier for AW to add a new command in the
form of the current ones, than to tinker with the existing command
and triggers. This would be a completely new thing that would exist
apart from anything else that's already in there.

With a little extra thought, it could even be useful without using bots.
Some 'metacommands' could be built into the syntax from the
start that browsers could parse and implement. You might do:

bump event "hey bots object 22 was hit" chat="humans fear not"

which would send the SDK event, and also display a message
in all browsers chat windows.

Continuing along those lines, you might have

activate event sdk="blah" browser="foo" server="bar"

Just a thought.

Throw in a meta language where %C is the cit number, %W is
the world and such, and you're having a lot of fun for very little
extra code on AW part.

[View Quote]

ananas

Aug 24, 2003, 1:57pm
I think, with a registry it should be possible for
the world server, to trigger bump events in a similar
way as it detects encroachments without adding a full
feature render engine to the server.
At least on avatar base position level it should work.

Of course I am not sure how much additional load it
would bring to the server. But I think, if they limited
it to the current cell plus the 8 adjectant cells, a
good server hardware should be able to handle it easily.


[View Quote]

bowen

Aug 24, 2003, 4:59pm
[View Quote] On every fifth collision detection with a singular object have the
browser send a "bump event" to the server. Seems like it'd work fine
and wouldn't spam bots and servers to death. Of course if they keep
walking into objects that might be a different problem. Maybe have a
different event for non-solid objects.

--
--Bowen--

No of SETI units returned: 74
Processing time: 66 days, 6 hours.
(Total hours: 1590)
www.setiathome.ssl.berkeley.edu

joeman

Aug 24, 2003, 7:59pm
Eh, they're adding an custom sdk_event trigger to the browser in 3.5, but,
not applied to objects. I'm still saying, the browser doesn't really have a
throttle, heck, the more collision detections it can calculate, the smoother
the movement against an object. I guess you could whip up some code like...

if(object.collided && !object.trigcolision){
//send collision event
aw_send_collision(object.id);
object.trigcolision = true;
} else if(!object.collided && object.trigcolision){
//We must unset!!! :P
object.trigcolision = false;
}

update_rendering_collision();

Or something to that effect. But, that's only supposing objects are C++
classes and whatnot... I guess object could also be a struct... That whole
thing would be needed to be executed whenever there's a collision detected.
ehfasdjfasdl;fk Im tired.

-Joe

[View Quote]

codewarrior

Aug 24, 2003, 8:57pm
There is already something in the browser doing all the trigger
calculations,
including the bump trigger, which is based on collisions. It is already
deciding
if it needs to call the bump command, so adding a new command would not
change anything relating to the current collision code... it could still be
done
exactly as they are now and therefore it would not slow the browser
down in any way.

If the world owner used a lot of them, and many people were in a world
causing them, then it might start to affect performance, but they would only
be used willfully and consciously... not 'under the covers' by a new
mechanism inserted into or cloned off of the current collision detection
code
over which you might have no control.

Apart from the idea of having events going to other browsers or
back to the server, if the events only fire at bots, then the problem is
linearly bounded by the number of bots and cits and will not go geometric
as more citizens come in. A single bot world will be easily handled by
both the bot, and the visitors browsers. If the command could target
a specific bot, then even the penalty of having multiple bots in a world
is eliminated. Perhaps a new world configuration option identifying the
bot or bots you want to get events, or a new SDK function for bots
to register for them.

The events should probably have some hysterisis so they only fire once
until you either stop colliding with whatever it was, collide with something
new or otherwise move away from the thing so you're not flooding
everyone with a stream of events. I think that was what you were trying
to say with your code example.

Whatever they can do would be an improvement, and any limitations it
might have would be worth living with.

[View Quote]

ananas

Aug 25, 2003, 4:38am
Don't forget that walking _on_ objects creates a bump
event too. Should really not be done by the browsers.


[View Quote]

bowen

Aug 25, 2003, 6:01am
[View Quote] Hmm, maybe make a world server option for "tagged" bump events or
something... then have the browser check for tagged, always, or none. ?

[View Quote]
--
--Bowen--

No of SETI units returned: 74
Processing time: 66 days, 6 hours.
(Total hours: 1590)
www.setiathome.ssl.berkeley.edu

1  |  
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn