Non-human profiles
From GetSemantic
Contents |
[edit] Design Problem
A while back Frances Berriman suggested to me (Tom) that we need a way to mark-up non-human agents in HTML.
Some possible uses:
- These could be representations of fictional characters from popular culture, or characters in online games or virtual worlds like World of Warcraft or Second Life.
- A RPG character (both player and non-player characters) could be marked up so that someone could locate and link directly through to a person's in-game presence.
- A game could offer special bonuses to people who put up representative markup on their websites or blogs.
- Embedded items or monsters, etc. See [1]
stub
[edit] Possible solution
I think that the ideal solution is to follow the hCard specification as closely as possible, but use a different root classname. This way, you can easily inter-operate with hCard by simply adding the hCard semantics on top (eg. class="agent vcard"). The use of hCard would be based around whether a vCard would be required. The vCard would not imply that a represented object is human or not-human, only that it should inherit the same semantics as is generally agreed for hCard.
[edit] Tied-in to
- vCard
- The classname mapping in hCard/vCard is for interoperability.
- FOAF
- Specifically, 'agent' becomes a foaf:Agent
- SIOC
- Avatars are not social creatures. Their owners are. The relationship they have is more of a master/server or employer/employee relationship. Maybe a better idea than FOAF or SIOC would be just a class name of "organization" like in the FOAF spec. Implied relationships can come from there. The social piece of the user is still in-tact through the FOAF:Agent relationship. m3mnoch 12:29, 20 August 2007 (EDT)
- Perhaps the bibliographic ontology?
- If you were marking up a character from a novel, you may wish to have an object relationship to that novel.
- Similar relationships to movies, computer games and so on ought to be thought about.
[edit] Basic (inherited) details
Properties prefixed by h: mean that they have been taken from hCard. Some will be taken from hCard, some from FOAF.
- h:fn -> foaf:name
- h:family-name -> foaf:familyName
- h:given-name -> foaf:first_name
- ...names...
- h:url -> foaf:homepage
- h:email -> foaf:mbox
- mbox_sha1sum -> foaf:mbox_sha1sum
- h:adr -> can be used for hCard compatibility, but serves no use
In addition, there are two different levels of properties need to be surfaced:
- High level which sits at the same level as standard hcard information. For example: professsion, level, race, etc. ("i'm a real estate developer in second life" or "i've got a level 70 rogue in wow.")
- Low level "flavor properties" that typically do not affect world mechanics. For example: age, height, weight, eye color, demeanor, etc.
Being as the game or virtual world itself is the source of truth and authority, we can assume it possible there is a "corporate sponsored" unique URL for all high level properties, skills, abilities and items.
[edit] Realm Prefixes
- sl - Second Life
- wow - World of Warcraft
- eve - Eve Online
[edit] Brain storming
- items - often characters have some kind of significant item that has significance in the context of the game
- Link those items to a site like FFXIclopedia or World of Warcraft Encyclopedia (etc.)
- communities / alliances / guilds - SIOC?
- skills
- Would skills include stats (stamina, charisma etc.)? Phae 11:59, 31 July 2007 (EDT)
- jobs, races, 'nations'
- in-game geolocation
- openid
- Some people on Jyte want to setup OpenIDs for fictional people - [2][3]
- This blog post provides good reasons not to tie it in with OpenID. I agree with it. --tommorris 19:02, 1 August 2007 (EDT)
- Regarding tying NPCs to games, could we identify them via "World" - might allow for some fun swapping characters in many games that use the same base "world/rules" (for example NWN uses DND rules (I think - can't say I'm that savvy)). Perhaps top level would be class="pCard DND" or something. Phae 11:59, 31 July 2007 (EDT)
- It goes more like this: user -> context -> avatar. there can be multiple peer avatars within a single virtual world context and multiple virtual world contexts to a single user. skipping the context connection ignores many critical inferences we can make.
- some examples:
- chris -> dungeon runners -> m3mnoch
- ben -> world of warcraft -> stile
- ailin -> second life -> anshe chung
- francis -> the great gatsby -> nick carraway
- it should be made clear that "context" is not the same as "realm." realm is still important, but really only for as long as a highly scalable distributed server infrastructure is lacking and realms are required for technical reasons. (as opposed to the appropriate fiction reasons) realm should be codified as part of an address piece. m3mnoch 12:29, 20 August 2007 (EDT)
- some examples:
- It goes more like this: user -> context -> avatar. there can be multiple peer avatars within a single virtual world context and multiple virtual world contexts to a single user. skipping the context connection ignores many critical inferences we can make.
[edit] Issues
- Should we have a custom schema - or 'profile extension' for different games?
- That way, you could declare "this is my online gaming character" and "this is my WoW character"
- 'profile' seems like a neat way of allowing extensibility for individual communities
[edit] Markup Prototype
Roughed in example code originally from here - please edit. m3mnoch 12:29, 20 August 2007 (EDT)
<div class="avatar"> <img class="photo" src="" /> <span class="fn">Ralph</span>, level <span class="ranking">6</span> <span class="profession">Mage</span> in <a href="http://www.dungeonrunners.com" class="context">Dungeon Runners</a> <div class="quote">What do you think would happen if i pushed this button?</div> <div class="vcard" rel="agent"> <a class="url fn" href="http://ralphsinterweb.com/about">Ralph Ralpherson</a> </div> <dl class="attributes"> <dt rel="ability">Strength</dt> <dd>15</dd> <dt rel="ability">Agility</dt> <dd>18</dd> <dt rel="ability">Intellect</dt> <dd>32</dd> <dt rel="ability">Endurance</dt> <dd>22</dd> <dt rel="skill">Fire Bolt</dt> <dd>2</dd> <dt rel="skill">Shadow Lightning</dt> <dd>3</dd> <dt rel="property">Height</dt> <dd>6' 2"</dd> <dt rel="property">Hair</dt> <dd>Blue</dd> </dl> <ul class="gear"> <li class="equipment">Mage's robe</li> <li class="henchman">Blueberry Bat of Doom</li> <li class="estate">Ralph's house</li> </ul> </div>

