Author Topic: How to start helping?  (Read 3575 times)

Offline Tj3

  • Bot Neophyte
  • *
  • Posts: 39
    • View Profile
How to start helping?
« on: March 17, 2010, 07:59:03 PM »
Hi. I found out about DB a week or so ago, and am very interested in it. I am a decent C# programmer, and have experience in 2D and 3D development with XNA, so I think I could help with development of Darwinbots 3. I was just wondering how I could get started with this, since I'd really like to help.
« Last Edit: March 17, 2010, 08:00:01 PM by Tj3 »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
How to start helping?
« Reply #1 on: March 18, 2010, 01:24:54 PM »
Sure, I'd love to have some more help.  See the wiki for basic how-to-get-started help.  If you've already done some programming with C# and XNA you'll find it rather easy to get started.

If you're comfortable with shaders I'd love someone going in to the graphics engine as it stands right now and implementing circles/ovals.  Basically there's a shader set up right now to draw squares.  If we modify that shader, we can draw pixel-perfect circles without adding any extra geometry (use a x^2 + y^2 <= r^2 test in texture space).  I have other projects you could work on also, but if you're already comfortable with graphics programming, this would be the most straightforward work.

Offline Tj3

  • Bot Neophyte
  • *
  • Posts: 39
    • View Profile
How to start helping?
« Reply #2 on: March 18, 2010, 04:14:13 PM »
Unfortunately, shaders are one thing I haven't really done much with. I have an XNA book somewhere, though, so Ill see what I can find out from it. If you want, I could also just work on some other parts of the program, which might be better, since I'm more comfortable with some other things.
« Last Edit: March 18, 2010, 04:14:35 PM by Tj3 »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
How to start helping?
« Reply #3 on: March 18, 2010, 04:18:30 PM »
Shaders aren't too hard to figure out, if you understand the underlying math (matrices and vectors and the like).

What sort of experience/background do you have?  eg: have you just monkeyed around in code, or do you have a math or comp sci background to back it up?  What sort of coding have you done in the past?  I can probably find a specific task that would work well with your past experience (or lack thereof).

Offline Tj3

  • Bot Neophyte
  • *
  • Posts: 39
    • View Profile
How to start helping?
« Reply #4 on: March 18, 2010, 05:09:46 PM »
I am good with coding in C#, and have some experience with XNA. I've made some 2D games, and could probably do anything not really complicated. I just thought it might be better for me to do something other than the shaders, just since I haven't really used them much before, but whatever you want I'll try to get done.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
How to start helping?
« Reply #5 on: March 18, 2010, 05:23:55 PM »
I'd prefer someone working with graphics, since until it's done I don't have any pretty pictures to show people .  The graphics library is 2D vector based, so the idea is that the main simulation display, graphics, etc. should all allow you to freely navigate around and zoom in/out without things looking horrible.  Even just going through and tightening up the API a bit would be useful, as would writing some tests for parts of the graphics not yet tested.

Another idea: you could do a module to draw graphs.  I've tried googling around and I haven't found anything terribly compelling for it.  Basically it would just take a set of data points (Scalar x,y pairs (vectors, essentially)), maybe do some statistics on the data (best fit curves, etc.), and then draw it to a window handle using the graphics library.  Maybe also some graph visualization where you create a family tree for a bot and then the graphics library would use a energy minimization function to arrange the tree efficiently.  For the math, you could build on top of the math library I've been working on (Azimuth) easily enough, and that would let me go in later and do fun mathy stuff with the data.  On the graphics side, someone could go in later and add post processing effects like a glow shader (everything looks better glowing).

The advantage of a project like this is that it's fairly independent from the rest of the engine, so you should be able to work without figuring out the whole code base at once and relying on me too much to fix issues you run in to.  You can also provide feedback on the graphics API as it stands, which is pretty horrible usability-wise.

Offline Tj3

  • Bot Neophyte
  • *
  • Posts: 39
    • View Profile
How to start helping?
« Reply #6 on: March 18, 2010, 07:08:30 PM »
Okay. I could work on the graphs then, but I have been really busy with school lately. I'll have plenty of time this weekend to work on it, though.
Glad I could help!

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
How to start helping?
« Reply #7 on: March 19, 2010, 04:12:32 PM »
I'll have some time this weekend to help you get started.  Do you have skype?  We can set up a skype call and I can sort of go through things.