AZHenley / HarvestMemory

Program a bot using assembly-like code in this competitive game!
MIT License
58 stars 6 forks source link

Game Balance: High Complexity / Strategy is not rewarded well #5

Open robobenklein opened 5 years ago

robobenklein commented 5 years ago

Seems that the really simple / sometimes stupidly dumb bots often easily outplay even the most refined strategies simply due to computational overhead to play area complexity.

Ideas for improvement:

robobenklein commented 5 years ago

Scaling the play area:

Originally some bots could hardcode values and sit at the end of the field. Let's randomize the start/end memory locations that allow planting, with fewer bots having less arable land in the field. Some memory locations might not be able to grow fruit at all.

These arable spots could quickly become arid should a bot plant and harvest too many fruits in the same location, forcing bots to move and search for arable memory.

robobenklein commented 5 years ago

Instructions cost energy - eat fruits for energy

This one seems like the most fun in combination with Scaling the play area since it enables bots to die or fail.

If a bot runs out of both energy and fruit, it's dead and is disabled while holding it's latest score.

Excess fruits could be exchanged for points via a program call instead of immediately gaining points on harvest / using fruits as the points themselves.

robobenklein commented 5 years ago

Fruit growth should be slower and more complex

When a large number of bots are placed on the field, fruits can end up growing so that repeated calls to harvest() end up being the most efficient solution.

Introducing arable land and slowing down the fruit growth so that it's not dependent on the number of instructions executed by enemy bots should be beneficial.