Hi everyone! We've been receiving a ton of great feedback and interest in Idea 2:: Develop a new version of the game Dizeez as a Facebook application I wanted to post a little FAQ and details section to help you think about what we're looking for when you're putting together your proposals. I know this is long but it's intended to invoke your imagination on how we'd like to see this idea come to fruition. If there are any other points that you'd like to have answered or questions that come up please make sure to let me know in the thread
Entity–relationship model ::
This is a very critical part of the game and we've already started to think about how the reincarnated form would use a database that can be given new entries (disease or conditions) with tags or some amount of filtering capability to provide tailored gameplay to a specific user (to allow playback categories, levels or sections). It should be noted that the first iteration of Dizeez does not currently use a database. Part of this project will be building the schema for a MySQL or PostgreSQL database. Please familiarize yourself with the model/collection concepts used in Backbone.js as it will provide the communication between the front end and this database. Using this synchronization method allows us to inherit a clean RESTful design pattern.
This aspect of the project is also essential to get correct as we'll need to perform detailed logging of gaming parameters. You should think in terms of not just being able to determine if the question was answered correctly, but what might influence the answer like other options to choice from, how were the other options generated, has the user seen some of the other options before in previous answers, et cetera. Only by leveraging this extensive logging are we able to draw informative conclusions about the effectiveness of the game. Think of this as an extremely quantifiable experiment. How can we take advantage of this?
Javascript Framework ::
The project will be using a mix of RequireJS and Backbone.JS with Marionette. This is a development stack that we use extensively in the lab and find it extremely efficient and productive. Most importantly, it allows us to develop front-end javascript code that isn't a messy blob of jQuery selectors and unreadable callbacks. We're open to other design patterns or front-end view composite systems that you may be familiar with or have used in the past -- please note, it will require an extensive and thorough case to consider a different design pattern. Using an AMD system with Marionette allows us to build deployable compiled source. Remember, we need to be able to extend, improve and add features to this project after GSoC completes!
Facebook ::
Using Facebook breaks down into a few critical components -- detailed articulation on how you'd plan on implementing each of these in the context of Dizeez will be critical for the proposal. These sections need to be heavily expanded in your proposals. We fully understand there are thousands of ways to implement each of these! We don't want to reinvent the wheel and should leverage as many of the Facebook apis as possible so that they can perform the heavy graph based analytics and community competition aspect of network based gameplay. How do these apis affect game mechanics and incentives? We want your imagination to go wild here -- there is no one right way to do this and want to explore leveraging these mechanics. We've used these APIs in the past and know how to implement them, we're not looking a proposal telling us you can get the Scores API to work but for a proposal explaining a novel way to leverage these APIs in the context of Dizeez.
1. Score API -- Familiarize yourself with this api as it is how the game will be able to quickly leverage the user's social graph. It provides the graph aware scope to provide friend score comparisons in addition to game-wide scoring metrics. This was a big interest in starting to think about porting Dizeez to Facebook. By allowing us to keep track of the current score while making incentives and graph based competition is a huge potential that we'd like to see used to the fullest!
2. Achievements API - One thing we want to focus on with this project is how can achievements be leveraged to provide level, and game incentives to keep the user interested in participating. Using this endpoint provides the potential for very rich and deeply integrated incentives in the Facebook platform. We'd like to step away from simply saying, "Congrats! You won the level!" and really think about what is meaningful to the player, this is the perfect opportunity to think on that level.
3. Notifications API - This api opens up the potential for some very interesting ideas on allowing help on questions on which the player may be stumped. Lifelines, phone-a-friend, removing question choices -- we're open to all sorts of potential models on how this idea that can be explored further in the Facebook context. These notifications should also promote game awareness and inviting other people from your graph (it's not fun to simply bug friends for answers, we want them to join!)
Server-side Component ::
We've received a lot of requests about if you can use this or that for the server-side component, many of which are fully capable and would be feasible (anything is possible to build with any language) but because we'll have to manage this after GSoC we've broken down our selection of server-side components into two groups:
Preferable --
If you're a Python person, we'll be sticking with Flask and if you're a Ruby person then we'll be using Sinatra. These are two light-weight frameworks developed with simple APIs in mind and they'll provide a perfect compliment to the Backbone REST interface. Both of these libraries provide the critical components of the server-side requirements: detailed GET/POST/PUT/DELETE routes and a clean ORM to work with the database type of choice.
Okay --
If you're a Python person, we're open to Django and if you're a Ruby person then we'll be open to Ruby on Rails. Both of these frameworks will work equally as well and just fine, however, they'll provide far more than what is required to actually implement the API endpoint of the game. We're simply trying to prevent excess time and investment into learning, setting up, and working with one of these libraries just to provide a simple API.
--
--
You received this message because you are subscribed to the Google
Groups "Crowdsourcing Biology" group.
To post to this group, send email to crow...@googlegroups.com
To unsubscribe from this group, send email to
crowdbio+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/crowdbio?hl=en?hl=en
2012 GSoC Organization page: http://www.google-melange.com/gsoc/org/google/gsoc2012/scripps_crowdbio
GSoC Ideas page: http://sulab.org/gsoc/
---
You received this message because you are subscribed to a topic in the Google Groups "Crowdsourcing Biology" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/crowdbio/pRCJtjpMv-M/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to crowdbio+u...@googlegroups.com.
To post to this group, send email to crow...@googlegroups.com.
Visit this group at http://groups.google.com/group/crowdbio?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
I was planning following
method for achievements. Rather than game awarding achievements for the
players at some points , Players have to claim their achievement . In
the ER-Diagram above , with each question , I have kept a field named
'success_rate' ,which stores accuracy with which that question was
answered . We will keep a minimum score after which a player can claim
achievements. Each claim of achievement will result in a Achievement
round , with a minimum passing score , attached . The question in the
round will be ones with low success rate. This ensures that only quality
players (one who have played and learned much) can beat achievement
levels. Failure to beat achievement levels may cause score penality.
Achievement
levels can have varying difficulty, requiring to answer progressivly
increacing number of question to achieve. I have not yet named the
achievements .
I have named two achievement levels Explorer , Sustainer . A explorer , is a one who earns a reputation of > 10 . A Sustainer is one who keeps his plays around or equal to his maximum score for say not less than 5 games. There is a work of appropriately naming other achievements remain.
--
--
You received this message because you are subscribed to the Google
Groups "Crowdsourcing Biology" group.
To post to this group, send email to crow...@googlegroups.com
To unsubscribe from this group, send email to
crowdbio+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/crowdbio?hl=en?hl=en
2012 GSoC Organization page: http://www.google-melange.com/gsoc/org/google/gsoc2012/scripps_crowdbio
GSoC Ideas page: http://sulab.org/gsoc/
---
You received this message because you are subscribed to the Google Groups "Crowdsourcing Biology" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crowdbio+u...@googlegroups.com.
To post to this group, send email to crow...@googlegroups.com.
Visit this group at http://groups.google.com/group/crowdbio?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.