Darwinbots Forum

Code center => Darwinbots3 => Topic started by: Botsareus on November 02, 2010, 05:55:43 PM

Title: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 02, 2010, 05:55:43 PM
So, I go to :

http://www.darwinbots.com/svn/Darwinbots3/

and I can't just copy and paste everything on my hard drive.

I currently have Internet, so I am going to reinstall smartSVN.

I have sent an e-mail to the 2002 Numsgil address requesting a password.

While I wait, I will download and Install smartSVN on my laptop the miraculously has internet while I am sitting here at home.

In other news, most of my free time I had is gone due to me attending college, a class in business computer programming.
Title: Re: Web based browsing of the Darwin Bots SVN SU***S
Post by: Botsareus on November 02, 2010, 06:02:32 PM
hmmm,  I hope SmartSVN is still free, so it won't ask me for serial after 30 days or so..
Title: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 02, 2010, 06:43:42 PM
My old title was not too catchy so I wrote a new thread:

NEED PASSWORD FOR SVN: GO TO: http://www.darwinbots.com/Forum/index.php/topic,3491.0.html

the mod can delete both threads after I get the password.

hmm, I think there should be a more straight forward way to request passwords for this things... just an idea...
Title: Re: NEED PASSWORD FOR SVN:
Post by: Shasta on November 02, 2010, 10:26:08 PM
I merged the topics, just wait a little while next time, I check the forums pretty often, posts will be seen. The browser based "interface" really just shows the current state of things, its not for downloading or committing. SmartSVN just downgrades to a different version after 30 days, it still works. All of the repositories have public read access. Checkout (using a SVN client) the code from one of these urls:

http://www.darwinbots.com/svn/Darwinbots3
http://www.darwinbots.com/svn/Darwinbots2

If you have some code to submit, send me a pm with which one you want access to and I can set it up for you.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 04, 2010, 03:50:54 PM
Sweet, I got it, I got DB in c#!!!!

Where is the file to 'open' the 'project' into c#?

I see a bunch of solutions (.sln files), where is the main one?

I am taking an educated guess that it is under 'core'. This think is massive!

ok, it does not compile, giving me errors...

Is there actual form layouts anywhere here? (Like vb6 form --> control layouts)
Title: Re: NEED PASSWORD FOR SVN:
Post by: Shasta on November 04, 2010, 04:11:29 PM
DB3 is divided up into a bunch of components that will join together to become the usable simulation. See the wiki on DB3. (http://www.darwinbots.com/WikiManual/index.php/Darwinbots_3) 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).
Title: Re: NEED PASSWORD FOR SVN:
Post by: Numsgil on November 04, 2010, 05:55:09 PM
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 (http://www.darwinbots.com/svn/Darwinbots3/Trunk/Documentation/ModuleDiagram.png).

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 (http://www.crayonphysics.com/) 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.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 05, 2010, 11:39:33 AM
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. 

How do I do unit tests?
Title: Re: NEED PASSWORD FOR SVN:
Post by: Numsgil on November 05, 2010, 12:52:33 PM
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++ (http://unittest-cpp.sourceforge.net/UnitTest++.html).
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 05, 2010, 06:18:21 PM
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.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Shasta on November 05, 2010, 06:50:55 PM
All of the graphics stuff is inside Modules/Graphics. Inside there are several different folders Graphics/Core is the standard interface to drawing objects, then each of the others actually goes about the action of drawing something. Graphics/XNA is the one with the most work on it, so I would look at that. You will need the XNA SDK (v 3.X) to test it out though. You can download that here. (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=80782277-d584-42d2-8024-893fcd9d3e82&displaylang=en)

Tangential:
Clutter / ClutterSharp might be a good library to look into, cross platform (Mono), with OpenGL accelerated drawing
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 05, 2010, 07:09:00 PM
 :wacko: I just tried to 'Start Debugging' Graphics.Xna. I get:
Quote
The Project with the output type class library cannot be started directly.
I already have Xna 3.X installed.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 05, 2010, 07:16:34 PM
Also, I think I found the 'meat' of the thing: "EnqueueDrawable" where is it coded?
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 06, 2010, 04:15:26 PM
Ok so far I still got:

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. See Suggestions : Say hello to my little friend.
E: I think I found the 'meat' of the Graphics.XNA: "EnqueueDrawable", am I right, and where is it coded?
F: just tried to 'Start Debugging' Graphics.Xna. I get:
Quote
The Project with the output type class library cannot be started directly.
why? what to do?
Title: Re: NEED PASSWORD FOR SVN:
Post by: Shasta on November 07, 2010, 02:42:34 PM
B. No idea
C. I don't think there will be "ties" such as they are now in DB2 (I very well could be wrong here)
D. I'm also not sure that the new bots will use the random squiggly lines inside of them anymore
E. I haven't looked too much at the graphic modules, but EnqueueDrawable cascades down to BatchPool.QueuePrimitive
F. That error message means exactly what it says, the Graphics.Xna project spits out a library (.dll) you can't start a .dll directly. Take a look at the testbed.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Numsgil on November 07, 2010, 10:07:01 PM
Ok so far I still got:

B. Did you figure out the physics for true wrap around? (very glitchy in DB2 right now with big multi-bots)

Haven't thought about it till now, actually.  Should be doable, just a matter of handling collision detection properly by offsetting bodies that are near the edges of the world.  I don't think it'll pose a problem to do it robustly.

Quote
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) ?

There's a topic somewhere where I talk about combat, I think.  Basically, bots get a single tie (think mosquito sucker) that they can use to attach to another bot and suck nrg out.  Although I might scrap it entirely depending on physics issues.  Springs and rigid bodies don't always play nicely together.  Maybe instead of springs, the tie is an actual physical connection that "welds" the two bots together.

Quote
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. See Suggestions : Say hello to my little friend.

Prolly won't do the "skins".  Seems like a lot of effort for very little gain (all the squigles look alike).

Quote
E: I think I found the 'meat' of the Graphics.XNA: "EnqueueDrawable", am I right, and where is it coded?

Graphics.Core is strictly an interface.  You need to go to Graphics.XNA to find where the actual drawing gets done.  It's complicated...  But graphics cards are complicated, too.  You have to batch stuff together to get it to draw efficiently.

Quote
F: just tried to 'Start Debugging' Graphics.Xna. I get:
Quote
The Project with the output type class library cannot be started directly.
why? what to do?

Run the testbed app.  It calls into the graphics system, and you should be able to get breakpoints, etc. working that way.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Numsgil on November 07, 2010, 10:08:30 PM
Tangential:
Clutter / ClutterSharp might be a good library to look into, cross platform (Mono), with OpenGL accelerated drawing

Do you mean this (http://www.clutter-project.org/)?  It looks more like a UI library than a graphics library...
Title: Re: NEED PASSWORD FOR SVN:
Post by: Shasta on November 08, 2010, 01:44:20 AM
Yeah, that is the project. It is primarily for GUI and what not, but it also includes their Cogl API which wraps OpenGL. Looking back at it now, it would probably just be easier to use GTK# w/ Tao for a Linux version.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 08, 2010, 11:34:19 AM
Quote
Prolly won't do the "skins".  Seems like a lot of effort for very little gain (all the squigles look alike).

I am still working the thing. The only problem is that it is 6 x 6 , so yea you run out of new vectors kind of fast. However, I will make  a couple of tweaks to further improve my consept, like i realsised that I was not using the whole buttom 3x6 of the low-rez grid. And, I will switch to base 255, instead of onces and zeros.
Title: Re: NEED PASSWORD FOR SVN:
Post by: Numsgil on November 09, 2010, 05:40:53 PM
For the graphics in DB3, if Bots or anyone is feeling particularly adventurous, I think I can spend a few days and write out a better architecture for Graphics.  I have a much better idea of what I want to do from working with animation at work.  I played around with it a bit on paper this afternoon (looked at some flash animation to get some ideas about what should be possible), and have a pretty rough idea of how it should work.  It's not technically difficult once you have a plan in hand, just a lot of leg work getting the code to actually do that.

Of course we don't need to actually write the animation system now, but it should make life easier if the system is set up in that direction.  Like right now, it'd just take position and orientation information from physics, but we can interface it so that it's like physics is actually an animation source.  And then in the future it would be possible to blend animation sources together.  So maybe something like a flagella (purely cosmetic, but it would look pretty cool) out the butt of bots that wiggles when the bot is trying to move forwards, and also interacts against stuff in the world (so it doesn't penetrate into other bots, for instance).

I might also rename it from 'Graphics' (which is a bit generic) to something more in keeping with the naming scheme of the other modules and less likely to cause namespace conflicts.  'Zoetrope' is my current favorite (still open to suggestions, though).
Title: Re: NEED PASSWORD FOR SVN:
Post by: Botsareus on November 12, 2010, 03:12:16 PM
No,no, don't restart anything. I just want to see something visual actually work.  :P

As I wrote earlier, I'll like to see something solid work. Then we may add-on and work everything together later.  8)
Title: Re: NEED PASSWORD FOR SVN:
Post by: Numsgil on November 12, 2010, 04:26:17 PM
You should be able to run the TestBad app and see some squares drawing, and be able to navigate the camera around with the mouse similarly to DB2.

I'm sort of fired up, so I'm going to play around a bit in graphics, but I'll probably work mostly with the XNA shaders (I have some ideas about how to anti-aliasing working through the shaders that's an interesting math-type problem).