Code center > Suggestions
Call to Programmers
Numsgil:
I could get you started doing something as simple as trying to break the existing code. It's all unit tested, which is this whole programming paradigm where you try to test every public interface in your class and try to break it, and check its results to make sure it's correct. So something as simple as writing some more tests to try and break the code would be helpful. I can't guarantee that all the tests I wrote already are 100% thorough, so it's good to have another brain thinking of ways to break it.
Alternatively the parsing code goes too far with exceptions. I'd like to replace things like Parse("string") with TryParse("string", ref basepair) that doesn't throw exceptions, and instead just returns a success or fail value.
Both would be pretty straightforward, and get you familiar with a section of the code.
bacillus:
Ok, I'll have a crack at it as soon as I finished this extensively thick C# book. I got most of the basics I think, just glossing over to make sure I haven't missed out anything.
Trafalgar:
I really like C# and XNA, however they're not so great for cross-platformness.
--- Quote from: Numsgil ---Don't stress yourself out too bad. Darwinbots has a way of sucking up all your available time
--- End quote ---
Of course, I already have enough other projects sucking up all my available time (but one of which is in C# 2.0 and uses XNA 1.0 refresh 1).
bacillus:
Ok, I'm working my way through the things and trying to find any possible loopholes.
I could implement chromosomes if I knew what they do; they still seem like an unnecessary layer of complexity.
Numsgil:
Chromosomes are separate threads of execution. The effects of multiple chromosomes get averaged (probably something more complex than just averaging, I'm not sure yet) together into the final memory for the bot. So if one chromosome tried to do 5 .up store and the second chromosome did -10 .up store, the net result would be a -5 .up store. The idea being that two haploid bots can "fuse" during lean times in to a single bot. The original bots' DNA would share control of the new fused bot using the chromosome system like this.
Chromosomes and codules are the "big" features not implemented yet. I wouldn't recommend tackling them just yet.
BTW, did you get the unit tests to run properly? I can't remember how well I worked through the installation instructions for the source code on the wiki.
When you're ready to commit changes, let me know and I'll set you up with an SVN account.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version