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

Genome #56

Merged
merged 32 commits into from
Feb 27, 2024
Merged

Genome #56

merged 32 commits into from
Feb 27, 2024

Conversation

MylesScholz
Copy link
Owner

@MylesScholz MylesScholz commented Feb 23, 2024

Changes:

  • CellState refactor
    • Added energy currency
    • Moved some fields from Nucleus, Mitochondria, and Flagella into CellState
  • CellStructures
    • Nucleus: no activation functionality
    • Mitochondria: nutrient to energy conversion
    • Ribosomes (new): energy to nutrient conversion
    • Flagella: randomized movement
    • Sprites for each CellStructure dynamically displayed
  • Genome framework
    • Genome class: container for Genes with utility functions for reproduction and mutation
    • Gene class: abstract parent class for future gene implementations
  • Updated godot-cpp submodule to godot-4.2.1-stable

hpfluke0478 and others added 30 commits January 23, 2024 00:50
Created a class for the nucleus based on our initial idea of a nucleus #37

The Nucleus that is created under the cell state is the nucleus that will get used by the cell
Changes:
- Filled out Mitochondria properties and functionality
- Implemented Ribosomes similarly
- Updated source documentation
- Added energy properties to CellStructure
- Added energy starvation to Cells
- Added CellStructure sprite property and sprites for Nucleus,
Mitochondria, and Ribosomes
- Cells now spawn with a randomized torque applied
- Cells mass scaling with size
- Physics tweaks
Added the basic genome and gene structures used for determining a cell's
structures and starting attributes.
- a basic genome structure with the express function that tells each
gene in a vector to run its express function.
- a basic parent class that will be used by all the different genes.

Related Issues: #24

---------

Co-authored-by: MylesScholz <myles.scholz@gmail.com>
A functional version of the flagella

---------

Co-authored-by: hpfluke0478 <henry.pfluke@gmail.com>
Co-authored-by: hpfluke0478 <henry.pfluke@gmail.com>
src/gene.cpp Outdated Show resolved Hide resolved
src/cell.cpp Outdated Show resolved Hide resolved
Changes:
- Added queue_free() to Cell for its CellStructures
- Enforced standard namespace usage
Changes:
- Updated godot-cpp submodule to godot-4.2.1-stable tag
Copy link
Collaborator

@Alex-x90 Alex-x90 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm understanding how efficiency/strength/conversionRate work together, it looks like the different organelles can't do things for free and have tradeoffs for the values except for conversionRate, which could potentially explode allowing really high gains. This may be fine, but it's worth noting that there's potential for running away with the rate here. Generally looks good though, and was able to successfully test on my end.

@MylesScholz MylesScholz merged commit e4b110a into main Feb 27, 2024
7 of 12 checks passed
MylesScholz pushed a commit that referenced this pull request May 10, 2024
Very basic UI trial

added label, shifted stat_counter to bottom left

fixed accidental viewport shifting

added label

Add PR build action

-Added action to build the module to verify that all PC builds compile correctly
-Fixed header capitalization so that builds would succeed on linux

Start button changes display and cells

Adjusted stats window styling. Nonfunctional as of now.

Added time stat and reset and menu button functionality

Added functionality for stats panel. User can now close and move the statspanel around the page.

Pause and quit functionality and rename ui elements

Added hotkey functionality for statspanel. Obeys menu functionality

adjusted click functionality, linked cell signal and applied cell stats.

Added in-sim menu functionality

Renamed exit to main menu to match functonality

Genome (#56)

Changes:
- CellState refactor
    - Added energy currency
- Moved some fields from Nucleus, Mitochondria, and Flagella into
CellState
- CellStructures
    - Nucleus: no activation functionality
    - Mitochondria: nutrient to energy conversion
    - Ribosomes (new): energy to nutrient conversion
    - Flagella: randomized movement
    - Sprites for each CellStructure dynamically displayed
- Genome framework
- Genome class: container for Genes with utility functions for
reproduction and mutation
    - Gene class: abstract parent class for future gene implementations
- Updated godot-cpp submodule to godot-4.2.1-stable

---------

Co-authored-by: hpfluke0478 <38867454+hpfluke0478@users.noreply.github.com>
Co-authored-by: hpfluke0478 <henry.pfluke@gmail.com>
Co-authored-by: EthanD1998 <47570959+EthanD1998@users.noreply.github.com>

Fixed how cells display

Create test system using doctest (#49)

-Created testing infrastructure w/ doctest to build/run tests
-Added test workflow to run on PRs
-Created new helper macro to not run functions in editor
-Wrote a few simple tests for the CellSpawner class
-Created testing documentation

Transfered cell.gd functionality to C++, still broken in terms of displaying stats

Restructured nodes, fixed pause and exit

Added Stats Panel Fucntionality in C++

Imrpoved refresh

repaired age display for expected value.

added stats, cleaned up functionality and UI

Action fixes (#69)

Fixes permission issues with the linter and linted our files.

fixed build issue

fixed minor functionality

Reworked styles, UI improvements.

Camera Updates, General UI functionality

UI functionality overhaul

Squash fixes

Restored files to stats-panel-backup
MylesScholz pushed a commit that referenced this pull request May 10, 2024
Very basic UI trial

added label, shifted stat_counter to bottom left

fixed accidental viewport shifting

added label

Add PR build action

-Added action to build the module to verify that all PC builds compile correctly
-Fixed header capitalization so that builds would succeed on linux

Start button changes display and cells

Adjusted stats window styling. Nonfunctional as of now.

Added time stat and reset and menu button functionality

Added functionality for stats panel. User can now close and move the statspanel around the page.

Pause and quit functionality and rename ui elements

Added hotkey functionality for statspanel. Obeys menu functionality

adjusted click functionality, linked cell signal and applied cell stats.

Added in-sim menu functionality

Renamed exit to main menu to match functonality

Genome (#56)

Changes:
- CellState refactor
    - Added energy currency
- Moved some fields from Nucleus, Mitochondria, and Flagella into
CellState
- CellStructures
    - Nucleus: no activation functionality
    - Mitochondria: nutrient to energy conversion
    - Ribosomes (new): energy to nutrient conversion
    - Flagella: randomized movement
    - Sprites for each CellStructure dynamically displayed
- Genome framework
- Genome class: container for Genes with utility functions for
reproduction and mutation
    - Gene class: abstract parent class for future gene implementations
- Updated godot-cpp submodule to godot-4.2.1-stable

---------

Co-authored-by: hpfluke0478 <38867454+hpfluke0478@users.noreply.github.com>
Co-authored-by: hpfluke0478 <henry.pfluke@gmail.com>
Co-authored-by: EthanD1998 <47570959+EthanD1998@users.noreply.github.com>

Fixed how cells display

Create test system using doctest (#49)

-Created testing infrastructure w/ doctest to build/run tests
-Added test workflow to run on PRs
-Created new helper macro to not run functions in editor
-Wrote a few simple tests for the CellSpawner class
-Created testing documentation

Transfered cell.gd functionality to C++, still broken in terms of displaying stats

Restructured nodes, fixed pause and exit

Added Stats Panel Fucntionality in C++

Imrpoved refresh

repaired age display for expected value.

added stats, cleaned up functionality and UI

Action fixes (#69)

Fixes permission issues with the linter and linted our files.

fixed build issue

fixed minor functionality

Reworked styles, UI improvements.

Camera Updates, General UI functionality

UI functionality overhaul

Squash fixes

Restored files to stats-panel-backup
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

Successfully merging this pull request may close these issues.

4 participants