Skip to content

Wild idea: Create an actual game based on Nearby #3356

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
misaochan opened this issue Jan 30, 2020 · 7 comments
Open

Wild idea: Create an actual game based on Nearby #3356

misaochan opened this issue Jan 30, 2020 · 7 comments

Comments

@misaochan
Copy link
Member

misaochan commented Jan 30, 2020

I've been toying with the idea of creating an actual mobile app game based on Nearby. We could essentially reuse most of our current backend code for authentication and getting the Nearby pins, the difference would lie in how they are displayed and used. Note: This is quite a spur-of-the-moment thought, it might not actually be a good idea. ;)

Differences with Nearby:

  • UI: Music, full screen (no nav drawer or action bar), fun colors, animations. Instead of pins, we can use any other sort of thematic model to represent the points. Instead of being a circle on the map, the user could be any avatar they choose. Mapbox 3D could be used for a more "3D feel"?
  • Photo upload is streamlined and simplified, they literally just take and submit the photo (basically only "camera" option available, no "gallery" option) and we will automatically use the title, desc, and category of the Wikidata item. They also have to physically be at the location to take the photos, "search this area" would not exist.
  • Gameplay: Could be xp-based, where submitting a nearby photo gives xp, and a "streak" (e.g. 4 photos in 1 day) gives extra xp. XP gives levels. Once they reach e.g. lvl 10, they could participate in Review, where they get extra xp (much smaller) for reviewing existing pictures.
  • Extra stuff: The associated Wikipedia article could be displayed in something like "scrolls" associated with the point (we don't have to display everything, just the first X lines of text, and link to the actual article).
  • Quests: Maybe weekly quests for things like "photograph 5 monuments" or "read 10 scrolls". More XP or special rewards for completing these.
  • Rewards: Levels give barnstars, and also special profile frames or profile pictures that can be used in their profile in our leaderboard. Leaderboard could display user levels. Completing quests could unlock avatars, etc.

Potential downsides:

  • Probably have to put this on the app store as a separate app (at least at first), so that assets don't bloat the original app without a good reason. If instead we decide to incorporate this into the actual Nearby, we'd need to use a lot of caution
  • Doing it in native Android code would likely be harder, especially for animations and gameplay procedures. Programs like Unity is free for below a certain profit margin (essentially, always free for us), but we need to check if it's license compatible.
  • Selfie-pocalypse... could perhaps be avoided by imposing severe penalties for deletion %, similar to our existing level system
  • Not so good for "proper" users, they would need to use the actual Commons app for a lot of things (like actually editing the desc instead of using Wikidata's).
@mds08011
Copy link
Contributor

I like this idea! Some inspiration could potentially be drawn from StreetComplete which gamifies contributing to OpenStreetMap through “quests”: https://github.com/westnordost/StreetComplete/

@misaochan
Copy link
Member Author

Now that I have some game development experience, I was thinking about working on this, if there is interest?

@nicolas-raoul
Copy link
Member

Still sounds like a great idea!

I suggest allowing upload only if the user is actually at the item's location, for instance within 100 meters, even though some items like neighborhoods or mountains do not really need a picture taken at the exact location.

A separate Unity/etc-based app is probably better indeed.

@misaochan
Copy link
Member Author

misaochan commented Jan 4, 2024

I suggest allowing upload only if the user is actually at the item's location, for instance within 100 meters, even though some items like neighborhoods or mountains do not really need a picture taken at the exact location.

Agreed, I think this is especially important because the game would be targeted at people who are new to contributing to Commons.

A separate Unity/etc-based app is probably better indeed.

Yes, I was thinking about doing it in Unity C#. Do you know if there might be any issues with the open source licensing if we do that? Unity and C# are not open source, although obviously our source code would be open.

@nicolas-raoul
Copy link
Member

You can write an open source app that uses Unity, it is just that the Unity library part will not be open source, so the app won't be distributable via F-Droid, which is not a huge issue in terms of users. The resources at https://unity.com/open-projects might even prove useful.

But by the way both C# and Java are open specifications with some 100% open source implementations. For instance I sometimes build the Commons app using a 100% open source Java environment. :-)

@misaochan
Copy link
Member Author

Ah yes, my mistake. :) That was very informative, thanks!

@misaochan
Copy link
Member Author

misaochan commented Jan 6, 2024

An idea: We could start the player off with a quaint little village of their own, which is mostly empty. The player will obtain buildings and natural features that they can place in their village, by going to the Nearby screen and engaging in the game mechanics below:

  1. Uploading a photo to a Nearby pin of that specific type (the Wikidata "typeof" value, if I recall correctly). E.g. if they upload a railway station, they get a railway station to put in their village, if they upload a river then they get a certain number of river tiles that they can add to their village, etc. Of course, we have to limit this to the most common 20 or so types, especially if we want a number of different assets per type.
  2. Points. Every upload made through the game gets a certain number of points - something like +20 for base upload, +10 for desc, +10 for depicts, +10 for category, etc. Daily quests could give bonus points for specific things. With those points, the player can purchase other things to add to their village (e.g. things that don't match any typeof in Wikidata, or things that they don't have near them IRL). The village perimeter probably could be expanded with points as well.

Aside from having a nice village of their own to look at ingame, the player can also get these rewards:

  • They can share a picture of their village on their Wikimedia userpage.
  • Accumulate score and be placed on a leaderboard based on score. The buildings and natural features in the player's village fall into a few broad categories (e.g. churches are cultural, forests are nature, factories are economic), and each one would give a certain score for that category, adding up cumulatively. We could then use that score for leaderboards (e.g. "top 10 highest economies").

We'll need some safeguards of course. @nicolas-raoul already mentioned limiting by location, in addition to that perhaps we can:

  • Disqualify a user from leaderboards if their deletion % is too high.
  • Unlock certain game features only after a certain level.

This is all just a random thought that I had, writing it down here for future reference. :) Feel free to propose your own idea or to suggest additions/changes to this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants