Food Force/Meeting Logs3
- 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=chatzill@221.134.239.87) has joined #olpc-foodforce
<Anubhav> Hi deepank
<deepank> Hi
<Anubhav> Still no one, this is not good
<deepank> Lets wait for others ....
<deepank> yea ..... do sum other wrk while keeping this window open
<Anubhav> affirmative
-->| MurielGodoi (n=msgodoi@189-68-25-237.dsl.telesp.net.br) has joined #olpc-foodforce
<deepank> Hi Muriel
<MurielGodoi> hi Deepank, hi Anubhav
<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
<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
<MurielGodoi> we also need to check the relation type
<MurielGodoi> 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
<MurielGodoi> and another one for resources
<deepank> yes
<MurielGodoi> putting weighs 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)
<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
<MurielGodoi> Anubhav: What happens to the price when we have low quantity of some product on sale?
<Anubhav> price goes up
<Anubhav> in the market as demand is more , supply is less
<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?
<deepank> entire stock of a resource
<Anubhav> each object will be 1 resource
<deepank> i.e. Wood has one object.
<deepank> and it represents entire stock of the village
<MurielGodoi> so why did you add name in all methods?
<MurielGodoi> in Resource there is a mix of Resouce 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> similarly and so on
<deepank> yes
<MurielGodoi> if each resource have you own instance why you need name in all methods
<MurielGodoi> food = Resouce('food', 15)
<MurielGodoi> food.setValue('food', 20)
<deepank> Yes
<deepank> Actually we are introducing redundancy
<deepank> we will remove the name
<MurielGodoi> deepank: you got it
<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
<MurielGodoi> not just one
<deepank> Yes, then we can keep name as a parameter
<MurielGodoi> you just need to decide beetwen model a stock or resources
<MurielGodoi> if you are modeling a stock so you should keep the name parameter
<MurielGodoi> that's happened to Anubhav
<MurielGodoi> ?
<MurielGodoi> ok
<deepank> If we keep stock, then we will need to make all the parameters as arrays
<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 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 methos
<deepank> Yes
<MurielGodoi> you should realize that there is no unique solution when modeling
<deepank> So, the changes are :
<deepank> 1. Association from Facilities to Indicator
<deepank> 2. Remove name as a parameter
<Anubhav> yes
<deepank> 3. Introduce a model to change prices
<Anubhav> ok
<MurielGodoi> we will need to instantiate two list of resouces:
<MurielGodoi> 1 for the village
<MurielGodoi> 1 for the market
<MurielGodoi> each one should have their own quantity and unit price
<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)
<deepank> void update_number(int)
<deepank> name should be removed
<MurielGodoi> deepank: perfect.. the same case... are you modeling a Facilitie not the entire city
<MurielGodoi> facility.addProduction('rice', 100)
<MurielGodoi> facility.addProduction('beans', 64)
<MurielGodoi> facility.remProduction('beans')
<MurielGodoi> facility.addConsumption('beans', 20)
<MurielGodoi> and so on
<deepank> We have not added any production methods
<deepank> Will a user be able to define this?
<MurielGodoi> not the user... the game engine
<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
<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> yes.
<MurielGodoi> the user will invest on rice farm
<MurielGodoi> but the rice production will be calculate by the game engine
<deepank> yes
<deepank> which will depend on the trainig of the villagers
<MurielGodoi> so we can set variables like season, training, weather
<MurielGodoi> perfect
<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
<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 too
<deepank> Yes
<MurielGodoi> to allow game engine set it
<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
<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
<MurielGodoi> and add methods to set the weights
<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.
<MurielGodoi> we are done about the diagram?
<MurielGodoi> are we done about the diagram?
<deepank> Yes, we will make a new diagram incorporating changes and also make the code now
<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
<MurielGodoi> olpc was going to get a guy for that, but I donno how is it now
<deepank> Ok, so please tell us when the repository is setup.
<MurielGodoi> ok
<MurielGodoi> Anything else?
<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 :)
<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?
<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
<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