You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On further investigation GU already handles this pretty well, and we're going to be generalizing the existing spawning rules as part of the definition of objects in #232 in order to replicate the current functionality for "Food" objects. The following optional properties will be available on all objects:
initial_count: how many to put on the map initially (formerly num_food)
respawn: Should a consumed object be immediately replaced in another location (formerly respawn_food)
public_good_multiplier: Should the calories of this object be split among all players when consumed (formerly food_pg_multiplier)
growth_rate: The rate at which the number of objects increases (formerly food_growth_rate)
seasonal_growth_rate: A rate multiplier that changes per game round. In odd rounds the growth_rate is multiplied by this value, and in even rounds it's divided by this value.
probability_distribution: A named probability distribution used for placing objects, see distributions.py (formerly food_probability_distribution defaults to random).
Somewhat related are:
maturation_speed: The rate at which objects "mature" and eventually "spoil" or disappear (formerly food_maturation_speed).
maturation_threshold: The maturity level at which an object is removed from the map (formerly food_maturation_threshold)
This was 95% done when implementing #232, but I did a small refactor to support configuring the initial player distribution. I've included that change into PR #248. Both aspects seem to be working well.
User story:
As an experimenter I can define overall spawning rules for the map: whether objects are randomly placed or clumped.
[Note: this may have elements in common with the wall-building algorithms. Natalia will take the lead on algorithm development.]
The text was updated successfully, but these errors were encountered: