Food Force/Meeting Logs3: Difference between revisions

From OLPC
Jump to navigation Jump to search
(New page: #olpc-foodforce [INFO] Channel view for “#olpc-foodforce” opened. -->| YOU (deepank) have joined #olpc-foodforce =-= Mode #olpc-foodforce +ns by niven.freenode.net -->| Anubhav (n=...)
 
(replace with more readable version)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
#olpc-foodforce
#olpc-foodforce

[INFO] Channel view for “#olpc-foodforce” opened.
Participants:
-->| YOU (deepank) have joined #olpc-foodforce

=-= Mode #olpc-foodforce +ns by niven.freenode.net
'''MurielGodoi, deepank, Anubhav'''
-->| Anubhav (n=chatzill@221.134.239.87) has joined #olpc-foodforce

<Anubhav> Hi deepank
'''<deepank>'''There is one more thing that I would like to discuss about. There is no population parameter in the game. So, are we going to assume a constant population for the village or should we take it as a parameter. High growth rates of population in countries like India and Brazil is one reason why there are frequent draughts and famines.
<deepank> Hi

<Anubhav> Still no one, this is not good
'''<Anubhav>'''yes sir, We beliebe that their should be some population paramter that should be displayed during gameplay. A rise in population would then demand for more facilities, thus making the game more of real life simulation game.
<deepank> Lets wait for others ....

<deepank> yea ..... do sum other wrk while keeping this window open
'''<MurielGodoi>'''At once I also though that... it is important, but I think we can assume a constant population in our first version
<Anubhav> affirmative

-->| MurielGodoi (n=msgodoi@189-68-25-237.dsl.telesp.net.br) has joined #olpc-foodforce
'''<deepank>'''Ok we can keep it as a feature to be added; but it can be easily added ... and can depend on the level of education and family control measures being taken
<deepank> Hi Muriel

<MurielGodoi> hi Deepank, hi Anubhav
'''<MurielGodoi>'''it is easily added but not so simple to code the effects.
<Anubhav> Hello sir

<deepank> I will send you the class diagram's scanned pic thru email
'''<deepank>'''If a human being is being represented by an object the number of instances of human being object can be directly proportional to population
<deepank> please tell us if we are going wrong somewhere

<MurielGodoi> ok
'''<Anubhav>'''I was thinking of the same, because the code needs to be changed a lot when we add that growing population factor, as it will have many dependencies with it
<Anubhav> yes sir, we had made the class diagram on paper. Please check it

<deepank> There is one more thing that I would like to discuss about.
==Class Diagram==
<MurielGodoi> sure, what it is about?

<deepank> There is no population parameter in the game
'''<Anubhav>'''we had made the class diagram on paper. Please check it
<deepank> So, are we going to assume a constant population for the village or should we take it as a parameter

<Anubhav> yes sir, We beliebe that their should be some population paramter that should be displayed during gameplay.
'''<MurielGodoi>'''The image is not so clear, but from that I can read, why is indicator just related to facilities? s/facilities/resources
=== murielgodoi is online.

<Anubhav> A rise in population would then demand for more facilities, thus making the game more of real life simualtion game
'''<deepank>'''Indicator is related to resources only and not to facilties. we thought that facilities will contribute to resources and thus indirectly to indicaors
<deepank> High growth rates of population in countries like India and Brazil is one reason why there are frequent draughts

<deepank> and famines
'''<MurielGodoi>'''s/facilities/resources means replace facilities for indicator.. i
<MurielGodoi> At once I also though that... it is important, but I think we can assume a constant population in our first version
typed wrong
<deepank> Ok we can keep it as a feature to be added; but it can be easily added ... and can depend on the level of education and family control measures being taken

<MurielGodoi> it is easily added but not so simple to code the effects.
'''<deepank>'''Muriel: buying or selling resources will automatically relate to indicators.
<Anubhav> yes sir, I was thinking of the same,

<deepank> Actually I did not take a look at the code of the human beings moving around.... am i missing something
'''<MurielGodoi>'''the village stock is different from having infra-structure
<deepank> If a human being is being represented by an object

<Anubhav> because the code needs to be changed a lot when we add that growing population factor , as it will have many dependencies with it
'''<MurielGodoi>'''mainly to health... we can have medicines and do not have an hospital, so hospital should have effects in health indicator, I think indicator should relate both... resource and facilities. And facilities are more important (more weigh) than resources. We also need to check the relation type,composition or aggregation.
<deepank> the number of instances of human being object can be directly proportional to population

<MurielGodoi> sure it is. In that animation I was just testing the perfomance
'''<deepank>'''Yes that was one thing in which I wanted to take your opinion
<Anubhav> @Deepank: have you mailed the Class Diagram to sir

<deepank> yes
'''<MurielGodoi>'''I am checking my software engenniring... my last class about that was 6 years ago :)
* MurielGodoi is cheking...

<MurielGodoi> The image is not so clear, but from that I can read..
'''<deepank>'''What do you think
<MurielGodoi> why is indicator just related to facilities?

<MurielGodoi> s/facilities/resources
'''<deepank>'''I was thinking of a main container class containing all these
<deepank> Indicator is related to resources only and not to facilties
objects and helping integration among all these
<deepank> we thought that facilities will contribute to resources

<deepank> and thus indirectly to indicaors
'''<MurielGodoi>'''maybe just association. with labels and multiplicity?
<MurielGodoi> s/facilities/resources means replace facilities for indicator.. i typed wrong

<MurielGodoi> deepank: so for us desn't matter that we buy or produce a resource
'''<deepank>'''n:1 everywhere
<MurielGodoi> ?

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
'''<deepank>'''as n resources and n indicators affect 1 indicator
<deepank> Muriel: buying or selling resources will automatically relate to indicators.

<MurielGodoi> the village stock is different from having infra-structure
'''<MurielGodoi>'''maybe not
<MurielGodoi> mainly to health... we can have medicines and do not have an hospital

<deepank> Right
<MurielGodoi> so hospital should have effects in health indicator
'''<MurielGodoi>'''houses can affect housing and health

<MurielGodoi> I think indicator should relate both... resource and facilities
<deepank> right
'''<deepank>'''Right

<Anubhav_Agarwal> joinyes
'''<deepank>'''I overlooked that
<Anubhav_Agarwal> yes

<MurielGodoi> and facilities are more important (more weigh ) than resources
<deepank> ok
'''<deepank>'''How do we model it in Python

|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))
'''<MurielGodoi>'''for instance. Health indicator can have an array of (facility, weight) tuples and another one for resources. Putting weights on it we can balance the importance of facilities and resources stock in the indicator.
<MurielGodoi> we also need to check the relation type

<MurielGodoi> composition or aggregation
'''<deepank>'''yes
<deepank> Yes that was one thing in which I wanted to take your opinion

<MurielGodoi> I am checking my software engenniring... my last class about that was 6 years ago :)
'''<MurielGodoi>'''Could someone list for me the Resources methods, I can't read it here.
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

<deepank> What do you think
'''<deepank>'''
<deepank> I was thinking of a main container class containing all these objects and helping integration among all these

<MurielGodoi> maybe just association. with labels and multiplicity?
Update_Value(string name, int value)
<deepank> n:1 everywhere

<deepank> as n resources and n indicators affect 1 indicator
void Buy(String name, int value)
<MurielGodoi> maybe not

<MurielGodoi> houses can affect housing and health
void Sell(String name, int value)
|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
int GetValue()
<deepank> Right

<deepank> I overlooked that
void SetValue()
<deepank> How do we model it in Python

<MurielGodoi> for instance. Health indicator can have an array of (facility, weight) tuples
'''<MurielGodoi>'''by value you mean, price or quantity?
|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
'''<deepank>'''quantity
<MurielGodoi> and another one for resources

<deepank> yes
'''<MurielGodoi>'''value is a generic name.. try to make attributes name as clear as possible
|<-- Anubhav has left freenode (Read error: 110 (Connection timed out))

=-= Anubhav_Agarwal is now known as Anubhav
'''<Anubhav>'''we wont be changing the price I believe
<MurielGodoi> putting weighs on it we can balance the importance of facilities and resources stock in the indicator

<deepank> yes
'''<MurielGodoi>'''Anubhav: What happens to the price when we have low quantity of some
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))
product on sale?
<MurielGodoi> Could someone list for me the Resources methods, I can't read it here.

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
'''<Anubhav>'''price goes up, in the market as demand is more , supply is less
<deepank> Update_Value(string name, int value)

=-= Anubhav_Agarwal is now known as Anubhav
'''<MurielGodoi>'''perfect, I am trying to make you think about the scenario, not just give you the answers
<deepank> void Buy(String name, int value)

<deepank> void Sell(String name, int value)
'''<MurielGodoi>'''about the model... think about what you modeled in Resources class. It is a unique resouce or a entire stock?
<deepank> int GetValue()

<deepank> void SetValue()
'''<deepank>'''entire stock of a resource
<MurielGodoi> by value you mean, price or quantity?

<deepank> quantity
'''<Anubhav>'''each object will be 1 resource
<Anubhav> quantity

<MurielGodoi> value is a generic name.. try to make attributes name as clear as possible
'''<deepank>'''i.e. Wood has one object and it represents entire stock of the village
<Anubhav> we wont be changing the price I believe

<deepank> ok
'''<MurielGodoi>'''so why did you add name in all methods? In Resource there is a mix of Resource and stock methods
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
'''<deepank>'''Wood is the name of the resource
=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> Anubhav: What happens to the price when we have low quantity of some product on sale?
'''<deepank>'''What is the difference between the two?
<Anubhav> price goes up

<Anubhav> in the market as demand is more , supply is less
'''<MurielGodoi>'''deepank: but in that object do you have just a string to save that
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
'''<deepank>'''Yes, or we can change it to a global enum for saving memory.
=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> perfect, I am trying to make you think about the scenario, not give you just the answers
'''<MurielGodoi>'''deepank: so how will you handle several resources there
<MurielGodoi> about the model... think about what you modeled in Resouces class. It is a unique resouce or a entire stock?

<deepank> entire stock of a resource
'''<deepank>'''Each resource will have one object; with a name associated with it
<Anubhav> each object will be 1 resource

<deepank> i.e. Wood has one object.
'''<MurielGodoi>'''at first every class name should be in singular otherwise you be
<deepank> and it represents entire stock of the village
modeling a group, not a object
<MurielGodoi> so why did you add name in all methods?

|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))
'''<MurielGodoi>'''deepank: object or instance?
<MurielGodoi> in Resource there is a mix of Resouce and stock methods

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
'''<deepank>'''We have a class Resource.
=-= Anubhav_Agarwal is now known as Anubhav

<deepank> Wood is the name of the resource
'''<deepank>'''Now it has object - Wood with name as wood and value as quantity
<deepank> What is the difference between the two?

<MurielGodoi> deepank: but in that object do you have just a string to save that
'''<deepank>'''Another Object Food
<deepank> Yes, or we can change it to a global enum for saving memory.

<MurielGodoi> deepank: so how will you handle several resources there
'''<MurielGodoi>'''so you will create 1 instance for each resource?
<deepank> Each resource will have one object; with a name associated with it

<MurielGodoi> at first every class name should be in singular otherwise you be modeling a group, not a object
'''<deepank>'''yes
<MurielGodoi> deepank: object or instance?

|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))
'''<MurielGodoi>'''if each resource have you own instance why you need name in all
<deepank> We have a class Resource.
methods
=== anubhav is offline.

<deepank> Now it has object - Wood with name as wood and value as quantity
food = Resource('food', 15)
<deepank> Another Object Food

<MurielGodoi> so you will create 1 instance for each resource
food.setValue('food', 20)
<deepank> similarly and so on

<deepank> yes
'''<deepank>'''Actually we are introducing redundancy. We will remove the name.
<MurielGodoi> if each resource have you own instance why you need name in all methods

<MurielGodoi> food = Resouce('food', 15)
'''<MurielGodoi>'''I think a class for stock should be fine. I do not understand the difference between resource and stock. stock is a set of resources, not just one
<MurielGodoi> food.setValue('food', 20)

<deepank> Yes
<deepank> Actually we are introducing redundancy
'''<deepank>'''Yes, then we can keep name as a parameter

<deepank> we will remove the name
'''<MurielGodoi>'''you just need to decide between model a stock or resources. if you are modeling a stock so you should keep the name parameter
<MurielGodoi> deepank: you got it

<MurielGodoi> I think a class for stock should be fine
'''<deepank>'''If we keep stock, then we will need to make all the parameters as
<deepank> I do not understand the difference between resource and stock
arrays
<MurielGodoi> stock is a set of resources

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
'''<MurielGodoi>'''i think you are inclined to model a stock. in that case, you should rename your class as stock and stock should have a list of tuples (resource, quantity)
=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> not just one
<deepank> Yes, then we can keep name as a parameter
'''<deepank>'''No on the contrary, I think I should model as resource only, my
habit of C programming is coming in the way :)
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce
<MurielGodoi> you just need to decide beetwen model a stock or resources
'''<MurielGodoi>'''so, you should rename you class to Resource (not Resources) and
remove name from the methods
=-= Anubhav_Agarwal is now known as Anubhav

=== anubhav is online.
'''<deepank>'''Yes
<MurielGodoi> if you are modeling a stock so you should keep the name parameter

|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))
'''<MurielGodoi>'''you should realize that there is no unique solution when modeling
<MurielGodoi> that's happened to Anubhav

-->| Anuabhav__ (i=Anubhav@221.134.239.87) has joined #olpc-foodforce
'''<deepank>'''So, the changes are:
<MurielGodoi> ?
1. Association from Facilities to Indicator
<MurielGodoi> ok
2. Remove name as a parameter
<deepank> If we keep stock, then we will need to make all the parameters as arrays
3. Introduce a model to change prices
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

=-= Anubhav_Agarwal is now known as Anubhav

<deepank> Anubhav is facing net problems
'''<MurielGodoi>'''we will need to instantiate two list of resources: 1 for the village, 1 for the market. Each one should have their own quantity and unit price
<MurielGodoi> ok... sometimes I also face it in Brazil

<MurielGodoi> i think you are inclined to model a stock
'''<deepank>'''but price will be decided in the market
<MurielGodoi> in that case, you should rename your class as stock

<deepank> No on the contrary, I think I should model as resource only, my habit of C programming is coming in the way :)
<MurielGodoi> and stock should have a list of tuples (resouce, quantity)
'''<MurielGodoi>'''deepank: The game engine will change that

<MurielGodoi> so, you should rename you class to Resource (not Resources) and remove name from the methos
==Facilities==
<deepank> Yes

<MurielGodoi> you should realize that there is no unique solution when modeling
'''<MurielGodoi>'''each facilities have a list of produced and consumed resources on
<deepank> So, the changes are :
each turn. we should model that.
<deepank> 1. Association from Facilities to Indicator

<deepank> 2. Remove name as a parameter
'''<deepank>'''
<Anubhav> yes

<deepank> 3. Introduce a model to change prices
void update_level(void)
<Anubhav> ok

<MurielGodoi> we will need to instantiate two list of resouces:
void update_number(int)
<MurielGodoi> 1 for the village

<MurielGodoi> 1 for the market
'''<deepank>'''name should be removed
<MurielGodoi> each one should have their own quantity and unit price

<deepank> yes
'''<MurielGodoi>'''deepank: perfect.. the same case... are you modeling a Facility not
<MurielGodoi> everything okay about resoures?
the entire city
<deepank> but price will be decided in the market

<deepank> oh sorry got confused
facility.addProduction('rice', 100)
<deepank> yes

<MurielGodoi> deepank: The game enngine will chenge that
facility.addProduction('beans', 64)
<MurielGodoi> about facilities

<deepank> Yes
facility.remProduction('beans')
<MurielGodoi> each facilities have a list of produced and consumed resources on each turn

<MurielGodoi> we should model that
facility.addConsumption('beans', 20)
<deepank> void update_level(void)

|<-- Anuabhav__ has left freenode (Read error: 104 (Connection reset by peer))
and so on
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))

<deepank> void update_number(int)
'''<deepank>'''We have not added any production methods. Will a user be able to define this?
<deepank> name should be removed

=== anubhav is offline.
'''<MurielGodoi>'''not the user... the game engine, that is your next step after the model. the game engine will perform the changes on each turn.. update resources, prices, facilities and indicators
<MurielGodoi> deepank: perfect.. the same case... are you modeling a Facilitie not the entire city

<MurielGodoi> facility.addProduction('rice', 100)
'''<deepank>'''Should a game engine decide that rice is to be grown and that too in
<MurielGodoi> facility.addProduction('beans', 64)
a particular quantity? We were taking a single food item :)
<MurielGodoi> facility.remProduction('beans')

<MurielGodoi> facility.addConsumption('beans', 20)
<MurielGodoi> and so on
'''<MurielGodoi>'''the animation and gui elements will read these that and update the
screen. the user will invest on rice farm, but the rice production will be calculate by the game engine, so we can set variables like season, training, weather. now we are working on the model which will store the game data
<deepank> We have not added any production methods

<deepank> Will a user be able to define this?
'''<deepank>'''yes we can introduce weather and seasonal changes in the game
<MurielGodoi> not the user... the game engine

-->| Anubhav (i=Anubhav@221.134.239.87) has joined #olpc-foodforce
'''<MurielGodoi>'''the game engine will contain the definitions to change it
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))

<MurielGodoi> that is your next step after the model
'''<deepank>'''So, I think Facility is fine; we need to remove the name.
<MurielGodoi> the game engine will perform the changes on each turn.. update resources, prices, facilities and indicators

-->| Anubhav (i=Anubhav@221.134.239.87) has joined #olpc-foodforce
'''<MurielGodoi>'''and add the methods above to allow game engine set it. facilities and Indicators should have the method 'turn', the game engine will can it to all facilities, which will update
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))
resources
<deepank> Should a game engine decide that rice is to be grown and that too in a particular quantity? We were taking a single food item :)

<MurielGodoi> the animation and gui elements will read these that and update the screen
'''<deepank>'''the update_value function is working as next_turn
<deepank> yes.

-->| Anubhav (i=Anubhav@221.134.239.87) has joined #olpc-foodforce
'''<MurielGodoi>'''nice, so just rename it to next_turn, it is a clear name
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))

<MurielGodoi> the user will invest on rice farm

<MurielGodoi> but the rice production will be calculate by the game engine
==Indicator==
<deepank> yes

-->| Anubhav (i=Anubhav@221.134.239.87) has joined #olpc-foodforce
'''<MurielGodoi>'''the same for the name in methods and add methods to set the weights
<deepank> which will depend on the trainig of the villagers

|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))
health_indicator.addWeight('hospital', 50)
<MurielGodoi> so we can set variables like season, training, weather

<MurielGodoi> perfect
health_indicator.addWeight('housing ', 20)
<MurielGodoi> now we are working on the model which will store the game data

<deepank> yes we can introduce weather and seasonal changes in the game
'''<deepank>'''Weights are static information?
<MurielGodoi> the game engine will contain the definitions to change it

<deepank> So, I think Facility is fine; we need to remove the name.
'''<MurielGodoi>'''yep, they will allow us better balance the game further
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> and add the methods above too
'''<MurielGodoi>'''Have you learned Model-View-Control model? View will be the animation and gui. model is that we are doing now and control will be the game engine
<deepank> Yes

<MurielGodoi> to allow game engine set it
'''<deepank>'''No, not in the formal course studies. Can you give me some links for
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))
it.
<MurielGodoi> facilities and Indicators should have the method 'turn'

<MurielGodoi> the game engine will can it to all facilities, which will update resouces
'''<MurielGodoi>'''ok... I will find some links and mail you
<deepank> the update_value function is working as next_turn

<MurielGodoi> nice, so just rename it to next_turn, it is a clear name
'''<MurielGodoi>'''so next meeting monday 11:30est
<deepank> ok

-->| Anubhav_Agarwal (n=chatzill@221.134.227.102) has joined #olpc-foodforce
'''<deepank>'''
=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> Missed I something?
1. Make code of model
<deepank> I do not think so, only Indicator left to discuss

<MurielGodoi> sure....
2. Read up on links given by you
<MurielGodoi> the same for the name in methods

<deepank> yes
'''<MurielGodoi>'''
-->| Anubhav_Agarwal (n=chatzill@221.134.224.83) has joined #olpc-foodforce

<MurielGodoi> and add methods to set the weights
1. Repository
-->| Anubhav___ (i=Anubhav@221.134.224.83) has joined #olpc-foodforce

<MurielGodoi> health_indicator.addWeight('hospital', 50)
2. Thinking about game engine
<MurielGodoi> health_indicator.addWeight('housing ', 20)

<deepank> Weights are static information
3. contact the artwork guys
<MurielGodoi> yep

<MurielGodoi> they will allow us better balance the game further

<deepank> ok.
[[Category:Health]]
=== anubhav is online.
[[Category:Nutrition]]
<MurielGodoi> we are done about the diagram?
[[Category:Software]]
<MurielGodoi> are we done about the diagram?
[[Category:Games]]
|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))
|<-- Anubhav___ has left freenode (Read error: 104 (Connection reset by peer))
<deepank> Yes, we will make a new diagram incorporating changes and also make the code now
-->| Anubhav___ (i=Anubhav@221.134.224.83) has joined #olpc-foodforce
<Anubhav___> ok
<MurielGodoi> about the repository
<deepank> did you get any replies
<MurielGodoi> nop
<MurielGodoi> ivan is a security chief and is also handling all repository request
-->| Anubhav_Agarwal (n=chatzill@221.134.224.83) has joined #olpc-foodforce
<MurielGodoi> olpc was going to get a guy for that, but I donno how is it now
|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))
<deepank> Ok, so please tell us when the repository is setup.
<MurielGodoi> ok
|<-- Anubhav___ has left freenode (Read error: 104 (Connection reset by peer))
<MurielGodoi> Anything else?
-->| Anubhav___ (i=Anubhav@221.134.224.83) has joined #olpc-foodforce
|<-- Anubhav___ has left freenode (Read error: 104 (Connection reset by peer))
<deepank> Let us decide a meeting day. When will you be free for the next meeting
<MurielGodoi> An note, as you have been already noticed, my English isn't so good, I am trying to improve it, so I apologise if I seen rude in any talk, that wasn't my intention
<MurielGodoi> When you think you can update the diagram model and do the changes in the code?
<deepank> No you haven't been rude. Yes, sometimes, I do misunderstand your comments though :)
-->| Anu__ (i=Anubhav@221.134.224.83) has joined #olpc-foodforce
<deepank> I can do it till day after tomorrow. I am going for a competition tomorrow; so won't get much time
<MurielGodoi> deepank: ok sorry, i will try to be more clear to minimize it, thanks for the comment
<MurielGodoi> monday?
|<-- Anu__ has left freenode (Read error: 104 (Connection reset by peer))
<deepank> Yes Monday is fine for me, in the meantime, tell me about the game engine, so I can get acquainted with the current code.
<MurielGodoi> ok.. will try to think more about how to do that.
<MurielGodoi> I still don't have that clear in mind
<deepank> Ok. I will think about it too. We will discuss more on Monday
<MurielGodoi> Have you learned Model-View-Control model
<MurielGodoi> ?
<MurielGodoi> View will be the animation and gui
<MurielGodoi> model is that we are doing now
<deepank> No, not in the formal course studies. Can you give me some links for it.
<MurielGodoi> and control will be the game engine
<MurielGodoi> ok... I will find some links and mail you
<deepank> ok.
<deepank> Ok. So, we will meet again on Monday. Till then work for me :
<MurielGodoi> so next meeting monday 11:30est
<deepank> 1. Make code of model
<deepank> 2. Read up on links given by you
<deepank> Your work
<deepank> 1. Repository
<deepank> 2. Thinking about game engine
<MurielGodoi> 2. contact the artwork guys
|<-- Anubhav has left freenode (Read error: 110 (Connection timed out))
<deepank> Yes
<MurielGodoi> and send oyu the links
<MurielGodoi> deepank: could you please attach the meetings log to wiki?
<deepank> Yes i will do that
<MurielGodoi> thanks for all your work
<deepank> Thanks
<MurielGodoi> the meeting is over
<MurielGodoi> see you guys
<deepank> Good Night
<MurielGodoi> night

Latest revision as of 04:26, 5 April 2008

  1. olpc-foodforce

Participants:

MurielGodoi, deepank, Anubhav

<deepank>There is one more thing that I would like to discuss about. There is no population parameter in the game. So, are we going to assume a constant population for the village or should we take it as a parameter. High growth rates of population in countries like India and Brazil is one reason why there are frequent draughts and famines.

<Anubhav>yes sir, We beliebe that their should be some population paramter that should be displayed during gameplay. A rise in population would then demand for more facilities, thus making the game more of real life simulation game.

<MurielGodoi>At once I also though that... it is important, but I think we can assume a constant population in our first version

<deepank>Ok we can keep it as a feature to be added; but it can be easily added ... and can depend on the level of education and family control measures being taken

<MurielGodoi>it is easily added but not so simple to code the effects.

<deepank>If a human being is being represented by an object the number of instances of human being object can be directly proportional to population

<Anubhav>I was thinking of the same, because the code needs to be changed a lot when we add that growing population factor, as it will have many dependencies with it

Class Diagram

<Anubhav>we had made the class diagram on paper. Please check it

<MurielGodoi>The image is not so clear, but from that I can read, why is indicator just related to facilities? s/facilities/resources

<deepank>Indicator is related to resources only and not to facilties. we thought that facilities will contribute to resources and thus indirectly to indicaors

<MurielGodoi>s/facilities/resources means replace facilities for indicator.. i typed wrong

<deepank>Muriel: buying or selling resources will automatically relate to indicators.

<MurielGodoi>the village stock is different from having infra-structure

<MurielGodoi>mainly to health... we can have medicines and do not have an hospital, so hospital should have effects in health indicator, I think indicator should relate both... resource and facilities. And facilities are more important (more weigh) than resources. We also need to check the relation type,composition or aggregation.

<deepank>Yes that was one thing in which I wanted to take your opinion

<MurielGodoi>I am checking my software engenniring... my last class about that was 6 years ago :)

<deepank>What do you think

<deepank>I was thinking of a main container class containing all these objects and helping integration among all these

<MurielGodoi>maybe just association. with labels and multiplicity?

<deepank>n:1 everywhere

<deepank>as n resources and n indicators affect 1 indicator

<MurielGodoi>maybe not

<MurielGodoi>houses can affect housing and health

<deepank>Right

<deepank>I overlooked that

<deepank>How do we model it in Python

<MurielGodoi>for instance. Health indicator can have an array of (facility, weight) tuples and another one for resources. Putting weights on it we can balance the importance of facilities and resources stock in the indicator.

<deepank>yes

<MurielGodoi>Could someone list for me the Resources methods, I can't read it here.

<deepank>

Update_Value(string name, int value)

void Buy(String name, int value)

void Sell(String name, int value)

int GetValue()

void SetValue()

<MurielGodoi>by value you mean, price or quantity?

<deepank>quantity

<MurielGodoi>value is a generic name.. try to make attributes name as clear as possible

<Anubhav>we wont be changing the price I believe

<MurielGodoi>Anubhav: What happens to the price when we have low quantity of some product on sale?

<Anubhav>price goes up, in the market as demand is more , supply is less

<MurielGodoi>perfect, I am trying to make you think about the scenario, not just give you the answers

<MurielGodoi>about the model... think about what you modeled in Resources class. It is a unique resouce or a entire stock?

<deepank>entire stock of a resource

<Anubhav>each object will be 1 resource

<deepank>i.e. Wood has one object and it represents entire stock of the village

<MurielGodoi>so why did you add name in all methods? In Resource there is a mix of Resource and stock methods

<deepank>Wood is the name of the resource

<deepank>What is the difference between the two?

<MurielGodoi>deepank: but in that object do you have just a string to save that

<deepank>Yes, or we can change it to a global enum for saving memory.

<MurielGodoi>deepank: so how will you handle several resources there

<deepank>Each resource will have one object; with a name associated with it

<MurielGodoi>at first every class name should be in singular otherwise you be modeling a group, not a object

<MurielGodoi>deepank: object or instance?

<deepank>We have a class Resource.

<deepank>Now it has object - Wood with name as wood and value as quantity

<deepank>Another Object Food

<MurielGodoi>so you will create 1 instance for each resource?

<deepank>yes

<MurielGodoi>if each resource have you own instance why you need name in all methods

food = Resource('food', 15)

food.setValue('food', 20)

<deepank>Actually we are introducing redundancy. We will remove the name.

<MurielGodoi>I think a class for stock should be fine. I do not understand the difference between resource and stock. stock is a set of resources, not just one

<deepank>Yes, then we can keep name as a parameter

<MurielGodoi>you just need to decide between model a stock or resources. if you are modeling a stock so you should keep the name parameter

<deepank>If we keep stock, then we will need to make all the parameters as arrays

<MurielGodoi>i think you are inclined to model a stock. in that case, you should rename your class as stock and stock should have a list of tuples (resource, quantity)

<deepank>No on the contrary, I think I should model as resource only, my habit of C programming is coming in the way :)

<MurielGodoi>so, you should rename you class to Resource (not Resources) and remove name from the methods

<deepank>Yes

<MurielGodoi>you should realize that there is no unique solution when modeling

<deepank>So, the changes are: 1. Association from Facilities to Indicator 2. Remove name as a parameter 3. Introduce a model to change prices


<MurielGodoi>we will need to instantiate two list of resources: 1 for the village, 1 for the market. Each one should have their own quantity and unit price

<deepank>but price will be decided in the market

<MurielGodoi>deepank: The game engine will change that

Facilities

<MurielGodoi>each facilities have a list of produced and consumed resources on each turn. we should model that.

<deepank>

void update_level(void)

void update_number(int)

<deepank>name should be removed

<MurielGodoi>deepank: perfect.. the same case... are you modeling a Facility not the entire city

facility.addProduction('rice', 100)

facility.addProduction('beans', 64)

facility.remProduction('beans')

facility.addConsumption('beans', 20)

and so on

<deepank>We have not added any production methods. Will a user be able to define this?

<MurielGodoi>not the user... the game engine, that is your next step after the model. the game engine will perform the changes on each turn.. update resources, prices, facilities and indicators

<deepank>Should a game engine decide that rice is to be grown and that too in a particular quantity? We were taking a single food item :)

<MurielGodoi>the animation and gui elements will read these that and update the screen. the user will invest on rice farm, but the rice production will be calculate by the game engine, so we can set variables like season, training, weather. now we are working on the model which will store the game data

<deepank>yes we can introduce weather and seasonal changes in the game

<MurielGodoi>the game engine will contain the definitions to change it

<deepank>So, I think Facility is fine; we need to remove the name.

<MurielGodoi>and add the methods above to allow game engine set it. facilities and Indicators should have the method 'turn', the game engine will can it to all facilities, which will update resources

<deepank>the update_value function is working as next_turn

<MurielGodoi>nice, so just rename it to next_turn, it is a clear name


Indicator

<MurielGodoi>the same for the name in methods and add methods to set the weights

health_indicator.addWeight('hospital', 50)

health_indicator.addWeight('housing ', 20)

<deepank>Weights are static information?

<MurielGodoi>yep, they will allow us better balance the game further


<MurielGodoi>Have you learned Model-View-Control model? View will be the animation and gui. model is that we are doing now and control will be the game engine

<deepank>No, not in the formal course studies. Can you give me some links for it.

<MurielGodoi>ok... I will find some links and mail you

<MurielGodoi>so next meeting monday 11:30est

<deepank>

1. Make code of model

2. Read up on links given by you

<MurielGodoi>

1. Repository

2. Thinking about game engine

3. contact the artwork guys