Skip to content

Conversation

@theomgdev
Copy link
Contributor

@theomgdev theomgdev commented Jan 14, 2022

peek

As it says in the title, you can set the reproduction cost of each cell separately by clicking the colors in the About tab, with load/save support!

I removed the extra mover cost hyperparameter because you can increase the cost of moving organisms by increasing the cost of the mover cell from about tab.

And most important of all, It has almost no effect on performance!

var real_r = this.r + cell.rotatedRow(this.rotation);
this.env.changeCell(real_c, real_r, CellStates.food, null);
if(Hyperparams.cost[cell.state.name] > 0.001) {
this.env.changeCell(real_c, real_r, CellStates.food, {food_value: Hyperparams.cost[cell.state.name]});
Copy link
Contributor Author

Choose a reason for hiding this comment

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

IMPORTANT BUG FIX: For example, when the cost of a cell is 0.35 (below 1), the organism spends 0.35 to reproduce that cell, but when that cell dies, it gives 1 food at position. This means 0.65 food that exist out of nothing in the system. To correct this gap, the food cell was given a food_value that was equal to the cost of the cell.

total_cost += Hyperparams.cost[cell.state.name];
}
return total_cost;
return this.total_cost;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Massive performance difference. Now It has almost no effect on performance!

@MaxRobinsonTheGreat
Copy link
Owner

I love this idea and would like to push this in, but the ui needs to be improved. I don't want it in the about tab, and I don't want the input box to interrupt the runtime. One of the potential solutions is to make a new tab where you can click each cell type and edit its properties, like its cost, color, whether it is enabled, and other cell specific properties. This way it can be combined with #104 and more can be built out from there

@theomgdev
Copy link
Contributor Author

I love this idea and would like to push this in, but the ui needs to be improved. I don't want it in the about tab, and I don't want the input box to interrupt the runtime. One of the potential solutions is to make a new tab where you can click each cell type and edit its properties, like its cost, color, whether it is enabled, and other cell specific properties. This way it can be combined with #104 and more can be built out from there

Actually, I was as uncomfortable doing this in the about tab as you were. I thought for a long time.

Playing with CSS a couple of times, I tried shrinking and compressing the cost editing panel to the Evolution Controls tab :D

I couldn't think of a more creative idea and thought that big events like designing a new tab, enlarging the panel, putting a scroll would risk the possibility of my PR being accepted :D

I will give this a hand as soon as possible based on your opinion.

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.

2 participants