Nell/Architecture: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 11: Line 11:
== Tech tree ==
== Tech tree ==
* For background on what a tech tree is, see http://www.trevorowens.org/2009/02/science-grows-on-trees-the-history-of-science-and-technology-acording-to-video-games/
* For background on what a tech tree is, see http://www.trevorowens.org/2009/02/science-grows-on-trees-the-history-of-science-and-technology-acording-to-video-games/
* Encodes the dependencies between activities. Could also function much like a package manager, handling downloading new activities on demand, and only opening access to new activities once you've met the prerequisites.
* Operates on the dependencies between activities. Could also function much like a package manager, handling downloading new activities on demand, and only opening access to new activities once you've met the prerequisites.
* Could show the user what kind of stories are available in the future, and what they should head towards to unlock them.
* Could show the user what kind of stories are available in the future, and what they should head towards to unlock them.



Revision as of 16:40, 23 January 2012

Nell consists of several modules. They're not independent; there are defined API interactions between them. (Listing them here doesn't mean that we're going to design and implement each top-down before putting any activities together -- I think being very demo-focused and starting right at the user-visible layer is still a fine idea.)

Nothing here is final yet; still at the brainstorming stage.

Avatar services

  • Stores user's name, chosen avatar appearance, avatar's friends, preferences.
  • How literate is this user?
  • What kind of learning style (visual, puzzle solving, blackboard) do they learn from best/prefer?
  • Like Sugar's Journal, this should provide an opportunity for reflection on (and replay of) past experiences.

Tech tree

Activity model

  • Contains metadata visible to the tech tree about what kind of activity this is.
  • The prerequisites for an activity aren't limited just to which activities have been completed -- they might also depend on outcomes from activities, stored in Avatar Services. This provides for a coherent narrative arc, with the side effect that the user gets to hear stories that are more like the stories they've enjoyed and chosen to go deeper into previously.
  • Activities must be extremely pluggable. The same topic may have many different stories available -- some with different languages, teaching styles, some may have been written by teachers and some by kids.
  • The activity model defines possible outcomes from this activity, and passes them down to Avatar Services as they're made.
  • Achievements are types of outcomes, too.

Activity view

  • Takes an activity model and renders the story on-screen. At interesting decision points or events, evokes outcomes to the model. Much of the story logic is probably embedded in the view. The view hooks into avatar services to decide how best to present itself.

Story creator

  • We'll need a tool that can author an activity model and view. It should allow the author to choose prerequisites, define outcomes, and have access to any prior outcomes it's interested in when deciding on a narrative.