Food Force 2: Difference between revisions

From OLPC
Jump to navigation Jump to search
(http://www.aprendermagiagratis.com/)
 
(63 intermediate revisions by 29 users not shown)
Line 1: Line 1:
{{Olpcboxtop|toptext=[[{{PAGENAME}}|Food Force 2]]}}
[[Category:Health]]
{{ OBX activity |[[Image:Foodforce.jpg|40px]]|extra }}
[[Category:Nutrition]]
{{ OBX xobundle|http://foodforce2.com/Downloads/FoodForce2-4.xo}}
[[Category:Software]]
{{ OBX team |[[MohitTaneja, DeepankGupta, Grivan]]}}
[[Category:Games]]
<small>see more [[:Category:OBX templates|templates]] or [[OBX proposals|propose new]]</small>
{{Olpcboxbottom}}




[[Image:Foodforce-mp.png|thumb|right|Screenshot]]
'''Food Force''' was one of the first "serious games" produced, describing the work of members of the World Food Program and some of the situations they experience in their work around the world. When it was released, there was an entire campaign around it, including badges and banners linking to it from other sites.


FoodForce 2 has been designed to educate and motivate people to solve world hunger. Since the laptop reaches out to the developing and third-world countries, it also educates children and teachers in a village on how to acheive self sustenance in a fun and non-intrusive way. It also provides awareness about the work WFP has been doing for the past many decades to abate the problem of world hunger.
A version of the Food Force game, currently only available on [[http://www.food-force.com/index.php/game/downloads/ Windows and Mac]] platforms, is being considered for the XO. Related games, such as a trading game that teaches about the importance and relative value of different foods, are also in progress.


You can download the XO package to try it yourself from its [http://www.foodforce2.com The official FoodForce2 site]
Some ideas :
* [[Media:FF-EP.doc|FoodForce.doc]] (early design doc)


== Design considerations ==
== Vision and Learning ==


FoodForce2 is both a classroom tool, and an outside classroom activity. It is a new kind of an educational solution, an “expanded school” which grows well beyond the walls of the classroom. The game play has been designed in a way to educate the child about certain key learning areas. The key learning areas on which the game focuses are:
The original game is built in Macromedia Director and has a very large amount of video, 3D animation, and voice acting. It's too big to run on the laptop (over 200 MB download), which is why a rewrite is being considered.


# '''Strategy''': FoodForce2 is a strategy game in which decision-making skills of a player have a high significance in determining the outcome. The Player is suppose to plan and execute a strategy in such a way that he can make an optimum use of the resources available with him, so that the village can become self-sustainable for a long time.
Some constraints that need to be considered:
# '''Sustainable Development''': FoodForce2 teaches player to set limits on the consumption of the present available resources so that they can be used to address future development issues which are critical for sustainable development.
# '''Trading''': Economic futures of any world community, particularly developing world, is affected by their present trading system. FoodForce2 assist player to integrate into the trade system and multi-lateral trade negotiations. It develops skills for unbiased, rule based and nondiscriminatory trading system.
# '''Technology and its use''': Technology involves the usage of tools which affects and controls the environment, and the ability to adapt to it. The basic lifestyle in every aspect of our daily lives, the kind of housings, our transport, medical facilities, fashion and entertainment all depend on technology. FoodForce2 demonstrates the effect of using technology in the development of various facilities like hospitals, housing facilities, education and training. It teaches player about the importance of technology for development.
# '''Crisis Management''': A crisis is a major, unpredictable event that harms human communities and is accompanied by widespread malnutrition, starvation, epidemic and increased mortality. Crisis management consisting of understanding, and coping with any serious situation, especially from the moment it first occurs to the point that recovery procedures start. FoodForce2 teaches crisis management by redesigning the village affected by natural calamities. In the game choices available to players are constrained by economic, social, and physical realities of life in a village. And their actions are highly structured by the practices of urban planning
# '''Collaboration''': Collaboration is a recursive process where different organizations work together for common goal by sharing knowledge, learning and building consensus. FoodForce2 demonstrate that a community is not supposed to be building in a closed environment. Players should be free to interact with the outside environment i.e. the other villages, which are being developed by his peers.


== Building Blocks ==
* The OLPC laptop is not fast by modern standards, but is similar to standards when FF1 first came out. However, we want to limit storage space for widely-distributed activities -- so video should be limited and reserved for situations that require it. Video could be preserved in animated slides preserving audio.
* Any language in the game must be translatable -- thus, sound and text associaed with an image or video, should be available separately for localization. A single instance of an activity need not contain material for all languages. However, an ideal game would function without speech, and with only sound effects. Speech could be available as a downlodable add-on in the target language.
* Short time frame -- delivery in early fall
* Python/Pygame development environment


The game aims at teaching children lessons on achieving sustainability and self-sustenance. It also provides lessons on
Several of us at OLPC looked at the existing game and talked about how to structure a game that we felt could be completed in the time available. It's not exactly a port, but it would reuse the same design structure, story and gameplay -- and target the same goals of educating its audience (where possible, for the core audience of the laptops; itself slightly different from the original audience). See [[Food_Force/Design_Document]].
Globalisation which are implemented through inter-community interaction. To impart these learning lessons, the game has been modelled around a few key elements or building blocks of the game.


== Resources which can be reused from the existing game ==
The basic building blocks of the game are :


#'''Facilities''': Facilities are installations which serve the villagers. They play a crucial role in functioning and the development of the village. Resources are required for building a facility. Once the facility has been built it consumes certain resources for it's functioning and also produce some resources. Facilities can also be upgraded once they have been built. The different facilities present are: House, Hospital, School, Workshop, Farm and Well.
''text'':
#'''Resources''' : Resources form the essence of any community. Resources are required to setup facilities and are also consumed constantly by the people of the village. Resources can be traded for money in the market, which can be later used to buy some other resources. The price of each resource is dependent on the market forces The different resources present are: Building Material, Tools,Medicine ,Books ,Water and Food. Food is further divided into Rice, Wheat, Beans, Sugar, Salt and Oils.
* Transcriptions of speeches and instructions are helpful.
#'''Indicators''': Indicators are a measure of the development of the village. They aim at providing a holistic approach towards assesing the development work taking place in the village. The different indicators present are: Housing, Health, Nutrition, Education, Training.
''code'':
* Source code for sections of the game
*: Formulas to calculate the scores during the missions and others formulas used in the missions like formula to manipulate the nutrients.
''images'':
* Faces of characters
* UI Components like: buttons, objects (helicopter, truck, ...), backgrounds, etc.
* Screens/screenshots from different points in the game, to serve as detailed backgrounds
''audio'':
* Sound effects, background sounds, sound effects and speeches used in the movies separately, i.e. two different audio files for each movie.
''video:''
* Short video clips for the start and end of the game


Cuando Terminas El Juego Aparece Carl Johnson "CJ" De La Saga Grand Theft Auto "GTA" :1) Impide Que La Crisis De La Comida Lo Mate 2) Manejalo Y Llevalo A Un Lugar Seguro 3) Lucha Para Que Todos Los Niños No Pasen Hambre


== Game Play ==


The aim of the player is to make a settlement self-sustenant in terms of nutrition, housing, health, education and training by consistent production and trading of resources with the help of necessary infrastructure.
== Design Document ==
The game currently has two storyboards, one is developed from a viewpoint of an Indian villager, who is the Sarpanch (The administrator of the ruling body, Panchayat, of the village) of a village and his son helps him in the development of the village, who is the next candidate for the position currently held by his father. The second one is based upon the events of the Haiti earthquake, where in the player has to re-establish a settlement destroyed in the natural disaster.


There are three major aspects of the game:
Modified Design Document Version 1.0 can be viewed from here. [http://wiki.laptop.org/go/Food_Force/Design_Document]
#'''Construction of Facilities''' : [[Image:FoodForce2_Setup_Window.png|thumb|right|FoodForce2 Setup Window]] Some of the facilities like houses and hospitals are already built at the start of the game. Constructing new facilities such as houses, schools, workshops, farms and wells requires some resources. Once the facilities have been built they start producing appropriate resources and also increase the indicators. Facilities also affect the manpower distribution of the village by providing employment.
#'''Upgrading Facilities''' : [[Image:FoodForce2_Villagers_and_Houses.png|thumb|right|Houses after upgradation]]Once a facility has been built it can be upgraded to produce more resources. Upgrading of facilities uses some of the resources of the village, mainly building material and tools. Various upgrades like brick and mortar, functional upgrades and electricity are provided for each facility. Every upgrade costs resources, but an upgraded facility will be more efficient and effective. Upgrading a facility also increases the value of the indicators
#'''Trading of Resources''' : [[Image:FoodForce2_Market.png|thumb|right|FoodForce2 Market in the village]]The final cornerstone of the play is trading which is crucial to a village's success. For trading, every village is provided with a market, which is visited by traders from neighbouring villages for trade. The price of the resources is determined by market forces. A village cannot effectively grow without a smart trader, timely trades can give your village a leg-up and help it attain prosperity over time.


All the above features of the game play have been illustrated using two interactive storyboards. The first storyboard consists of 9 missions. The first few missions aim at teaching the player about how to get started. Once the player has got the knowledge of how to maintain the village, then he is made to face the real challenges. The rest of the missions expect the player to apply the knowledge he gained from the first few missions to real-life scenarios. The second storyboard based on the set of Haiti Events deals with crises management, this too has several mission which the player must accomlish to re-store the settlement to its former glory.
== External links ==
* [http://food-force.com Food-Force.com]



* [http://www.wfp.org/english/?ModuleID=137&Key=2807 Food Force to become children's book]

== Implementation ==

The game has been developed in python and pygame. Pygame is a game development module in python, which is based on SDL (Simple Direct Media Layer Library), the portability of SDL library on almost all operating systems imparted the same to the FoodForce2 game.

The game is based on a MVC (Model – View – Controller) design model. This software design model consists of three components : Model, View and Controller. The Model serves as the backend of the game which is responsible for managing all the data values related to the game. The View module is responsible for the front end of the game, it handles the Graphics of the game, GUI and Interaction with the user. The Controller module serves as an interface between the View module and the Model, it interprets the commands given by the user through the View module and on the basis of which it makes changes in the model, and when there are some changes made in the model those are also reflected in the view module through the help of this module.

While developing the game, one of the biggest challenges was to make the game run on the OLPC laptops. To make the game work on the OLPC laptops it was required that the game is highly efficient and has a very small memory footprint, as the hardware of these laptops is not quite advanced and in sync with the computer hardware used on other laptops. In our endeavour to achieve this objective. We went beyond the conventional techniques of implementing various features of the game, and developed such algorithms that they would be requiring minimum amount of memory and time to run the game.

The Mesh Network (a wireless network in OLPC laptops) helped us in implementing the Collaboration feature in the game. Any two laptops can connect to each other and talk to each other through this mesh network. The game once shared over the mesh network can provide interaction between the two villages being virtually developed in the game.



==School Visit==

The game has been successfully tested with the help of DPPS School in Delhi. For details, visit: [[Food Force 2/Team School Visit | Food Force 2 Team School visit ]]

==Features==

# The game has been designed in Python and Pygame and is very portable and can be run on different operating systems such as Windows, Linux and Mac.
# The game has a very small memory footprint and is thus easily deployed on an XO.
# The code base has been made efficient and speedy to deliver the best performance to the user.
# Extensible Design which allows easy modifications and extensions over the current game structure with total independence of Model, View and Controller.



==Code Base and Status Updates==

'''The packages for the game can be downloaded from http://www.foodforce2.com'''

'''For source code check the google code repository of the game here: http://code.google.com/p/foodforce


==Credits==

#Lead Developer : Mohit Taneja (mohitgenii AT gmail DOT com)
#Project Manager : Deepank Gupta (deepankgupta AT gmail DOT com)
#Developers : Grivan Thapar (grivan.ozone AT gmail DOT com), Rajat Goel (rajatgoel.rj AT gmail DOT com)
#Artwork Lead : Silke Buhr
#Artwork : WFP Artists from Italy


[[Category:Health]]
{{Activity page
|icon=Foodforce.svg
|genre=Games
|short description=FoodForce 2 has been designed to educate and motivate people to solve world hunger by educating children and teachers in a village on how to achieve self sustenance in a fun and non-intrusive way. It also provides awareness about the work WFP has been doing for the past many decades to abate the problem of world hunger.
|long description= First stable version of the game has been released
|contact person=[User:MohitTaneja], [User:Grivan]
|activity source=http://www.foodforce2.com
|language=English, Spanish
|language codes=en, es
|team=[User:Deepankgupta], [User:Grivan]
|bundle URL=http://www.foodforce2.com
|activity version=5.0
|releases=8.2.0 (767),8.2.1, SOAS, F11 for XO 1.5
|devel status=5. Production-stable
}}
{{Activity bundle
|bundle URL=http://code.google.com/p/foodforce/downloads/list
|activity version=5
|releases=8.2.0 (767) and 8.2.1
|devel status=5. Production-stable
}}

Latest revision as of 23:00, 9 April 2013

Foodforce.jpg

see more templates or propose new


Screenshot

FoodForce 2 has been designed to educate and motivate people to solve world hunger. Since the laptop reaches out to the developing and third-world countries, it also educates children and teachers in a village on how to acheive self sustenance in a fun and non-intrusive way. It also provides awareness about the work WFP has been doing for the past many decades to abate the problem of world hunger.

You can download the XO package to try it yourself from its The official FoodForce2 site

Vision and Learning

FoodForce2 is both a classroom tool, and an outside classroom activity. It is a new kind of an educational solution, an “expanded school” which grows well beyond the walls of the classroom. The game play has been designed in a way to educate the child about certain key learning areas. The key learning areas on which the game focuses are:

  1. Strategy: FoodForce2 is a strategy game in which decision-making skills of a player have a high significance in determining the outcome. The Player is suppose to plan and execute a strategy in such a way that he can make an optimum use of the resources available with him, so that the village can become self-sustainable for a long time.
  2. Sustainable Development: FoodForce2 teaches player to set limits on the consumption of the present available resources so that they can be used to address future development issues which are critical for sustainable development.
  3. Trading: Economic futures of any world community, particularly developing world, is affected by their present trading system. FoodForce2 assist player to integrate into the trade system and multi-lateral trade negotiations. It develops skills for unbiased, rule based and nondiscriminatory trading system.
  4. Technology and its use: Technology involves the usage of tools which affects and controls the environment, and the ability to adapt to it. The basic lifestyle in every aspect of our daily lives, the kind of housings, our transport, medical facilities, fashion and entertainment all depend on technology. FoodForce2 demonstrates the effect of using technology in the development of various facilities like hospitals, housing facilities, education and training. It teaches player about the importance of technology for development.
  5. Crisis Management: A crisis is a major, unpredictable event that harms human communities and is accompanied by widespread malnutrition, starvation, epidemic and increased mortality. Crisis management consisting of understanding, and coping with any serious situation, especially from the moment it first occurs to the point that recovery procedures start. FoodForce2 teaches crisis management by redesigning the village affected by natural calamities. In the game choices available to players are constrained by economic, social, and physical realities of life in a village. And their actions are highly structured by the practices of urban planning
  6. Collaboration: Collaboration is a recursive process where different organizations work together for common goal by sharing knowledge, learning and building consensus. FoodForce2 demonstrate that a community is not supposed to be building in a closed environment. Players should be free to interact with the outside environment i.e. the other villages, which are being developed by his peers.

Building Blocks

The game aims at teaching children lessons on achieving sustainability and self-sustenance. It also provides lessons on Globalisation which are implemented through inter-community interaction. To impart these learning lessons, the game has been modelled around a few key elements or building blocks of the game.

The basic building blocks of the game are :

  1. Facilities: Facilities are installations which serve the villagers. They play a crucial role in functioning and the development of the village. Resources are required for building a facility. Once the facility has been built it consumes certain resources for it's functioning and also produce some resources. Facilities can also be upgraded once they have been built. The different facilities present are: House, Hospital, School, Workshop, Farm and Well.
  2. Resources : Resources form the essence of any community. Resources are required to setup facilities and are also consumed constantly by the people of the village. Resources can be traded for money in the market, which can be later used to buy some other resources. The price of each resource is dependent on the market forces The different resources present are: Building Material, Tools,Medicine ,Books ,Water and Food. Food is further divided into Rice, Wheat, Beans, Sugar, Salt and Oils.
  3. Indicators: Indicators are a measure of the development of the village. They aim at providing a holistic approach towards assesing the development work taking place in the village. The different indicators present are: Housing, Health, Nutrition, Education, Training.

Cuando Terminas El Juego Aparece Carl Johnson "CJ" De La Saga Grand Theft Auto "GTA" :1) Impide Que La Crisis De La Comida Lo Mate 2) Manejalo Y Llevalo A Un Lugar Seguro 3) Lucha Para Que Todos Los Niños No Pasen Hambre

Game Play

The aim of the player is to make a settlement self-sustenant in terms of nutrition, housing, health, education and training by consistent production and trading of resources with the help of necessary infrastructure. The game currently has two storyboards, one is developed from a viewpoint of an Indian villager, who is the Sarpanch (The administrator of the ruling body, Panchayat, of the village) of a village and his son helps him in the development of the village, who is the next candidate for the position currently held by his father. The second one is based upon the events of the Haiti earthquake, where in the player has to re-establish a settlement destroyed in the natural disaster.

There are three major aspects of the game:

  1. Construction of Facilities :
    FoodForce2 Setup Window
    Some of the facilities like houses and hospitals are already built at the start of the game. Constructing new facilities such as houses, schools, workshops, farms and wells requires some resources. Once the facilities have been built they start producing appropriate resources and also increase the indicators. Facilities also affect the manpower distribution of the village by providing employment.
  2. Upgrading Facilities :
    Houses after upgradation
    Once a facility has been built it can be upgraded to produce more resources. Upgrading of facilities uses some of the resources of the village, mainly building material and tools. Various upgrades like brick and mortar, functional upgrades and electricity are provided for each facility. Every upgrade costs resources, but an upgraded facility will be more efficient and effective. Upgrading a facility also increases the value of the indicators
  3. Trading of Resources :
    FoodForce2 Market in the village
    The final cornerstone of the play is trading which is crucial to a village's success. For trading, every village is provided with a market, which is visited by traders from neighbouring villages for trade. The price of the resources is determined by market forces. A village cannot effectively grow without a smart trader, timely trades can give your village a leg-up and help it attain prosperity over time.

All the above features of the game play have been illustrated using two interactive storyboards. The first storyboard consists of 9 missions. The first few missions aim at teaching the player about how to get started. Once the player has got the knowledge of how to maintain the village, then he is made to face the real challenges. The rest of the missions expect the player to apply the knowledge he gained from the first few missions to real-life scenarios. The second storyboard based on the set of Haiti Events deals with crises management, this too has several mission which the player must accomlish to re-store the settlement to its former glory.


Implementation

The game has been developed in python and pygame. Pygame is a game development module in python, which is based on SDL (Simple Direct Media Layer Library), the portability of SDL library on almost all operating systems imparted the same to the FoodForce2 game.

The game is based on a MVC (Model – View – Controller) design model. This software design model consists of three components : Model, View and Controller. The Model serves as the backend of the game which is responsible for managing all the data values related to the game. The View module is responsible for the front end of the game, it handles the Graphics of the game, GUI and Interaction with the user. The Controller module serves as an interface between the View module and the Model, it interprets the commands given by the user through the View module and on the basis of which it makes changes in the model, and when there are some changes made in the model those are also reflected in the view module through the help of this module.

While developing the game, one of the biggest challenges was to make the game run on the OLPC laptops. To make the game work on the OLPC laptops it was required that the game is highly efficient and has a very small memory footprint, as the hardware of these laptops is not quite advanced and in sync with the computer hardware used on other laptops. In our endeavour to achieve this objective. We went beyond the conventional techniques of implementing various features of the game, and developed such algorithms that they would be requiring minimum amount of memory and time to run the game.

The Mesh Network (a wireless network in OLPC laptops) helped us in implementing the Collaboration feature in the game. Any two laptops can connect to each other and talk to each other through this mesh network. The game once shared over the mesh network can provide interaction between the two villages being virtually developed in the game.


School Visit

The game has been successfully tested with the help of DPPS School in Delhi. For details, visit: Food Force 2 Team School visit

Features

  1. The game has been designed in Python and Pygame and is very portable and can be run on different operating systems such as Windows, Linux and Mac.
  2. The game has a very small memory footprint and is thus easily deployed on an XO.
  3. The code base has been made efficient and speedy to deliver the best performance to the user.
  4. Extensible Design which allows easy modifications and extensions over the current game structure with total independence of Model, View and Controller.


Code Base and Status Updates

The packages for the game can be downloaded from http://www.foodforce2.com

For source code check the google code repository of the game here: http://code.google.com/p/foodforce


Credits

  1. Lead Developer : Mohit Taneja (mohitgenii AT gmail DOT com)
  2. Project Manager : Deepank Gupta (deepankgupta AT gmail DOT com)
  3. Developers : Grivan Thapar (grivan.ozone AT gmail DOT com), Rajat Goel (rajatgoel.rj AT gmail DOT com)
  4. Artwork Lead : Silke Buhr
  5. Artwork : WFP Artists from Italy

Activity Summary

Icon: Sugar icon::Foodforce.svg
Genre: Activity genre::Games
Activity group: ,|x|Activity group::x}}
Short description: [[Short description::FoodForce 2 has been designed to educate and motivate people to solve world hunger by educating children and teachers in a village on how to achieve self sustenance in a fun and non-intrusive way. It also provides awareness about the work WFP has been doing for the past many decades to abate the problem of world hunger.]]
Description: Description::First stable version of the game has been released
Maintainers: ,|x|Contact person::x}}
Repository URL: Source code::http://www.foodforce2.com
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::http://www.foodforce2.com
Last tested version number: Activity version::5.0
The releases with which this version of the activity has been tested. ,|x|Software release::x}}
Development status: Devel status::5. Production-stable
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://code.google.com/p/foodforce/downloads/list
Activity version number: Activity version::5
The releases with which this version of the activity has been tested. ,|x|Software release::x}}
Development status: Devel status::5. Production-stable