Food Force/Meeting Logs3: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
(replace with more readable version)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
#olpc-foodforce
#olpc-foodforce


Participants:
[INFO] Channel view for “#olpc-foodforce” opened.


'''MurielGodoi, deepank, Anubhav'''
-->| YOU (deepank) have joined #olpc-foodforce


'''<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.
=-= Mode #olpc-foodforce +ns by niven.freenode.net


'''<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.
-->| Anubhav (n=chatzill@221.134.239.87) has joined #olpc-foodforce


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


'''<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


'''<MurielGodoi>'''it is easily added but not so simple to code the effects.
<Anubhav> Still no one, this is not good


'''<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> Lets wait for others ....


'''<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
<deepank> yea ..... do sum other wrk while keeping this window open


==Class Diagram==
<Anubhav> affirmative


'''<Anubhav>'''we had made the class diagram on paper. Please check it
-->| MurielGodoi (n=msgodoi@189-68-25-237.dsl.telesp.net.br) has joined #olpc-foodforce


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


'''<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> hi Deepank, hi Anubhav


'''<MurielGodoi>'''s/facilities/resources means replace facilities for indicator.. i
<Anubhav> Hello sir

<deepank> I will send you the class diagram's scanned pic thru email

<deepank> please tell us if we are going wrong somewhere

<MurielGodoi> ok

<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.

<MurielGodoi> sure, what it is about?

<deepank> There is no population parameter in the game

<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 is online.

<Anubhav> A rise in population would then demand for more facilities, thus making the game more of real life simualtion game

<deepank> High growth rates of population in countries like India and Brazil is one reason why there are frequent draughts

<deepank> and famines

<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.

<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

<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

<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

<Anubhav> @Deepank: have you mailed the Class Diagram to sir

<deepank> yes

* MurielGodoi is cheking...

<MurielGodoi> The image is not so clear, but from that I can read..

<MurielGodoi> why is indicator just related to facilities?

<MurielGodoi> s/facilities/resources

<deepank> Indicator is related to resources only and not to facilties

<deepank> we thought that facilities will contribute to resources

<deepank> and thus indirectly to indicaors

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


'''<deepank>'''Muriel: buying or selling resources will automatically relate to indicators.
<MurielGodoi> deepank: so for us desn't matter that we buy or produce a resource

<MurielGodoi> ?

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

<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

<deepank> Right

<MurielGodoi> so hospital should have effects in health indicator

<MurielGodoi> I think indicator should relate both... resource and facilities

<deepank> right

<Anubhav_Agarwal> joinyes

<Anubhav_Agarwal> yes

<MurielGodoi> and facilities are more important (more weigh ) than resources

<deepank> ok

|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))

<MurielGodoi> we also need to check the relation type


'''<MurielGodoi>'''the village stock is different from having infra-structure
<MurielGodoi> composition or aggregation


'''<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


'''<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>'''I am checking my software engenniring... my last class about that was 6 years ago :)
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce


<deepank> What do you think
'''<deepank>'''What do you think


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


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


<deepank> n:1 everywhere
'''<deepank>'''n:1 everywhere


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


<MurielGodoi> maybe not
'''<MurielGodoi>'''maybe not


<MurielGodoi> houses can affect housing and health
'''<MurielGodoi>'''houses can affect housing and health


'''<deepank>'''Right
|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))


'''<deepank>'''I overlooked that
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce


<deepank> Right
'''<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> I overlooked that


<deepank> How do we model it in Python
'''<deepank>'''yes


<MurielGodoi> for instance. Health indicator can have an array of (facility, weight) tuples
'''<MurielGodoi>'''Could someone list for me the Resources methods, I can't read it here.


'''<deepank>'''
|<-- Anubhav_Agarwal has left freenode (Read error: 104 (Connection reset by peer))


Update_Value(string name, int value)
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce


void Buy(String name, int value)
<MurielGodoi> and another one for resources


void Sell(String name, int value)
<deepank> yes


int GetValue()
|<-- Anubhav has left freenode (Read error: 110 (Connection timed out))


void SetValue()
=-= Anubhav_Agarwal is now known as Anubhav


'''<MurielGodoi>'''by value you mean, price or quantity?
<MurielGodoi> putting weighs on it we can balance the importance of facilities and resources stock in the indicator


<deepank> yes
'''<deepank>'''quantity


'''<MurielGodoi>'''value is a generic name.. try to make attributes name as clear as possible
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))


'''<Anubhav>'''we wont be changing the price I believe
<MurielGodoi> Could someone list for me the Resources methods, I can't read it here.


'''<MurielGodoi>'''Anubhav: What happens to the price when we have low quantity of some
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

<deepank> Update_Value(string name, int value)

=-= Anubhav_Agarwal is now known as Anubhav

<deepank> void Buy(String name, int value)

<deepank> void Sell(String name, int value)

<deepank> int GetValue()

<deepank> void SetValue()

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

<deepank> quantity

<Anubhav> 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

<deepank> ok

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

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

=-= Anubhav_Agarwal is now known as Anubhav

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


<Anubhav> price goes up
'''<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
<Anubhav> in the market as demand is more , supply is less


'''<MurielGodoi>'''about the model... think about what you modeled in Resources class. It is a unique resouce or a entire stock?
|<-- Anubhav has left freenode (Read error: 104 (Connection r
eset by peer))


'''<deepank>'''entire stock of a resource
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce


'''<Anubhav>'''each object will be 1 resource
=-= Anubhav_Agarwal is now known as Anubhav


'''<deepank>'''i.e. Wood has one object and it represents entire stock of the village
<MurielGodoi> perfect, I am trying to make you think about the scenario, not give you just the answers


<MurielGodoi> about the model... think about what you modeled in Resouces class. It is a unique resouce or a entire stock?
'''<MurielGodoi>'''so why did you add name in all methods? In Resource there is a mix of Resource and stock methods


<deepank> entire stock of a resource
'''<deepank>'''Wood is the name of the resource


'''<deepank>'''What is the difference between the two?
<Anubhav> each object will be 1 resource


'''<MurielGodoi>'''deepank: but in that object do you have just a string to save that
<deepank> i.e. Wood has one object.


<deepank> and it represents entire stock of the village
'''<deepank>'''Yes, or we can change it to a global enum for saving memory.


<MurielGodoi> so why did you add name in all methods?
'''<MurielGodoi>'''deepank: so how will you handle several resources there


'''<deepank>'''Each resource will have one object; with a name associated with it
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))


<MurielGodoi> in Resource there is a mix of Resouce and stock methods
'''<MurielGodoi>'''at first every class name should be in singular otherwise you be

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

=-= Anubhav_Agarwal is now known as Anubhav

<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
modeling a group, not a object


<MurielGodoi> deepank: object or instance?
'''<MurielGodoi>'''deepank: object or instance?

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

<deepank> We have a class Resource.

=== anubhav is offline.


'''<deepank>'''We have a class Resource.
<deepank> Now it has object - Wood with name as wood and value as quantity


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


'''<deepank>'''Another Object Food
<MurielGodoi> so you will create 1 instance for each resource


'''<MurielGodoi>'''so you will create 1 instance for each resource?
<deepank> similarly and so on


<deepank> yes
'''<deepank>'''yes


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


<MurielGodoi> food = Resouce('food', 15)
food = Resource('food', 15)


<MurielGodoi> food.setValue('food', 20)
food.setValue('food', 20)


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


'''<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> Actually we are introducing redundancy


<deepank> we will remove the name
'''<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
<MurielGodoi> deepank: you got it


'''<deepank>'''If we keep stock, then we will need to make all the parameters as
<MurielGodoi> I think a class for stock should be fine

<deepank> I do not understand the difference between resource and stock

<MurielGodoi> stock is a set of resources

-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce

=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> not just one

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

|<-- 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

=-= Anubhav_Agarwal is now known as Anubhav

=== anubhav is online.

<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> that's happened to Anubhav

-->| Anuabhav__ (i=Anubhav@221.134.239.87) has joined #olpc-foodforce

<MurielGodoi> ?

<MurielGodoi> ok

<deepank> If we keep stock, then we will need to make all the parameters as
arrays
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)
-->| 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> ok... sometimes I also face it in Brazil

<MurielGodoi> i think you are inclined to model a stock

<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
'''<deepank>'''No on the contrary, I think I should model as resource only, my
habit of C programming is coming in the way :)
habit of C programming is coming in the way :)


<MurielGodoi> and stock should have a list of tuples (resouce, quantity)
'''<MurielGodoi>'''so, you should rename you class to Resource (not Resources) and
remove name from the methods


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


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


'''<deepank>'''So, the changes are:
<MurielGodoi> you should realize that there is no unique solution when modeling
1. Association from Facilities to Indicator
2. Remove name as a parameter
3. Introduce a model to change prices


<deepank> So, the changes are :


'''<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> 1. Association from Facilities to Indicator


<deepank> 2. Remove name as a parameter
'''<deepank>'''but price will be decided in the market


'''<MurielGodoi>'''deepank: The game engine will change that
<Anubhav> yes


==Facilities==
<deepank> 3. Introduce a model to change prices


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


'''<deepank>'''
<MurielGodoi> we will need to instantiate two list of resouces:


void update_level(void)
<MurielGodoi> 1 for the village


void update_number(int)
<MurielGodoi> 1 for the market


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


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

<MurielGodoi> everything okay about resoures?

<deepank> but price will be decided in the market

<deepank> oh sorry got confused

<deepank> yes

<MurielGodoi> deepank: The game enngine will chenge that

<MurielGodoi> about facilities

<deepank> Yes

<MurielGodoi> each facilities have a list of produced and consumed resources on
each turn

<MurielGodoi> we should model that

<deepank> void update_level(void)

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

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

<deepank> void update_number(int)

<deepank> name should be removed

=== anubhav is offline.

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


<MurielGodoi> facility.addProduction('rice', 100)
facility.addProduction('rice', 100)


<MurielGodoi> facility.addProduction('beans', 64)
facility.addProduction('beans', 64)


<MurielGodoi> facility.remProduction('beans')
facility.remProduction('beans')


<MurielGodoi> facility.addConsumption('beans', 20)
facility.addConsumption('beans', 20)


<MurielGodoi> and so on
and so on


<deepank> We have not added any production methods
'''<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> Will a user be able to define this?


'''<deepank>'''Should a game engine decide that rice is to be grown and that too in
<MurielGodoi> not the user... the game engine

-->| Anubhav (i=Anubhav@221.134.239.87) has joined #olpc-foodforce

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

<MurielGodoi> that is your next step after the model

<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

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

<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 :)
a particular quantity? We were taking a single food item :)


<MurielGodoi> the animation and gui elements will read these that and update the
'''<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
screen


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


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


'''<deepank>'''So, I think Facility is fine; we need to remove the name.
<MurielGodoi> the user will invest on rice farm


'''<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
<MurielGodoi> but the rice production will be calculate by the game engine
resources


'''<deepank>'''the update_value function is working as next_turn
<deepank> yes


'''<MurielGodoi>'''nice, so just rename it to next_turn, it is a clear name
-->| Anubhav (i=Anubhav@221.134.239.87) has joined #olpc-foodforce


<deepank> which will depend on the trainig of the villagers


==Indicator==
|<-- Anubhav has left freenode (Read error: 104 (Connection reset by peer))


<MurielGodoi> so we can set variables like season, training, weather
'''<MurielGodoi>'''the same for the name in methods and add methods to set the weights


health_indicator.addWeight('hospital', 50)
<MurielGodoi> perfect


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


'''<deepank>'''Weights are static information?
<deepank> yes we can introduce weather and seasonal changes in the game


<MurielGodoi> the game engine will contain the definitions to change it
'''<MurielGodoi>'''yep, they will allow us better balance the game further


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


'''<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
-->| Anubhav_Agarwal (n=chatzill@221.134.239.87) has joined #olpc-foodforce


'''<deepank>'''No, not in the formal course studies. Can you give me some links for
=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> and add the methods above too

<deepank> Yes

<MurielGodoi> to allow game engine set it

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

<MurielGodoi> facilities and Indicators should have the method 'turn'

<MurielGodoi> the game engine will can it to all facilities, which will update
resouces

<deepank> the update_value function is working as next_turn

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

<deepank> ok

-->| Anubhav_Agarwal (n=chatzill@221.134.227.102) has joined #olpc-foodforce

=-= Anubhav_Agarwal is now known as Anubhav

<MurielGodoi> Missed I something?

<deepank> I do not think so, only Indicator left to discuss

<MurielGodoi> sure....

<MurielGodoi> the same for the name in methods

<deepank> yes

-->| Anubhav_Agarwal (n=chatzill@221.134.224.83) has joined #olpc-foodforce

<MurielGodoi> and add methods to set the weights

-->| Anubhav___ (i=Anubhav@221.134.224.83) has joined #olpc-foodforce

<MurielGodoi> health_indicator.addWeight('hospital', 50)

<MurielGodoi> health_indicator.addWeight('housing ', 20)

<deepank> Weights are static information

<MurielGodoi> yep

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

<deepank> ok.

=== anubhav is online.

<MurielGodoi> we are done about the diagram?

<MurielGodoi> are we done about the diagram?

|<-- 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.
it.


<MurielGodoi> and control will be the game engine
'''<MurielGodoi>'''ok... I will find some links and mail you

<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))


'''<MurielGodoi>'''so next meeting monday 11:30est
<deepank> Yes


'''<deepank>'''
<MurielGodoi> and send oyu the links


1. Make code of model
<MurielGodoi> deepank: could you please attach the meetings log to wiki?


2. Read up on links given by you
<deepank> Yes i will do that


<MurielGodoi> thanks for all your work
'''<MurielGodoi>'''


1. Repository
<deepank> Thanks


2. Thinking about game engine
<MurielGodoi> the meeting is over


3. contact the artwork guys
<MurielGodoi> see you guys


<deepank> Good Night


[[Category:Health]]
<MurielGodoi> night
[[Category:Nutrition]]
[[Category:Software]]
[[Category:Games]]

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