Kuku: Difference between revisions

From OLPC
Jump to navigation Jump to search
(form)
 
(64 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{Translations}}
{{Status box
{{olpcboxtop | toptext = [[Kuku]] }}
|icon=
{{ OBX activity |[[Image:Kuku.png|42px]]|games|short for 'Kuku Anakula' – "Hungry Chicken"}}
|activity=Kuku
{{ OBX source dev |projects/kuku}}
|status=unknown
{{ OBX devtickets |kuku-activity}}
|version=unknown
{{ OBX pot
|base=unknown
| pot = http://wiki.laptop.org/go/Kuku/Localization#kuku.pot
|source=unknown
| po-root= http://wiki.laptop.org/go/Kuku/Localization#
|contributors=unknown
| ar = ar_-_kuku.po
}}
| en = en_-_kuku.po
| es = es_-_kuku.po
| others = [[Kuku/Localization#pt_BR - kuku.po|pt_BR]] - [[Kuku/Localization#sw - kuku.po|sw]]
| root = [[Kuku/Localization]] }}
{{ OBX test |[[Kuku/Activity Test Plan|Kuku]] }}
{{ OBX team |Adrian DelMaestro, Sera L. Young, Roberto Christen, [http://www.2eastmusic.com Matthew Myers], [http://bjordan.web.wesleyan.edu Brian Jordan], Christopher Schmidt|[[User:Lucks|Julius B. Lucks]]}}
{{olpcboxbottom}}
__TOC__


=Descrption & Goals=
=Description & Goals=


===Summary===
===Summary===


Kuku, short for 'Kuku Anakula' (Hungry Chicken), is based on the basic arithmetic education game [http://en.wikipedia.org/wiki/Number_Munchers Number Munchers]. In single player mode, the game consists of a simple grid that the player (a chicken) is allowed to move around on. A question is posed outside of the grid, such as '5 + 5 = ?', and each square in the grid has a potential answer in it. The goal is to 'eat' as many correct answers as possible within a given time frame to accumulate points. There are penalties for eating incorrect answers, and the questions are changed when all correct answers are eaten. As the game progresses, the questions become more difficult. In multiplayer mode, the grid can expand with multiple chickens that can compete against each other, or work as a team to eat all the correct answers.
Kuku, short for 'Kuku Anakula' (Hungry Chicken), is based on the basic arithmetic education game [http://en.wikipedia.org/wiki/Number_Munchers Number Munchers]. In single player mode, the game consists of a simple grid that the player (a chicken) is allowed to move around on. A question is posed outside of the grid, such as '5 + 5 = ?', and each square in the grid has a potential answer in it. The goal is to 'eat' as many correct answers as possible within a given time frame to accumulate points. There are penalties for eating incorrect answers, and the questions are changed when all correct answers are eaten. As the game progresses, the questions become more difficult. In multiplayer mode, the grid will be able to expand with multiple chickens that can compete against each other, or work as a team to eat all the correct answers.


We imagine this game to be one instance that relies on a more general question-answer, or quiz library. The idea is that all of the questions and answers will be stored and editable by kids and teachers. Question content is not restricted to basic arithmetic, but can consist of multiple choice questions, vocabulary questions, image recognition questions, and many more. Specific examples might consist of:
We imagine this game to be one instance that relies on a more general question-answer, or quiz library. The idea is that all of the questions and answers will be stored and editable by kids and teachers. Question content is not restricted to basic arithmetic, but can consist of multiple choice questions, vocabulary questions, image recognition questions, and many more. Specific examples might consist of:
Line 29: Line 37:


* To develop a general question/answer library that teachers can use to port existing quiz material for use in this game and other activities.
* To develop a general question/answer library that teachers can use to port existing quiz material for use in this game and other activities.
* To develop a Number Crunchers-like (link) game activity that enables children to be quizzed on a variety of educational topics in a fun way
* To develop a [http://en.wikipedia.org/wiki/Number_Munchers Number Munchers-like] game activity that enables children to be quizzed on a variety of educational topics in a fun way
* To emphasize the fact that both the content and the game itself can be changed through project structure as well as hints to the children in the activity that this can be done.
* To emphasize the fact that both the content and the game itself can be changed through project structure as well as hints to the children in the activity that this can be done.


===Collaboration===
===Collaboration===


* We hope to create a multiplayer mode that allows several players (communicating through the mesh) to be able to play on the same grid in either competition or cooperation mode.
=Visual Design=


= We Need Your Help! =
(See the summary above for now).


Right now the Kuku code runs, but it is in an awful state! We would love feedback and help in the following areas:
===Media===


* game design and flow: any ideas about how to make the game more interesting and challenging for the kids
{|border=1 cellpadding=3 cellspacing=0 style="border: 1px #666666 solid; border-collapse: collapse; background: #f9f9f9;"
* interfacing with educators: feedback on the best way to make the game content adjustable by educators
!style="background:#cccccc;"|Document!!style="background:#cccccc;"|Description
* internationalization!: we need to get this effort going
|-
* testing: see our [[Kuku/For_Testers|testers]] page for instructions on downloading and testing Kuku.
|No media||--- <!--[[Media:filename.zip|File Name (size)]] [[:image:filename.zip| <font color='gray'>history</font>]]||File description-->
|}


Please contact us if you would like to help out.
<br clear='all'>


===Screenshots===
== Other Pages ==


Please look at these other Kuku pages for more information on specific topic.
This screenshot depicts the basic grid layout with the player (chicken) in the lower left-hand corner. The question (5 + 5 = ?) is posed outside the upper left of the grid. Below the question are the current score (+25), and the current time (1.35 s). (Please excuse the state of this screenshot - we have not focused on the graphics yet!)


* [[Kuku/Game_description|Kuku Game Description]] - A description of how the game is played.
[[Image:Kuku_screenshot.jpg]]
* [[Kuku/Question_format|Kuku Quiz Questions]] - How the questions are formatted, how to edit them to make kuku ask your questions.
* [[Kuku/Visual_design|Kuku Visual Design]] - The visual layout of the game.
* [[Kuku/Story_board|Kuku Story Board]] - Developing a broad story board to put quiz levels in the context of a fun adventure.
* [[Kuku/Versions|Version History]] - A description of each of the versions.
* [[Kuku/Localization|Localization]] - Discussion of how kuku handles localization.
* [[Kuku/Activity_Test_Plan|Kuku Activity Test Plan]] - How to do usability testing for Kuku.
** [[Kuku/For_Testers|Kuku for testers]] - How to install and run kuku.


=Development=
=Development=


===Source===
===Source===
The code is just python and pyGame. We have not yet made a full-fledged sugar activity.
The code is just python and pyGame. The code can be checked out and dropped into a directory called Kuku.activity and placed in a Sugar activities directory to be able to work on an XO.


'''Activity Source:''' http://dev.laptop.org/git.do?p=projects/kuku
'''Activity Source:''' http://dev.laptop.org/git.do?p=projects/kuku
git clone git://dev.laptop.org/projects/kuku
git clone git://dev.laptop.org/projects/kuku
'''Activity xo bundle (un-zip with unzip kuku.xo):''' http://dev.laptop.org/~lucks/kuku.xo

curl -C - -O http://dev.laptop.org/~lucks/kuku.xo
===RPMs===
*none available


[http://dev.laptop.org/query?status=new&status=assigned&status=reopened&group=component&component=kuku-activity&order=priority Feature Requests]
[http://dev.laptop.org/query?status=new&status=assigned&status=reopened&group=component&component=kuku-activity&order=priority Feature Requests]

=====[[Talk:Kuku#Implementation Discussion|Implementation Discussion]]=====
===Git Usage===
=====[[Kuku/Versions|Version History]]=====
Please look at our [[Kuku/Git_Usage|git usage]] page for instructions on how to work with our branching structure.


== People ==
== People ==


[[Image:Jam_team6.jpg | 300px ]]
* [[User:Lucks | Julius Lucks]] (lucks on #sugar and #olpc-content IRC)
* Adrian DelMaestro
* Sera Young
* Roberto Christen (roberto (dot) christen (at) gmail (dot) com)
* [[www.2eastmusic.com | Matthew Myers]] matt (at) 2eastmusic (dot) com
* [[bjordan.web.wesleyan.edu | Brian Jordan] bjordan (at) wesleyan (dot)edu


Adrian, Julius and Sera hacking away at the Boston 2007 Game Jam.
==Question/Answer Library==


[[Image:Team_kuku.jpg| 300px]]
We have started to sketch some API designs. So far I have outlined a basic QA class that is responsible for managing the question and answers (both correct and incorrect) for a single question.


Team Kuku after the first night of the Game Jam at Olin College, with kuku running: Roberto, Julius,
<pre>
Matt, Adrian, Sera, Brian.
from QA import QA


[[Image:Sugaraward.jpg| 300px]]
#Basic question/answer
q = QA()


Team Kuku won the children's choice award, the Sugar Award.
#Load question/correct answer/false answers
q.set_question('5 + 5')
q.set_correct_answer(10)
q.set_false_answer(9)
q.set_false_answer([9,11])
import random
false_function = lambda x: random.randint(*random.choice([(0,x-1),(x+1,50)]))
q.set_false_function(false_function)


* [[User:Lucks | Julius Lucks]] (jblucks on #sugar and #olpc-content IRC)
#Get question and answers
* [http://www.delmaestro.org/adrian/ Adrian Del Maestro]
q.get_question()
* [http://slyjbl.hopto.org/~serayoung/ Sera Young] sly3 (at) cornell (dot) edu
'5 + 5'
* Roberto Christen (roberto (dot) christen (at) gmail (dot) com)
q.get_correct_answer()
* [http://www.2eastmusic.com Matthew Myers] matt (at) 2eastmusic (dot) com
10
* [http://bjordan.web.wesleyan.edu Brian Jordan] bjordan (at) wesleyan (dot)edu
q.get_false_answer()
9
11
21
3
</pre>

I have written some unit tests for the above functionality that I will put into the git repo once it is set up.

The next step is to define a syntax for a textfile that can be parsed and questions loaded from. With a set of questions loaded, it should be very simple to create a command-line quiz activity.

Something light weight like this will be all that Kuku needs, and will be simple for children to work from. We would love feedback on this though, especially if you have other activities that would benefit from such a general question/answer library.


=Resources=
=Resources=
Line 120: Line 110:
* A down loadable version of the original [http://www.pcgaming.ws/viewgame.php?game=number_munchers Number Munchers] game.
* A down loadable version of the original [http://www.pcgaming.ws/viewgame.php?game=number_munchers Number Munchers] game.
* [http://en.wikipedia.org/wiki/Number_Munchers Number munchers on Wikipedia]
* [http://en.wikipedia.org/wiki/Number_Munchers Number munchers on Wikipedia]

* Lincolnquirks git version of olpcgames git://dev.laptop.org/projects/games-misc

== Useful Links ==

[http://www.linuxjournal.com/article/7694 Linux Journal Pygame Article]

[[Activity tutorial]]

[[Educational_activity_guidelines]]

[[Localization]]

[http://inti.sourceforge.net/tutorial/libinti/internationalization.html Internationalization info]

[http://www.joelonsoftware.com/articles/Unicode.html Joel on Software Unicode]

[http://en.wikipedia.org/wiki/Internationalization_and_localization Wikipedia on Internationalization]

[http://wiki.wxpython.org/Internationalization WxPython i18n]

[[Activity_Translations]]

[[Kuku/Sugar_Install_Notes]]

[[Pygame wrapper]]




[[Category:Activity]]
[[Category:Software ideas]]
[[Category:Software ideas]]
[[Category:Games]]
{{Activity page
|icon=Image:Kuku.png
|genre=Math and Science
|short description=Kuku (Hungry Chicken), is based on the basic arithmetic education game Number Munchers.
|long description=In single player mode, the game consists of a simple grid that the player (a chicken) is allowed to move around on. A question is posed outside of the grid, such as '5 + 5 = ?', and each square in the grid has a potential answer in it. The goal is to 'eat' as many correct answers as possible within a given time frame to accumulate points. There are penalties for eating incorrect answers, and the questions are changed when all correct answers are eaten. As the game progresses, the questions become more difficult. In multiplayer mode, the grid will be able to expand with multiple chickens that can compete against each other, or work as a team to eat all the correct answers.
|contact person=User:Lucks
|activity source=http://dev.laptop.org/git?p=projects/kuku
}}
{{Activity bundle
|bundle URL=http://dev.laptop.org/~lucks/kuku.xo
|activity version=1
}}

Latest revision as of 00:43, 7 August 2008

  english | 한국어 HowTo [ID# 150611]  +/-  
Kuku.png This activity was games
short for 'Kuku Anakula' – "Hungry Chicken"
Trac print.png Tickets all - active - new
Translate-icon-55px.svg Kuku/Localization - POT
| ar | en | es 
Others pt_BR - sw
TST Kuku
OlpcProject.png Contact: Julius B. Lucks —Adrian DelMaestro, Sera L. Young, Roberto Christen, Matthew Myers, Brian Jordan, Christopher Schmidt

Description & Goals

Summary

Kuku, short for 'Kuku Anakula' (Hungry Chicken), is based on the basic arithmetic education game Number Munchers. In single player mode, the game consists of a simple grid that the player (a chicken) is allowed to move around on. A question is posed outside of the grid, such as '5 + 5 = ?', and each square in the grid has a potential answer in it. The goal is to 'eat' as many correct answers as possible within a given time frame to accumulate points. There are penalties for eating incorrect answers, and the questions are changed when all correct answers are eaten. As the game progresses, the questions become more difficult. In multiplayer mode, the grid will be able to expand with multiple chickens that can compete against each other, or work as a team to eat all the correct answers.

We imagine this game to be one instance that relies on a more general question-answer, or quiz library. The idea is that all of the questions and answers will be stored and editable by kids and teachers. Question content is not restricted to basic arithmetic, but can consist of multiple choice questions, vocabulary questions, image recognition questions, and many more. Specific examples might consist of:

  • a fill in the blank sentence as the question with multiple vocabulary words as the answers
  • a snapshot of a tree taken by the child as the question with names of types of trees as the answers
  • an arithmetic expression as the question with numbers as the answers

In order to develop this game then, we would like to develop a simple question and answer library that teachers can use to port their existing materials for the game. The game can then be considered as a study tool for children for an upcoming test, and we imagine that the same library will be useful in a testing activity which actually conducts the test on the laptops.

We also think that the structure of this game will get kids interested in developing their own content or versions of the game. Having questions and answers in easily editable files will introduce children to poking around the internals, and we hope to design the game code in such a way as to naturally lead the children into learning about programming and tweaking the game themselves. This might be done through the quiz library using programming expressions to generate incorrect, 'red herring', answers for seeding the grid.

We greatly appreciate discussion, especially on the design of the question/answer library (see below).

Goals

  • To develop a general question/answer library that teachers can use to port existing quiz material for use in this game and other activities.
  • To develop a Number Munchers-like game activity that enables children to be quizzed on a variety of educational topics in a fun way
  • To emphasize the fact that both the content and the game itself can be changed through project structure as well as hints to the children in the activity that this can be done.

Collaboration

  • We hope to create a multiplayer mode that allows several players (communicating through the mesh) to be able to play on the same grid in either competition or cooperation mode.

We Need Your Help!

Right now the Kuku code runs, but it is in an awful state! We would love feedback and help in the following areas:

  • game design and flow: any ideas about how to make the game more interesting and challenging for the kids
  • interfacing with educators: feedback on the best way to make the game content adjustable by educators
  • internationalization!: we need to get this effort going
  • testing: see our testers page for instructions on downloading and testing Kuku.

Please contact us if you would like to help out.

Other Pages

Please look at these other Kuku pages for more information on specific topic.

Development

Source

The code is just python and pyGame. The code can be checked out and dropped into a directory called Kuku.activity and placed in a Sugar activities directory to be able to work on an XO.

Activity Source: http://dev.laptop.org/git.do?p=projects/kuku

git clone git://dev.laptop.org/projects/kuku

Activity xo bundle (un-zip with unzip kuku.xo): http://dev.laptop.org/~lucks/kuku.xo

curl -C - -O http://dev.laptop.org/~lucks/kuku.xo

Feature Requests

Git Usage

Please look at our git usage page for instructions on how to work with our branching structure.

People

Jam team6.jpg

Adrian, Julius and Sera hacking away at the Boston 2007 Game Jam.

Team kuku.jpg

Team Kuku after the first night of the Game Jam at Olin College, with kuku running: Roberto, Julius, Matt, Adrian, Sera, Brian.

Sugaraward.jpg

Team Kuku won the children's choice award, the Sugar Award.

Resources

Useful Links

Linux Journal Pygame Article

Activity tutorial

Educational_activity_guidelines

Localization

Internationalization info

Joel on Software Unicode

Wikipedia on Internationalization

WxPython i18n

Activity_Translations

Kuku/Sugar_Install_Notes

Pygame wrapper

Activity Summary

Icon: Sugar icon::Image:Kuku.png
Genre: Activity genre::Math and Science
Activity group: ,|x|Activity group::x}}
Short description: Short description::Kuku (Hungry Chicken), is based on the basic arithmetic education game Number Munchers.
Description: [[Description::In single player mode, the game consists of a simple grid that the player (a chicken) is allowed to move around on. A question is posed outside of the grid, such as '5 + 5 = ?', and each square in the grid has a potential answer in it. The goal is to 'eat' as many correct answers as possible within a given time frame to accumulate points. There are penalties for eating incorrect answers, and the questions are changed when all correct answers are eaten. As the game progresses, the questions become more difficult. In multiplayer mode, the grid will be able to expand with multiple chickens that can compete against each other, or work as a team to eat all the correct answers.]]
Maintainers: ,|x|Contact person::x}}
Repository URL: Source code::http://dev.laptop.org/git?p=projects/kuku
Available languages: ,|x|Available languages::x}}
Available languages (codes): ,|x|Language code::x}}
Pootle URL:
Related projects: Related projects,|x|Related projects::x}}
Contributors: ,|x|Team member::x}}
URL from which to download the latest .xo bundle Activity bundle::
Last tested version number:
The releases with which this version of the activity has been tested. ,|x|Software release::x}}
Development status:
Ready for testing (development has progressed to the point where testers should try it out): ,|x|Ready for testing::x}}
smoke tested :
test plan available :
test plan executed :
developer response to testing :


URL from which to download the last .xo bundle that works with old releases Activity bundle::http://dev.laptop.org/~lucks/kuku.xo
Activity version number: Activity version::1
The releases with which this version of the activity has been tested. ,|x|Software release::x}}
Development status: