Lots of great feedback! Here are my tentative thoughts. Please don’t construe them as promises.
Gene Format
The genome format is easier for me too. This sounds like the genome format is just the right way to go in the future.
Implementation/Spec
I plan to stick to Hy, but I’ll make the versioning clearer in the future. I could have done a better job with setup instructions overall. I think the slowness came from implementation choices. I made an extremely inefficient simulation in order to support forward compatibility with some features I never got around to implementing. I’m optimizing for features, not speed.
Using PCG sounds like an easy change. If that was all there was to it then I wouldn’t mind using it for the random numbers. However there’s other bits of the code too (like random selection from sets) which might vary from one implementation to another. Making it possible for everyone’s simulator to behave exactly the same is a nice-to-have feature that I’m probably not going to implement. I’d rather put that time into creating more adaptations players get the choice of using.
Time
I can avoid the last/first week of a quarter year. That’s no problem.
Duration
Extending from one week to two weeks is no problem either. Using the first week for a spec and a sample environment and the second week for the actual parameters sounds excellent. Leaving an explicit 48-hour window for changes sounds good too.
Submission
It’s easy for me to accept CSV files. I think the best way to help everyone is to just accept both CSV files and Google Forms.
I plan to stick to Hy, but I’ll make the versioning clearer in the future.
If there’s two weeks, that should leave enough time for making & checking alternate implementations, as well as clarifying any unclear parts. (I never fully understood the details of the selection algorithm (and it seems there were bugs in it until quite late), but given a week for focusing just on that, I hope that should work out alright.)
I’m optimizing for features, not speed.
No complaints here, that’s the only sane approach for research and other software like this.
However there’s other bits of the code too (like random selection from sets) which might vary from one implementation to another.
Compared to e.g. trying to get the Mersenne Twister (which I think is still Python’s default RNG?) either linked to or re-implemented in some other obscure language, that’s a trivial task. I don’t expect problems there, as long as those functions actually use the specified RNG and not internally refer to the language’s default.
Oh also, on genome formats: I’ve been doing quite a bit of stuff with domain specific languages / PLT stuff, as well as genetic algorithms and other swarm optimization approaches before. If you have any ideas that you want to bounce off someone or have some cool idea for some complex genome format that looks like it might be too much work, feel free to ping me—I might be able to help! (Ideally in a sufficiently abstract / altered way that I can still participate, but if need be, I’d give that up for a year too.)
Oh also, on genome formats: I’ve been doing quite a bit of stuff with domain specific languages / PLT stuff, as well as genetic algorithms and other swarm optimization approaches before. If you have any ideas that you want to bounce off someone or have some cool idea for some complex genome format that looks like it might be too much work, feel free to ping me—I might be able to help! (Ideally in a sufficiently abstract / altered way that I can still participate, but if need be, I’d give that up for a year too.)
Lots of great feedback! Here are my tentative thoughts. Please don’t construe them as promises.
Gene Format
The genome format is easier for me too. This sounds like the genome format is just the right way to go in the future.
Implementation/Spec
I plan to stick to Hy, but I’ll make the versioning clearer in the future. I could have done a better job with setup instructions overall. I think the slowness came from implementation choices. I made an extremely inefficient simulation in order to support forward compatibility with some features I never got around to implementing. I’m optimizing for features, not speed.
Using PCG sounds like an easy change. If that was all there was to it then I wouldn’t mind using it for the random numbers. However there’s other bits of the code too (like random selection from sets) which might vary from one implementation to another. Making it possible for everyone’s simulator to behave exactly the same is a nice-to-have feature that I’m probably not going to implement. I’d rather put that time into creating more adaptations players get the choice of using.
Time
I can avoid the last/first week of a quarter year. That’s no problem.
Duration
Extending from one week to two weeks is no problem either. Using the first week for a spec and a sample environment and the second week for the actual parameters sounds excellent. Leaving an explicit 48-hour window for changes sounds good too.
Submission
It’s easy for me to accept CSV files. I think the best way to help everyone is to just accept both CSV files and Google Forms.
If there’s two weeks, that should leave enough time for making & checking alternate implementations, as well as clarifying any unclear parts. (I never fully understood the details of the selection algorithm (and it seems there were bugs in it until quite late), but given a week for focusing just on that, I hope that should work out alright.)
No complaints here, that’s the only sane approach for research and other software like this.
Compared to e.g. trying to get the Mersenne Twister (which I think is still Python’s default RNG?) either linked to or re-implemented in some other obscure language, that’s a trivial task. I don’t expect problems there, as long as those functions actually use the specified RNG and not internally refer to the language’s default.
Oh also, on genome formats: I’ve been doing quite a bit of stuff with domain specific languages / PLT stuff, as well as genetic algorithms and other swarm optimization approaches before. If you have any ideas that you want to bounce off someone or have some cool idea for some complex genome format that looks like it might be too much work, feel free to ping me—I might be able to help! (Ideally in a sufficiently abstract / altered way that I can still participate, but if need be, I’d give that up for a year too.)
I love this forum/community so much.