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

Most appropriate way to add Methuselah lifeforms #57

Closed
ahoward-cf opened this issue Sep 20, 2020 · 1 comment
Closed

Most appropriate way to add Methuselah lifeforms #57

ahoward-cf opened this issue Sep 20, 2020 · 1 comment

Comments

@ahoward-cf
Copy link
Contributor

@ljvmiranda921 suggested a new issue for this would be appropriate.

I would like to add a couple of Methuselah lifeforms (namely Thunderbird and Century) but their nature makes it difficult to decide where best to place them.

  • Unlike oscillators, Methuselahs do not return to their initial state - thus they are unsuited to the oscillator class.
  • They decay into many smaller lifeforms, often mixtures of still life, oscillators, and spaceships - thus they are not still life lifeforms.
  • They generally require large canvases, and long integration times before they stabilize. This may require some thought as to how best to instantiate them.

As such, a new class/sub-class may be best. But in addition to the above, they are rarely used in combination with other lifeforms (as other lifeforms will disrupt the evolution towards the steady state). Would they be better as examples? Or as something entirely new?

@ljvmiranda921
Copy link
Owner

ljvmiranda921 commented Sep 21, 2020

Hi @ahoward-cf ! I think they should belong to another module entirely, similar to how we treated Oscillators and what-not.
You can follow how we did the other classes and setup a new file that includes it! Just note that this time:

  • Create a new python file / module (methuselah.py)
  • Implement atleast 1 Lifeform under that family
  • Update the imports in lifeforms/init.py

Update docstrings in the following files:

  • lifeforms/init.py (include the new module)
  • Check if docs were thoroughly updated

I may have missed something, but I think that's a comprehensive list for implementing the module!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants