A lot’s happened with Gastropoda over the last few days, but progress on new features has slowed down because I’ve started working slightly differently. Instead of just porting everything from the JS version as quickly as possible I’ve started prototyping features and then going back and improving the implementation after each new thing is in. I get pretty impatient wanting to move on to the next feature as fast as possible, but taking the time to look at the rough functional version of a feature and revising it properly after deciding how it should work has been useful.
Snail breeding is now in - not in its final state, but it’s at least a basic version of how things are probably going to work. I’ve been doing some experimental breedings and looking at the genes of the foal to make sure that the alleles are being set properly. An example:
I looked at the pattern color gene as an example, drawing up a list of possible results in the baby snail based on the parents:
In this case, the baby snail’s patternColorGeneAllele1 was r and patternColorGeneAllele2 was g. In my made up world Red is always dominant to Green, so the pattern has a red hue.
I should note that I know next to nothing about genetics, but it’s been really interesting to read about how snail mating and gene selection works in general. My game will never be exactly true to life, but the ideas behind it will at least be based on real life.
I’ve also implemented ageing - well, only in the sense that each snail should now get +1 to age every day. There are no actual ageing effects having any impact on the snail’s attributes yet, and snails don’t yet die from old age. I need to find a good way to make this - each snail’s age should start worsening as it becomes senile and its bodily functions begin to deteriorate.
For now, however, I think it’s time to implement some basic racing functionality - that is the second big point of the whole game after all.