HELP NEEDED: Tracking Device & Beacon System for game.
|
|
Burke Prefect
Cafe Owner, Superhero
Join date: 29 Oct 2004
Posts: 2,785
|
01-25-2007 13:28
Howdy folks! I'm working on some active participation games for an upcoming series of events and need help working out a few things that, while I know I'd figure it out eventually, I'd rather spare myself the brain sprain and ask the community for help.
Here's the game: Around a sim, or series of sims, there are things that need to be found. They could be easter eggs, jewels, debris from a stealth spyplane, or snipes. It could even be the grey matter of the top lindens. Whatever they are, they're hidden, and need to be found.
To help with this endeavour, the search teams will be equipped with a basic signal reader. The reader, tuned to specific frequencies can pick up the objects and indicate signal strength.
The scanner HUD would : - indicate strength of the signal, closer is stronger, farther is weaker, etc. - give rough direction by growing stronger when the avatar is pointing towards the signal - fake interference or signal weakness depending on variables from the beacon.
The beacons would: - accept chat pings from trackers, replying with their location, 'hidden factor', etc. - use a slow sensor repeat to see if agents were within normal visual range and stay invisible if they shouldnt be seen to thwart cam hacking. - IM the owner when it detected people nearby. or when it was clicked and 'found'.
I'm trying to figure out what would be the best way, scripting wise, to make this work. Namely the signal indicator part. This presently wouldn't cost any money to the participants, they'd already be buying into the ARG in other ways. Any ideas?
|
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
01-25-2007 14:19
Hello Burke! I've not seen you around here for a while.
I would say that as long as you don't mind a 100m range, having the beacons send out pings themselves on a channel at regular intervals with an identifying name and location and anything else you want to pass on (rather than waiting for HUDs to ping them) would be reasonable - assuming we're not talking about hundreds of beacons in a sim I suppose. I would try to have the beacons do as much pre-processing as possible before sending out a signal i.e. pretty much everything that doesn't depend on the location of the HUD.
Invisible prims will still be visible if someone turns on highlight transparent though. Not quite sure how to get around that. Also, someone could quite easily make a scanner to detect scripted objects to get the precise location if it has an identifiable name and there isn't a load of sim "clutter", other scripted objects within 96m.
Oh... hold on. I have an idea. Instead of having individual beacons sending out pings, you could actually just have a central server that had data on "virtual beacons". You tell it where the "beacons" are supposed to be and it shouts out pings for them on a regular basis. They don't actually exist, but once someone gets close enough to one of the positions it could send out an "aha you found me" message and give objects, or something like that. Does that sound appropriate?
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal
http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names
|
|
Arachnid Baxter
Registered User
Join date: 8 Jan 2007
Posts: 44
|
01-25-2007 14:38
Why not just give the items to be found a consistent name, and use llSensor in the hud to get all the information you need?
|
|
Burke Prefect
Cafe Owner, Superhero
Join date: 29 Oct 2004
Posts: 2,785
|
01-25-2007 15:09
From: Arachnid Baxter Why not just give the items to be found a consistent name, and use llSensor in the hud to get all the information you need? Because I'm trying to make some effort to prevent cheating. 
|
|
Burke Prefect
Cafe Owner, Superhero
Join date: 29 Oct 2004
Posts: 2,785
|
01-25-2007 15:10
From: Ordinal Malaprop Oh... hold on. I have an idea. Instead of having individual beacons sending out pings, you could actually just have a central server that had data on "virtual beacons". You tell it where the "beacons" are supposed to be and it shouts out pings for them on a regular basis. They don't actually exist, but once someone gets close enough to one of the positions it could send out an "aha you found me" message and give objects, or something like that. Does that sound appropriate?
About how do you think it would take to script that up, and for how much? I'm probably not going to be making more than tip money for doing this 
|
|
Damanios Thetan
looking in
Join date: 6 Mar 2004
Posts: 992
|
01-26-2007 00:45
You're prob. best using shout/listens, like Ordinal suggested. Shout out a list of data from the beacons, containing locationvector, strength etc. using llDumpList2String.
And listen to them from HUD and parse back with llParesStringToList. - Signal strength can be calculated by taking llVecDist(pos,beaconpos) * interferencefactor * beaconstrength. - Direction can (probably) be calulated by llRotBetween(llVecNorm(pos),llVecNorm(beaconpos - pos)), which will give you the rotation needed to go to the beacon. You can maybe put this rotation in an arrow on the hud by setting llSetLocalRot of a linked prim.
On the 'visibility' of things. Invisiprims aren't visible, even when using highlight transparent, or you could use very small prims ofcourse...(LOD will make them only appear when you're pretty close then)
|
|
Daisy Rimbaud
Registered User
Join date: 12 Oct 2006
Posts: 764
|
01-26-2007 02:57
Who said anything about having them invisible? Finding one small prim in an entire sim is quite hard enough. I've been thinking of a similar game, but without the scanners.
|
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
01-26-2007 04:23
From: Ordinal Malaprop Oh... hold on. I have an idea. Instead of having individual beacons sending out pings, you could actually just have a central server that had data on "virtual beacons". You tell it where the "beacons" are supposed to be and it shouts out pings for them on a regular basis. They don't actually exist, but once someone gets close enough to one of the positions it could send out an "aha you found me" message and give objects, or something like that. Does that sound appropriate? I'd go with ordinal's second Idea, dont have any prims/beacons. The scanner is told by a server, possibly when rezzed/bought?, where the items are meant to be and acts accordingly. When the user is within the find range have it rez the prize.
|
|
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
|
01-26-2007 17:23
The nice thing about having "no objects" to track.. is that no one can "cheat" your system and use a detector to shoot a line of particles at the nearest scripted object
_____________________
 ● Inworld Store: http://slurl.eclectic-randomness.com ● Website: http://www.eclectic-randomness.com ● Twitter: @WinterVentura
|
|
Hg Beeks
llGetElement(80);
Join date: 13 Apr 2006
Posts: 134
|
01-27-2007 02:41
I wish I could be more help here. All I can think of for any of your issues is the llSensor on the objects to be found, and if an agent is within normal sight range (Say, thirty meters) then change the transparency. I can't think of anything else to help out off the top of my head.
|
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
01-27-2007 04:16
From: Burke Prefect About how do you think it would take to script that up, and for how much? I'm probably not going to be making more than tip money for doing this  Probably not that hard to make, at least not the basic functions. The beacon server has to shout out where the beacons currently are to the HUDs. The HUDs have to listen, work out how far away the beacons are, do all of their display stuff based on that information, and also tell the server when they come within "pickup" range of a beacon. When the beacon server hears that a HUD has picked up a beacon, it has to cancel the beacon, shout out new updated beacon locations, and presumably keep score in some way. You're in trouble if someone finds out your control channel for this of course, but there are all the usual methods of obfuscating control channels available. I wonder how much strain all the HUDs doing all that all the time would be on the sim. Probably not a huge amount. For a small number of players, one more secure alternative to the HUDs detecting pickup of a beacon would be for the server to run a sensor and work it all out itself. A large game area might need shout repeaters for all this to work.
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal
http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names
|
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
01-27-2007 04:18
I might take a look at doing a basic version when I have time... I don't want to promise anything as I've been rather absent recently though. It could be useful for all sorts of games and activities.
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal
http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names
|