No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
New Gitcoin Quest Game Mechanic
gitcoinco
JavaScript, Python, HTML
## Other Quests Threads
- Round 1 Winners Congrats Thread https://github.com/gitcoinco/web/issues/5337
- Round 2 Winnerse https://github.com/gitcoinco/web/issues/5435
- Decnetralized Quest Roadmap https://github.com/gitcoinco/web/issues/5436
- Feedback thread https://github.com/gitcoinco/web/issues/5298
- Request Topic Thread https://github.com/gitcoinco/web/issues/5334
- Create Topic Thread/Bounty - https://github.com/gitcoinco/web/issues/5338
- Create Game Mechanic Thread/Bounty - https://github.com/gitcoinco/web/issues/5339
## This Topic
The objective of this ticket is to create a Gitcoin Quest Game Mechanic
Got a retro game dynamic or game experience that you love? Want to build it into web-based educational experience? Want to earn some rewards (Quest Points, ETH) while doing so?
Whats the ROI?
Well..
About 45.7 Quests are played per day for a play count of 1188 total; There are Gitcoin Quests, which are played by a community of 136 active users of 27208 total; residing in 87 countries. The average quest has 169.71 plays. (stats updated on 10/18; updated stats available on gitcoin.co/quests)
### How
### State Machine
The state machine of a Quest Attempt is
1. Started
2. Done; success=False or success=True
3. If success=False; then user may be in a cooldown period
#### Data Model
Gitcoin Quests Uses the following information as the basis of a quest
1. Title
2. Description
3. Reading Material Title/URL
4. Enemy Kudos & Reward KUdos
5. Reward Points Value (usually 1)
6. Multiple Choice Q&A list
Each quest has its own instansiation of these attributes. They are stored in the `quest.models.Quest` object
[here](https://gist.github.com/owocki/5f8a6f3b6bd87a30f689d12544aa4b88) is a backup of the production database for one example quest; so u can see what the data structures for this looks like.
This model; along with
1. the `QuestAttempt` model (what it sounds like - an attempt at beating a quest)
2. and `QuestPointAward`; a point award for beating it...
3. and the `dashboard.models.Profile` object (the users login information)
basically make up the data model for these games.
the following functions from quest.helpers offer easy access to these models in a way that encapsulates common this a Gitcoin Quest needs to do:
- record_quest_activity
- record_award_helper
- get_base_quest_view_params
- get_active_attempt_if_any
- process_start
- process_win
#### game architecture
Gitcoin Quests Uses a modular architecture to allow different game dynamics to exist within the constraints of a quest.
An example of the addition of the barebones 'example Quest' type is contained in the following commit: https://github.com/gitcoinco/web/commit/ef9dfea4d92356bcfd9275d4765b5543d1acf03e#diff-ca1e4f8cc0f93c989bee11a8a3b08498
You will see that this commit modifies
- example.html (the DOM structure for this quest game mechanic)
- quests.example.css (the styles for this quest game mechanic)
- quests.example.js (the js for this quest game mechanic)
- quest_types/example.py (the backend for this quest game mechanic)
These files exist for every game dynamic type in the codebase (just `example` and `quiz_style` right now)
Quests are toggled between different game dynamics in the DB; by the `quiz_style` field:
There are only two styles available right now:
- Quiz Style ([Example](https://gitcoin.co/quests/5/battle-bottoshi))
- Example Style ([Example](https://gitcoin.co/quests/8/example))
As you can see; the example style is an extremly barebones skeleton that can/should be copied/filled out by YOU as you perform this bounty!
#### success criteria
your objective will be to build a compelling game dynamic for the presentation / processing of the quests information (the reference material; then a Q&A engagement)
compelling =
1. engaging / fun to play
2. fair - if u get the right answers; then u win
3. clear - UX should be intuitive
4. device compatible (ipad; iphone) or if mobile devices has a degraded performance; it's managed correctly.
some insprational game mechaanics you might copy:
- anything from mario party
- mario kart or similar racing game (road rash, excite bike) (maybe when u answer a question correctly u pull ahead; when u answer wrong u fall behind)
- monkey island style insult fighting
- zelda style fishing game (https://www.youtube.com/watch?v=ZBtaTqoeDyo)
- really any zelda side game/mini game
- mortal kombat style fighting game (maybe if u get a question right it is a kombo that damages enemy..)
- Quarter pushing game
- Pokemon
- image design/painting game where u design Kudos (and can submit it to end the quest)
from austin griffith: making a burner with a short seed phrase and sending some eth to it would be a good one
-gitcoin intro video video game https://github.com/gitcoinco/web/issues/716
i would also be interesting in seeing a a game that abandons the educational component of the existing Gitcoin Quests... but is still crypto skinned in some fun/playful way... i'm less confident in this; but i think any of the following COULD work if the game mechanics are sufficiently engaging that it makes up for the lack of educational component.
1. Flappy Bird
2. Racer Game
3. Sidescroller
4. any puzzle game
5. bar games (oregon trail; big buck hunter; pac man; fighter games)
6 PokΓ©mon - use kudos, they all have special powers
from @octavioamu : would be nice to add code validation and let people complete it to validate their knowledge in some language.
#### assets
Please leverage any of the assets in the gitcoin creative assets repo!
https://github.com/gitcoinco/creative
esp the wallpapers https://github.com/gitcoinco/creative/tree/master/Brand/Wallpaper
and the robot artwork https://github.com/gitcoinco/creative/tree/master/Marketing/Art/Robots/robot_kudos
or this wallpaper artwork from my devcon preso https://drive.google.com/drive/folders/141PYBwos3e0pZx6nHb2eeB8I8pgg8IF5
#### rewards
I have 20 ETH to drop on 3 quests. Please follow the following path to work on this.
1. Start work on Gitcoin - Pitch your quest idea to me there!
2. Clone the repo using the README instructions + get a local instance u8p.
3. Actually start coding -- Do not code more than 2-3 hours without having a WIP PR and a demo video or demo URL that you can show off!
4. If ur trending negatively Ill give u some ETH for your time and send u on your way. If ur trending positively, Ill greenlight more work
5. Iterate until you have a great game mechanic
PLEASE OVERCOMMUNICATE! Lets avoid a situation where you've poured a TON of work into something that won't be usable at the end of the day.
Ill pay the following for your work:
1. 9 ETH
2. 6 ETH
3. 4 ETH
Below that; I'll pay out honorable mention prizes at my discretion.
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (π°), learn (π), and meet (π¬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save