Code center > Darwinbots3
NEED PASSWORD FOR SVN:
Shasta:
DB3 is divided up into a bunch of components that will join together to become the usable simulation. See the wiki on DB3. Currently there is nothing resembling a simulation ala BD2. All of the work right now is on the math and physics libraries (Azimuth and Lodestone respectively). There isn't anything to really jump straight into coding for DB3 (I think, Numsgil is the one who really knows).
Numsgil:
The solution files (*.sln) are the things to open. They're for individual modules of the code, as Shasta pointed out. Yes, it's quite massive. The idea is that you don't have to understand the whole thing at once, though, but can work in isolation on one small part at a time. Most of the work up to know has been on the unit testing framework (UnitTestSharp), DNA (Sunweaver) and the math library (Azimuth), which has stuff for linear algebra and polynomial root finding and basic stuff like that. There's skeletons for the other parts (graphics and physics).
If you want to see how the pieces might fit together, you can see a speculative diagram here.
Also as pointed out, there isn't a DB3 .exe to run, really. Need to get physics and graphics finished before any sort of DB3.exe could be built. I specifically want to avoid work on an actual .exe until the lower subsystems are done to prevent a horse-before-the-cart scenario. There are unit tests to run for each project, along with some test apps to test that specific feature.
So like for graphics, there's a sample app that will become a really simple paint program to let you draw stuff and see how the graphics system handles it, if it can swap out different graphics modules at runtime (XNA to GDI, etc.), and things like that. For physics I'll probably try to create a physics playground app sort of like Crayon Physics to test out physics scenarios that we're interested in, like towering plants, digging into the ground, etc., to make sure they're stable. For math, there's the starts of a performance analyzer (since linear algebra stuff tends to be quite slow), etc.
If you're looking for a module to work on, someone figuring out graphics would be a pretty good, self contained project. I've sort of made a hash of it so far, but the idea is that it's a vector graphics library with support for hot swapping different ways of doing graphics based on your system. I was starting to play with adding skeletal animation as well, to make it useful for other game projects I might want to work on in the future, but that's right about when I started to dislike how things were going, so I might need to rethink that.
Botsareus:
Well that is kind of the opposite of how I build software. I actually design the main stuff, and then add-on the features that I need, however, I have never wrote anything close to the complexity of DB by myself so I will not judge.
--- Quote --- There are unit tests to run for each project, along with some test apps to test that specific feature.
--- End quote ---
How do I do unit tests?
Numsgil:
Each *.sln has a unit test project in it. It's set up to run as a post build event. So if you build the project, and look at the raw output of the compile, you should see something like:
456 tests passed
Testing took 1.2356 seconds
If a test fails, it will show up like a compile error. It's meant to work much like UnitTest++.
Botsareus:
ok, so I like visual stuff rather then: '456 tests passed'. So when I get chance I will work on the painting(visual) module. But I need to know a few things:
A. What will be the name and solution file for the painting(visual) model?
B. Did you figure out the physics for true wrap around? (very glitchy in DB2 right now with big multi-bots)
C. I know I have wrote before but, since you like the robots to 'stretch' and robots will 'attach' to each other at 'end points,' how will tie feeding look like (and work) ?
D. I just had a crazy, complex, brain storm on this but, How do you want the robot skin lines to generate, and do you have any code on that already? If no, I will write a nice vb6 prog. that demos my method (although I will have a lot of fun figuring how to recode it into c#) It involves changing DNA into binary and using it as a pixel template for the later generated lines.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version