MineColonies

MineColonies

56M Downloads

Create happiness system

Raycoms opened this issue · 6 comments

commented

We'll need Peters help on that:

  • Citizens are happy?
  • Workers are happy?
  • Citizen hut upgrade improves?
  • Will require food delivered?

Questions over questions.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

commented

Ok..

What is the purpose of the Happiness System..

Well. in my view it is a system that lets us reward players that set up and balance their colonies well, and punish players who don't. This will be through colonies working better (more efficiently) when happy and less efficiently when unhappy.

There are two ways we can make this work.

  1. Apply a modifier to the current worker skills system, to make workers better or worse
  2. Vary the time of day workers start and finish working.. (so at their happiest they work as they do now, and as they get progressively unhappier they start work later and finish earlier..

Happy for either way. 1) is less work but less visible to the player, so my preference is for 2) but as I say I'll go with the massess on this one.

So.. what makes a worker unhappy.. Well basically - not getting fed enough is how it used to be done, And therefore I would suggest this is what we stick with, as otherwise the only use for farmers is to feed the player.

The INDIVIDUAL worker should have a happiness scale of say 1-100.

A Minecraft day is 10 minutes long. So we could go with.

Happiness Score of 80+ = Full 10 minutes working
Happiness Score of 60-80 = 9 minutes working (starts 30 seconds later, finishes 30 seconds earlier)
Happiness Score of 40-60 = 8 minutes working
Happiness Score of 20-40 = 6 minutes working
Happiness Score of <20 = 4 minutes working.

All workers should start with a happiness score of the full 100

This decreases by half their level per day.. so a level 50 worker will require at least 25 points worth of food per day to remain at full happiness.

A worker should REQUEST 150% of their required points per day in food (so they have the ability to raise happiness if fully fed.)

Each foodstuff could have a different points value.

So a loaf of bread could be 3 points, a raw fish 2, but a cooked fish 5 foe example (needs balancing of course.) - The rarer and harder a food is to produce, the higher the points value its worth.

So each morning the worker requests their points value of food, and will consume it from their huts chest if it is there. Perhaps we make it so they only eat a max 2 of a particular foodstuff in a day, or perhaps if different foods are available in their chest they will only eat 1 of each type (unless that is not enough)

D-Man should know the Food Points requirement of each chest and should top it up to say 200% of the days requirements perhaps.

Only issue I see with this is we have to manually give each food a value - and that means no support for mod added food. but if we dont all food is equal.. which doesn't really work either..

Anyway - just my initial thoughts on this :)

commented

Talked with Peter about this.

The best way is probably the following:

System will be very similar to the minecraft hunger system.

  • Each citizen has a hunger bar inside his GUI (works like the players one)
  • Each gametime they lose hunger like the player (Less if unemployed)
  • If hunger > 90% full they add a 20% boost on their level (the roof of this)
  • If hunger < 20% they get a 30% buff on their level (the floor of this)
  • These 3 stages may be indicated by "Very happy" "Happy" "Unhappy".
  • In hard mode of minecraft they will even slowely starv.
  • They recuperate hunger like the player(eating stuff gives the same values)
commented

So, How do they decide "What" to eat.. Previous version had specific
things needed at specific levels.. This is problematic as it forces
production of certain items.. however we also want to avoid someone just
taking the easy path of having 3 farmers with 3 fields of wheat and just
producing Bread.

Any Ideas ?

On Wed, Sep 7, 2016 at 9:30 PM, Raycoms [email protected] wrote:

Talked with Peter about this.

The best way is probably the following:

System will be very similar to the minecraft hunger system.

  • Each citizen has a hunger bar inside his GUI (works like the players
    one)
  • Each gametime they lose hunger like the player (Less if unemployed)
  • If hunger > 90% full they add a 20% boost on their level (the roof
    of this)
  • If hunger < 20% they get a 30% buff on their level (the floor of
    this)
  • These 3 stages may be indicated by "Very happy" "Happy" "Unhappy".
  • In hard mode of minecraft they will even slowely starv.
  • They recuperate hunger like the player(eating stuff gives the same
    values)


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#25 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUFcZvJW4JYIOlGAPfKWH-6r_t8-ors3ks5qnx79gaJpZM4JjyZb
.

commented

We can integrate with applecore.

Most players want eating to go away really fast. Some install HungerOverhaul for example and make it really complicated.

We would simulate exactly a player and get what the player would get. There are many mods adding nutrition im various ways.

And if someone has no applecore we use default minecraft values of "I don't care what you eat"

Am 12.09.2016 16:28 schrieb pmardle [email protected]:

So, How do they decide "What" to eat.. Previous version had specific
things needed at specific levels.. This is problematic as it forces
production of certain items.. however we also want to avoid someone just
taking the easy path of having 3 farmers with 3 fields of wheat and just
producing Bread.

Any Ideas ?

On Wed, Sep 7, 2016 at 9:30 PM, Raycoms [email protected] wrote:

Talked with Peter about this.

The best way is probably the following:

System will be very similar to the minecraft hunger system.

  • Each citizen has a hunger bar inside his GUI (works like the players
    one)
  • Each gametime they lose hunger like the player (Less if unemployed)
  • If hunger > 90% full they add a 20% boost on their level (the roof
    of this)
  • If hunger < 20% they get a 30% buff on their level (the floor of
    this)
  • These 3 stages may be indicated by "Very happy" "Happy" "Unhappy".
  • In hard mode of minecraft they will even slowely starv.
  • They recuperate hunger like the player(eating stuff gives the same
    values)


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#25 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUFcZvJW4JYIOlGAPfKWH-6r_t8-ors3ks5qnx79gaJpZM4JjyZb
.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

commented

Is Applecore another mod.. ?

On Mon, Sep 12, 2016 at 3:43 PM, Marvin Hofmann [email protected]
wrote:

We can integrate with applecore.

Most players want eating to go away really fast. Some install
HungerOverhaul for example and make it really complicated.

We would simulate exactly a player and get what the player would get.
There are many mods adding nutrition im various ways.

And if someone has no applecore we use default minecraft values of "I
don't care what you eat"

Am 12.09.2016 16:28 schrieb pmardle [email protected]:

So, How do they decide "What" to eat.. Previous version had specific
things needed at specific levels.. This is problematic as it forces
production of certain items.. however we also want to avoid someone just
taking the easy path of having 3 farmers with 3 fields of wheat and just
producing Bread.

Any Ideas ?

On Wed, Sep 7, 2016 at 9:30 PM, Raycoms [email protected] wrote:

Talked with Peter about this.

The best way is probably the following:

System will be very similar to the minecraft hunger system.

  • Each citizen has a hunger bar inside his GUI (works like the players
    one)
  • Each gametime they lose hunger like the player (Less if unemployed)
  • If hunger > 90% full they add a 20% boost on their level (the roof
    of this)
  • If hunger < 20% they get a 30% buff on their level (the floor of
    this)
  • These 3 stages may be indicated by "Very happy" "Happy" "Unhappy".
  • In hard mode of minecraft they will even slowely starv.
  • They recuperate hunger like the player(eating stuff gives the same
    values)


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#25 (comment)
245407876>,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/AUFcZvJW4JYIOlGAPfKWH-6r_t8-ors3ks5qnx79gaJpZM4JjyZb>
.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#25 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUFcZjiXJHCSLUf7RiGQTL5Usw0aTogzks5qpWUsgaJpZM4JjyZb
.

commented

It's a library for modders to use if they want to tweak hunger.

Am 12.09.2016 16:58 schrieb pmardle [email protected]:

Is Applecore another mod.. ?

On Mon, Sep 12, 2016 at 3:43 PM, Marvin Hofmann [email protected]
wrote:

We can integrate with applecore.

Most players want eating to go away really fast. Some install
HungerOverhaul for example and make it really complicated.

We would simulate exactly a player and get what the player would get.
There are many mods adding nutrition im various ways.

And if someone has no applecore we use default minecraft values of "I
don't care what you eat"

Am 12.09.2016 16:28 schrieb pmardle [email protected]:

So, How do they decide "What" to eat.. Previous version had specific
things needed at specific levels.. This is problematic as it forces
production of certain items.. however we also want to avoid someone just
taking the easy path of having 3 farmers with 3 fields of wheat and just
producing Bread.

Any Ideas ?

On Wed, Sep 7, 2016 at 9:30 PM, Raycoms [email protected] wrote:

Talked with Peter about this.

The best way is probably the following:

System will be very similar to the minecraft hunger system.

  • Each citizen has a hunger bar inside his GUI (works like the players
    one)
  • Each gametime they lose hunger like the player (Less if unemployed)
  • If hunger > 90% full they add a 20% boost on their level (the roof
    of this)
  • If hunger < 20% they get a 30% buff on their level (the floor of
    this)
  • These 3 stages may be indicated by "Very happy" "Happy" "Unhappy".
  • In hard mode of minecraft they will even slowely starv.
  • They recuperate hunger like the player(eating stuff gives the same
    values)


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#25 (comment)
245407876>,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/AUFcZvJW4JYIOlGAPfKWH-6r_t8-ors3ks5qnx79gaJpZM4JjyZb>
.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#25 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUFcZjiXJHCSLUf7RiGQTL5Usw0aTogzks5qpWUsgaJpZM4JjyZb
.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.