I’ve spent the majority of the day working on a robust PHP script that permits an in-world inventory server to connect to a web-based service. It sounds simple enough, but the validation is killer. I only have one part of a few parts that I’m still working on. Connection is done. I need to work on a cron job to verify the URL still works, and I also need to work on the API to permit a list of the inventory to be stored on the web service.
One thing that I found pleasing was the capability of asynchronous HTTP communications. I start to make a request with llHTTPRequest. While that is happening, the URL that it is contacting tries to contact the same script on the http_request event. The http_request event verifies information from the server and returns additional information to verify that it is coming from the same script that originated the request. Finally, the http_response event gets the results from the llHTTPRequest and both client/server are happy.
I’m still uncertain if I should focus on the scavenger hunt idea or not since Peter Stindberg pointed out a scavenger hunt system made by iRika. However, it appears that hers is not web-based. The power of the web permits grid-wide (and even cross-grid) scavenger hunts. In addition, it permits profiles where people can choose to show which scavenger hunts they completed, and the reward associated with it. This is sort of like a trophy system. Imagine a large treasure hunt also that allows multiple people to hide items – like the great grid-wide goldrush and the Great Grid-Wide Easter Egg Hunt, but instead, you have to log onto other grids as well to get the entire collection. Another possibility would be to exchange found treasures for others similar to how the in-world Geocaching works. In this sense, you could leave a “bug” in one cache, and see how far it moves as others find it and put it into other cache’s. Because the back-end is connected to a database, you wouldn’t be limited by memory constraints. I found one treasure hunt that boasts support for 4,000 items. This is nothing with the power of a database.
Another item that I found on XStreetSL provided people with a set of gold bars to be hidden around a region. With the system I was thinking about, I could sell collections individually like this (but with different types of ingots like copper, iron, silver), or provide the ability to drop a script into your own objects. I believe iRika does something similar to this. Another product offers different flags to add some variety.
Although I am working with the web, I was also thinking of how to simplify things. In this case, the web should be completely optional. Even a checklist could be dynamically updated. I could add a button for it to list active treasure hunts in the current region, and then display a list of items for them to find. Perhaps some treasure hunts could be marked as private to group members only, individual people, or peoples avatars who are older or younger than a specific age. Another idea would be to require someone to be standing within a short distance whose rezday is today, in order for other people to claim the treasure. Or perhaps their name has to begin with a specific letter like lucky chairs, or a minimum number of people need to be near by similar to mob vend. With the capabilities of a website on the back-end, I could even set items up so that people would have to post a snapshot to bloghud, snapzilla, or mixoom in order to retrieve their prize. There are tons of ways to expand the idea of how to hunt for things. Oh, and the most awesome one – teams!
However, if it’s not the way to go, I could look into the UFO game again. I pretty much had a working concept setup for it. There were still a few other ideas to go along with it as well.