Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Surfaces support #2

Closed
tmptrash opened this issue Jan 12, 2019 · 0 comments
Closed

Surfaces support #2

tmptrash opened this issue Jan 12, 2019 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@tmptrash
Copy link
Owner

tmptrash commented Jan 12, 2019

At least we have to support:

  • water
  • lava
  • sand
  • holes
  • energy
  • stones
  • poison

They should move to randomly slected points (many) in a world. If some percent of dots (block) are not moving then random point should be changed. Because it will have many points, we will have many areas with different surfaces.
Config for one surface:

  • color (%16 should be index to surface)
  • barrier (can go through or not)
  • energy (decrease of energy if organism above this type of surface)
  • step (percent of step 0...1 if organism above this type of surface)
  • radiation (percent of radiation, which is applied to organism if it steps on this surface)
  • delay (surface delay between steps)
  • amount (amount of dots for this surface)
  • dirs (amount of random directions for surface moving)
  • scan (amount of pixel processes by one time of running Surface.move() method)
  • dirUpdate (Amount of movements after which random direction will be changed)

Amount of all surfaces dots should not be greater then amount of dots in a world. Think about configs for mutations and age.

Here is a simple algorithm:
Just go through all dots in a world and move them to dirx, diry. This is how we remove all Surface arrays. Maybe merge Energy and Surface classes.

@tmptrash tmptrash added the enhancement New feature or request label Jan 12, 2019
@tmptrash tmptrash added this to the First beta milestone Jan 12, 2019
@tmptrash tmptrash self-assigned this Jan 12, 2019
@tmptrash tmptrash mentioned this issue Jan 12, 2019
tmptrash added a commit that referenced this issue Jan 18, 2019
fixed inps calculation formula
added block config for surfaces #2
fixed issue with stucked surface dots #2
added/updated tests for Mutations class #4
fixed error with square on the left (related to surfaces) #2
tmptrash added a commit that referenced this issue Jan 20, 2019
tmptrash added a commit that referenced this issue Jan 26, 2019
tmptrash added a commit that referenced this issue Feb 3, 2019
fixed an issue with radiation effect #2
tmptrash added a commit that referenced this issue Mar 22, 2019
tmptrash added a commit that referenced this issue Mar 23, 2019
updated default configuration
tmptrash added a commit that referenced this issue Apr 6, 2019
implemented new Surface algorithm based on random walk #2
decreased memory usage #2
added an ability to add unlimited (till the size of the world) surface dots in a world #2
added an ability to collect dots of different surfaces near Config.worldSurfaces[x].dirs locations #2
removed Energy class #2
fixed a problem with max energy #2
moved energy config to Config.worldSurfaces[0] #2
added Config.orgStepEnergy #2
@tmptrash tmptrash closed this as completed Apr 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant