Jump to content

Wherigo Foundation: Forking Cartridges


Ranger Fox

Recommended Posts

As many of you are aware, my projects within the Wherigo Foundation revolve around the WF site, which hosts cartridges (we'd like this to replace Wherigo.com), and the Wherigo API, which acts as a bridge between the site and builder/player apps much as the geocaching API allows other services and the geocaching app to connect to that site. I have yet to discuss either project openly on this forum due to an old request from Groundspeak. While I will continue to follow this request as I discuss partnership possibilities with Groundspeak, I suppose I can ask the forum community about features I think would be nice to implement on the site. This is what this post is about. I would like the community's feedback on something. Your feedback will directly impact future development, or if such a feature is released at all.

 

Forking Cartridges

As a cartridge author, I occasionally get requests from people, asking if they could create their own versions of my play anywhere cartridges "Whack-A-Lackey", "Battleship", and "The Fox, Chicken, and Feed". In the programming world, when people clone code to make something different, it's called "forking" (more or less). (I will have to come up with a friendlier name. Suggestions are, of course, welcome.)

 

I would like to give people the option to fork cartridges on the WF site. Don't fret; as a cartridge author, whether to allow forks or not will be under your control. Open source cartridges can always be forked because your source code is always available. If you're not sharing your cartridge's source code with everyone, you have some options as to how the site will allow people to fork your cartridge. First, you can disable it completely, preventing the option from even showing up. You could instead opt to allow forking only with your permission. If someone would like to fork your cartridge, they'll fill out a form to give you some details as to what they plan to do with it and you'll receive a notification, which you can accept or reject. (I'm including that form because, in my experience, when people ask for permission to fork my cartridges, they tend to introduce themselves, tell where they'd like to use the cartridge, and ask for permission to use my idea.) You could allow only those who have completed your cartridge to fork it, though this won't be an appealing option until we take care of some of the largest security holes around cartridge completions (thus, this will not be available until later). Finally, you could just allow anyone to fork your cartridge, and you'd just receive a notification when the fork is made.

 

When a cartridge is forked, all co-owner contributors (if you're wondering what "contributors" are, read the "Cartridge Contributors" section later in this post) will receive an email notification, including the forked cartridge's WG code (for those of you who haven't looked at the WF site, WG codes are analogous to geocaching GC codes) and the user account name of the person who forked your cartridge. Hopefully, some gratitude will also come your way--or even a pat on the back--but I can't enforce that! When the "child" cartridge is published, a link to it will appear on your "parent" cartridge. The "child" cartridge will also have a link to your "parent" cartridge. Thus, it'll be possible to follow the fork tree any way you choose.

 

My first question to the Wherigo community is this: would forking be a useful feature for you? Does it sound appealing? Do you have any comments? Do you see this as useful, a waste of my time, or something that might have promise? If the community is not going to use it, I'd rather not build it. This is your chance to decide how development will proceed--or if it will at all!

 

Cartridge Contributors

I have two things to go over before I can continue with my next question. The WF site includes the concept of "Cartridge Contributors", something with no analogue to geocaching. This feature recognizes that putting out a cartridge can usually involve more than one person. A cartridge has one owner, which is the person who originally uploaded the cartridge. Co-owners can be assigned to the cartridge; these are people have the same rights and privileges as the owner (they can modify the source code and listing, including archiving it). "Download Only" users are people that can download your source code, but not make updates to it. "Testers" are people that can only download the compiled GWC (once the cartridge has been published, you won't need this type of contributor). All contributors can access the cartridge before you publish it.

 

 

Statistics

Second, I need to go over how statistics operate on the WF site because it's slightly different from the geocaching statistics. Since Wherigo is a different game from geocaching, I don't mind if we follow a drastically different statistical system, make some small changes, or stick to the same system. For now, you have cartridge completions analogous to geocaching finds and ownerships and co-ownerships analogous to geocaching hides. A "Cartridge Complete" log is the same as "Found It" in geocaching. There's also an "Incomplete Playthrough" log, signifying you began making progress on completing the cartridge, but it doesn't affect your stats. The number of cartridges owned is a sum of how many cartridges for which you're the owner or co-owner. Cartridge creation, after all, can involve collaboration and all those involved should receive credit for their contribution. No one should have to fight to be the one who owns the listing and gets credit on his or her stats. (Multiple ownerships have been requested for geocaching.com geocaches, but geocache creation on average tends to be less involved than Wherigo cartridge creation.) If you're wondering about a user's stats, just move your mouse over the user's cartridge count and you'll see a breakdown of the stat. Anyway, you now have enough of a background for my second question.

 

 

Forking and Statistics

I have a rather strong sense of fair play. If I put in ten or twenty hours of work to create a cartridge, it's not fair that someone can come along, fork my cartridge, and receive the same "point" in his or her stats as I have. I'm wondering if I should somehow apply forks to stats or if I should save it for when I implement the achievements feature (closer to Wherigo v1.1, when the site can receive a log of what you do on a cartridge, such as how long you walk during the playthrough). If someone forks my cartridge, should I get additional credit for all child cartridges, including forks of the original fork? If I give people achievements for forks, I don't need to touch stats. If I modify stats, I'm wondering if I should just do a +1, +0.5, or consider coming up with a stats system unique to the WF site. Either way, the stats system should be easy to explain, easy to understand, and fair for all. So what does the community think about forking affecting stats: don't do anything, use the standard +1, use achievements, or come up with another statistical system altogether?

Link to comment

My opinion on:

 

Forking

This is a good idea. I only released 5 cartridges myself and this means I feel that I can learn a lot from others: not just copying but borrowing parts of code or just general game ideas. And I want to give credit to my teachers. So it is a good idea to be able to link through. Ideally I would like to be able to attribute the link with the type of changes. For example:

  • relocation (full code copy: only changed the coordinates of the zones)
  • translation (full code copy: only changed the strings)
  • general game idea (no code copy but reprogrammed completely)
  • code copied partly (but changed/added new code)
  • ...

And of course this should be a multiple choice.

 

Forking and Statistics

I think you should do something, but as mentioned above with the attributes this could be tricky to do it right... A separate achievement would be a solution as to not to pollute the main statistics. On the other hand, it is handy to just total everything in the main statistics. It makes it cleaner. But adding it to the main statistics would need some deep thinking... As mentioned above it is not easy to generalize on what is borrowed and how it should be acknowledged as borrowing can happen on different levels. Surely just relocation a cartridge would need to give more points to the parent than just borrowing the game idea but for the rest just have reprogrammed the cartridge? On the other hand, this would make the reward system more complex and thus not easy to explain? And there would be discussions between parent and child of what is granted? So maybe, just keep it simple and have a general reward for borrowing? Why not just a /2 per level, so a +0.5 for the first level of forking, +0.25 for the second level, ... regardless of what type of forking because it will always rely on the honesty of the forker to acknowledge the fork?

 

Keep up the good work!

Link to comment

I am not a great fan of statistics but I do understand that it is part of the fascination for others (and it might have been for me when I started the hobby [;)]. Having said this, I like the idea to be able to share cartridges and I see the benefit for offering awards for forked cartridges.

 

The forking concept wold make it easier for a larger community to create cartridges and the statistical benefit might encourage owners to make their cartridges available. (Quick side note: I have helped with some cartridges in the past and the credit awarded by the owners was always more than adequate. My experience with fellow cartridge owners is great!)

 

You ask whether this should be an achievement or a statistical point (+x ownership points). I would like to see this as part of the ownership count.

 

My first reaction was to leave it to the owner of the secondary (forked) cartridge to decide how much credit he wants to award to the originator of the cartridge (10%, ... 100% - 0.1, ... 1 point). This would solve all the mathematical problems. The backside is that this human oriented concept might work in the wrong direction. It is unfortunately possible that the the originator and the borrower disagree over the percentage. This would cause a dispute and might lead to a really bad experience.

 

I do therefore agree that a simple mathematical formula should be used. 1 point per own cartridge for all contributors to the cartridge, half a point for any child (or child's child) of the cartridge to all contributors. In case of your "Whack-A-Lackey" cartridge you would receive 1 ownership point plus 0.5 points per it's forked (or forked forked ...) appearance world wide.

 

The remaining question is how to handle secondary cartridge owners. My proposal is to award one ownership point for publishing the forked cartridge but no ability to receive forked points. The secondary cartridge owners can contact the original owner of the cartridge to convince him that they have changed the cartridge significantly. If the original owner agrees, the forked cartridge will be treated as a new cartridge following the forking point distribution scheme as proposed above.

 

Weak point: The necessary agreement from the original owner. How can we make it easy for the original owner to agree that the cartridge forked from his original is now modified enough to count as a new cartridge. In other words: how much do you have to modify "Whack-A-Lackey" to be able to claim ownership of the modified cartridge.

- translate

- translate + pictures/media

- translate + media + own events

 

If we take this approach we should provide help for the original owner. Something along the lines of:

 

You are asked to confirm that a cartridge forked from your original cartridge "xxxxx" is modified so much that it should be considered a new, unforked cartridge. Please look at the new cartridge "yyyyy" and agree to the proposal if

- you think this claim is valid

- or minimum two of the following criteria are met:


  •  
  • completely translated
  • significant amount of new media (> 50%)
  • significant (more than 3) additional actions
  • significant change in the storyline

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...