Author Topic: Release date  (Read 17516 times)

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Release date
« on: April 26, 2008, 03:55:49 PM »
When will DB3 be released? It won't take years, will it?

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Release date
« Reply #1 on: April 26, 2008, 11:49:54 PM »
I haven't had a look into the development of DB3, but I think it's via a repository system. The speed at which the project is done, therefore, depends on how many people are working on it. So if you want it to be finished sooner, get a thick book of C++ or whatever else the program is written in and chip away at whatever you understand enough so that the whole program doesn't disintegrate because of your "progress".
I would, but I'm too lazy to learn another programming language, and am running F1 and updating the wiki at the same time.
« Last Edit: April 26, 2008, 11:52:09 PM by bacillus »
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Release date
« Reply #2 on: April 27, 2008, 07:08:38 AM »
I wish it was C++, haven't looked at the source but I think I remember someone saying it's in VB...
I have nothing against VB, but haven't used it much and I love C++  
And yeah it sounds like they're using a repository, but realy any project where several people are working on it should use one.
I doubt they have any time estimates though, I think this is more of a hobby project for most people, so it's hard to know when things will get done.
Also I noticed the amount of new features has a tendency to grow faster than they can be made... so the release date probably won't be in sight till after a feature stop.

Offline goffrie

  • Bot Builder
  • **
  • Posts: 65
    • View Profile
Release date
« Reply #3 on: April 27, 2008, 10:32:30 AM »
The current version of Darwinbots is in VB, Darwinbots 2.5 is in C++, and version 3 is in C#, IIRC. Confusing.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Release date
« Reply #4 on: April 27, 2008, 05:26:12 PM »
Quote from: goffrie
The current version of Darwinbots is in VB, Darwinbots 2.5 is in C++, and version 3 is in C#, IIRC. Confusing.

Why change the language so many times? Just use Java for 2.5, 3, and everything after that. Java is popular, easy, has tons of built-in GUI stuff, and will give you compilation errors ALL THE TIME to let you know when you're doing something that might give you a semantic error (aka code is less buggy). However, C, for example, is hard, has no GUI stuff, and will let you access the 5,000th element of a 200-element-long array.

Sorry for the rant.  

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Release date
« Reply #5 on: April 27, 2008, 05:49:31 PM »
I concur, Java would be the best option. The trouble seems to be that VB, C++ and C# are the only ones that most people seem to know. I tried writing a version of DB in Java once; if I get a decent UI working and I/O as well (my two weak points), I should have a version .jar'd and running in no time.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline asterixx

  • Bot Neophyte
  • *
  • Posts: 48
    • View Profile
Release date
« Reply #6 on: April 27, 2008, 06:46:24 PM »
Wont the language it is written in ultimately depend on what sort of purpose the program will serve? If it is anything like DB 2.43, Im pretty sure that Java wouldnt work, which is perhaps why it wasnt selected in the first place. . . ?

I havent been using DB for very long so if Im speculating here, please enlighten me. And I agree moonfisher, C++ is wonderful!
« Last Edit: April 27, 2008, 06:48:48 PM by asterixx »
"Tell a man there are 300 billion stars in the universe and he'll believe you.  Tell him a bench has wet paint on it and he'll have to touch it to be sure."

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Release date
« Reply #7 on: April 27, 2008, 07:09:39 PM »
I think Java is a very useful language when making complicated programs. Programs like Ruby and Python (Both of which are very powerful languages, by the way) are good when writing smaller programs, but Java has so many plugins from the OS community that it's easy to find what you need and implement it via abstract classes. Exhibit 1: The Java 3D class. Combined with the dozens of physics engines out there, and interpreters, it'll be easy to write a 3D version of DB. I actually wrote mine in Java, then put it all together using JRuby. The Java VM is built into virtually all Operating Systems, so is platform independent, meaning no different versions have to be used for Linux, Mac, Windows, Solaris etc.
« Last Edit: April 27, 2008, 07:10:16 PM by bacillus »
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline asterixx

  • Bot Neophyte
  • *
  • Posts: 48
    • View Profile
Release date
« Reply #8 on: April 27, 2008, 07:51:01 PM »
OK! I clearly dont know the history of DB well enough to know where it came from and hence, where its going. I get the sense that there are a lot of ideas and reccomendations flying around though.
« Last Edit: April 27, 2008, 07:53:30 PM by asterixx »
"Tell a man there are 300 billion stars in the universe and he'll believe you.  Tell him a bench has wet paint on it and he'll have to touch it to be sure."

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Release date
« Reply #9 on: April 27, 2008, 09:18:52 PM »
The main line 2.4x code is VB6 because it's was originally written in that language by Carlo, the original author and inventor a long time ago, when Java was still just a type of coffee and no-one since then has gone to the effort to port it to anything modern.

Later this year, if I'm so inclined, I will likely port it to a modern version of VB to get threads and a decent network I/O package and a bunch of other things.  Why stick with VB?  Because I'm lazy and this is the easiest way to get those things.  I'm not up to porting to a completly different language, at least not this year and the advantages of doing so don't outweigh the costs IMHO.

The current engine is primarily systems code.  Graphics are a surprisingly small portion of the total code.  Someday it would be nice to leverage some hardware acceleration or a 3rd party physics engine, but if your waiting for me to go there, don't hold your breath.  I have no such plans.
Many beers....

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Release date
« Reply #10 on: April 27, 2008, 09:22:26 PM »
A concise history of DB.    
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Release date
« Reply #11 on: April 27, 2008, 10:37:39 PM »
But Ericl, if you aren't going to port DB to another language, why does it say that DB3 will be in C#? And why will you be doing DB 2.5 in C++?

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Release date
« Reply #12 on: April 27, 2008, 11:25:32 PM »
Quote from: jknilinux
But Ericl, if you aren't going to port DB to another language, why does it say that DB3 will be in C#? And why will you be doing DB 2.5 in C++?
DB 2.5 is dead as far as I know.  It was an experiment Nums did for a class I think and never really saw the light of day.

He is now working on what he calls DB3.  If and when it ever becomes real, and by that I means gets to a point of critical mass, stability and features that people can use it and I actually come to beleive it can replace the current code base, I will stop advancing the current code base but until that time, I will continue to fix bugs, impliment requested features, improve performance and otherwise take the current code base forward as I have have been doing now for well over two years.
« Last Edit: April 27, 2008, 11:30:42 PM by EricL »
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Release date
« Reply #13 on: April 28, 2008, 03:52:20 AM »
2.5 is indeed dead.  It inherited too many problems from the VB source without solving enough of them to make it worth while.  The current code just suffers too much from code smell to make it worth while to port it directly to another language, IMO.  Eric maintains the old code base, which is just fine with me, since it let's me focus on DB3 without letting the program grow static and die.

There were lots of possible languages to code a new version of DB in.  I chose C# because it combined the WYSIWYG GUI creation tools of VB6 with a strong set of coding libraries (ie: the .Net framework), with the ability to somewhat easily link to libraries written in C.

As far as a release date, it depends entirely on the physics engine.  The 2.5/C++ attempt taught me that, minus the physics, the program takes less than a year to code from the ground up.  So in order to determine an actual release date, I need to know how long it will take to finish the physics engine, which I just don't know.  At this very moment, I'm working on the physics engine.  Darwinbots has some unique needs for physics, and after some failed attempts using two different 3rd party physics engines I've decided to bite the bullet and code my own.  This physics engine is called "Lodestone", and is coded in C++ using the Test Driven Development methodology.  It's about 10K lines of code at the moment.  I still need to write various collision detectors, joints, and work on the core algorithms for collision detection and resolution.  However my new job keeps me busy so I'm progressing at a snail's pace atm.  Hopefully the pace will pick up when I get in to the swing of things, but it might not.  You can see the SVN for the physics here.

When it's done I'll write a .NET wrapper for it (which I've done in the past, and should just take two to four weeks), and then code the rest of the game (which should take approximately ten months), and then it'll be more or less done.  Or an early bug ridden version anyway   So I'd estimate 12 months from when the physics engine is usable to when I'll have an early version released.  And at my present pace, I'd estimate 6 to 12 months to complete the physics engine.

I'd be more than happy to have  other people work on this with me., if anyone's interested.  Especially people who know C#, C++, and/or physics very well.

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Release date
« Reply #14 on: April 28, 2008, 03:54:45 AM »
I don't like Java... not a big fan... with C++ I can choose to build something exactly as I want it to work, or I can use one of the millions of libraries for it...
With Java I HAVE to use some sucky lib function that's poorly dokumented and generaly makes litle sence half the time, or eats up resources...
Not a big Java fan... I can understand people want to use languages like VB and C# for GUI and simple features... but I'd build everything else in C++...
Java has no features that C++ doesn't... it just forces you to use them so people are more aware of them.
I never understood what the fuss is about Java... it takes like 2 seconds to make a destructor... and you'll be able to make sure there are no leaks...

Anyways I'm looking forward to DB 2.5... didn't have time to read everything in here, but just saw poeple talk about Java and I had to comment... don't use Java for DB !!! I'll take VB, C# and C++ over Java any day... I repeat there's nothing you can do with a Java library that you can't do with C++ library... the only difference is that Java comes with half a million libraries and with C++ you only use what you need. (And who needs garbage collection, that's for noob's )
Either way Java has nothing... nada... only poorly dokumented junk libraries that you have to use because you have no freedom or controll...

Being a litle harsh, but I can't take it when poeple compliment Java and definately not when it's as an alternative to VB, C# and C++ !!!

I'd go for C# for all the GUI and simple functions, and build all the heavy stuff as C++ libraries..... I think those should be compatible... never checked... just assumed...

Edit:
Ok maybe I was a bit hard on Java. It's just always bugged me whenever I've used it. I haven't experienced libs in Java that weren't available for most other popular languages. I don't know Ruby or Python but I hear good things, just never got around to learning any of them. I also don't know much about compatibility, but I have a hard time imagining that C++ libs would be less compatibe with Linux and such...
Just seems so heavy and troublesome to work with Java, but maybe I just don't know the laguage well enough.
Personaly I'd still go for C# and C++ libs...
« Last Edit: April 28, 2008, 01:49:02 PM by Moonfisher »