ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
question (Bots)
question // Botscrazy pillsAug 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 joemanAug 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] xelagAug 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] kahAug 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 xelagAug 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 pillsAug 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] joemanAug 19, 2003, 4:45pm
bowenAug 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 bowenAug 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 xelagAug 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] joemanAug 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] xelagAug 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] kahAug 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 rapierAug 23, 2003, 9:17am
So make the browser only send it when it has a bump command on?
- Mark xelagAug 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 > codewarriorAug 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] ananasAug 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] bowenAug 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 joemanAug 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] codewarriorAug 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] ananasAug 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] bowenAug 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 |