Code center > Bugs and fixes
Why aren't you using 2.42?
Elite:
My thoughts:
What I like about 2.4:
- New mutations code. It is orders of magnitude less buggy than the mutations in 2.37.6 (which were the only slightly dodgy area of 2.37.6), and gives more options. Love the new 'point mutations'.
- New cost options
- New DNA features, commands and structure
- The bit that EricL added that shows how much shell/slime/body your bot has when you click on it to bring up the 'bot stats' window
What I dislike about 2.4:
- Some of the physics seems rather odd/different
- Ties are dead buggy
- Viruses don't work at all
- The new bot sizes are annoying. All my bots end up tiny and don't work well
- The 'bot sight' feature that shows you what the eyes see is annoying, but at the same time useful. If only you could turn it on and off ...
- Many of the bots I programmed in 2.37.6 die in 2.5, or don't seem to work as well (especially the ones that use ties)
At the moment, when testing combat bots, or bots I have programmed, I use 2.37.6. When doing evosims, I will usually use the latest 2.4, because I can't load saved evosims in 2.37.6 or else I loose all my mutations and the sim gets buggy, and also because I love the new mutations options, structure etc.
For programmed bots: designing them in theory is fine - the crunch is in testing them, and seen as 2.37.6 makes my bots act more like they're supposed to act than 2.4 does, I use that.
******
How long until the C++ version Num?
shvarz:
See, EricL, you fell the victim of the 2.4 name - just like I said some people would. Let me explain a bit more the situation with 2.4. When the program reached the level of 2.3something it was quite buggy. So at that point everyone got sick of bugs, but still wanted to get some new features. Which was not possible as you understand - new features always cause new bugs to appear. So the consensus was more or less to stop adding new features to 2.36 and concentrate on fixing bugs first.
Meanwhile Nums decided that he got sick of old code written by many different people and carrying tons of useless and un-understandable luggage from previous versions. So he decided to re-write the whole program from scratch, add major new features and at the same time switch to C. While he was doing some basics of coding the backbone of the program, he decided to make a test version based on 2.36 containing some of these newly proposed features, the idea being that some people would use it and give feedback and he'd learn from that and code these features into the C version. Why he decided to call it 2.4 I'll never understand. From the very beginning that version was meant to be just a testing playground with no future. And at first things were fine and most people knew about the status of 2.4. But then a bunch of new people showed up (you and some others) and they assumed that 2.4 is the version where things were headed. I tried to warn them, but I can only do so much. Besides, some people did not listen (I'm sure I warned testlund at some point).
So, here we are.
Now, almost everyone is for the new C version. But I see it not as an upgrade, but as a new product. So it will not cancel the existence or meant to replace the 2.36 version. Think of it in this way: I used to play Half-Life a lot, but some time ago Half-Life 2 came out. I play it, but I still keep the original Half-Life, because I still like that game and many mods that were made for it. So these two games co-exist quite happily on my hard-drive and in my heart. I see the same thing for 2.36, at least for some time.
Numsgil:
2.4 I still argue is in the same class as 2.X, but it is quite different from 2.3X. That's what you get when it's several months between upgrades.
The C++ version at the moment is not in the same class at all, but it's nomenclature is misleading. It's not 2.5 as much as it's:
Darwinbots Extreme 0.5
Obviously I don't want to call it Darwinbots Extreme, hence the problem.
PurpleYouko:
--- Quote ---The only other thing is ties, which are apparently broken because too much had been stashed in the tie physics routines which were discarded. That's not a simple fix but it's definately doable.
--- End quote ---
I'm sure it is doable.
When it gets done to the point where my complex MBs can run in 2.4 then I might consider moving over.
Ties are a highly complex subject in DB. I have spent the vast majority of my time in programming DB, working with these pesky things in some form or other. Do you remember how the worked (or didn't work) in 2.11?
To Eric L
--- Quote ---Wow. This is so... disillusioning. I suppose I should have done my homework before investing time and energy on something people are so strongly divided on. As a newbie, I assumed that there had been consensus (or at least tremendous community input) on the direction taken in 2.4 and that people lingered on 2.37 today only because 2.4 functionality was buggy or incomplete. That given sufficient stability, functionality and active, technical investment in bug fixing and feature parity by an enthusastic and technicaly capable party, the community would converge on a 2.4 derritive. I assumed there was a plan. I now stand corrected.
--- End quote ---
Yes there was a plan that was generally accepted. It was primarily to make 2.37.6 the default platform until the C++ version was completed. 2.4 was considered to be too buggy to make it a viable competitor for the default platform.
That doesn't mean that your efforts have been wasted on debugging 2.4. If you can manage to incorporate all the fixes and improvements that have been made to 2.37.6 since the inception of 2.4 along with the new stuff that 2.4 brought along. of course some of that new stuff is what is actually causing the problems
Don't get disillusioned by the whole thing. Your work on 2.4 is greatly appreciated. Believe me, I would have advised you to drop it much sooner if I believed that you weren't going anywhere useful with it.
--- Quote ---Similarly, while I assume Nums is a brilliant individual with tremendous vision, until it has gained significant community support (or someone can demonstrate to me that it has a high probability of doing so) I find my motivation for investment on the C++ code base at the present time highly diminished.
--- End quote ---
Since Nums joined the programming team about a year ago (previously the team consisted of me only), he has injected a whole new level of enthusiasm to the project. Frankly it has been a bit hard to keep up with all his little projects within the DB framework during that time.
One of the unfortunate side effects of this explosion of new ideas is that DarwinBots has splintered somewhat over the last few months. 2.4 was his first shot at giving the existing program a major overhaul and during his involvement with that project, 2.3 progressed through several more stages of development in parallel with it such that 2.37.6 is most definitely NOT a platform from which 2.4 was created. The two programs have diverged in several areas which is going to make your job of integrating 2.4 into the DB stable of "accepted" releases, a little difficult. Not impossible but tricky.
The C++ version of DarwinBots is a MAJOR overhaul of DB and is most likely going to produce a program that is only marginally compatible with old robots.
That is not to say that it won't be a massive improvement over 2.36.7 in many areas. I fully support the development of the C++ version even though I do see it as possibly a whole new sim with only loose ties to earlier versions. What it will offer (probably) is such a big performance increase that it will be worthwhile to redesign older bots to take advantage of it. 2.4 does NOT offer such a quantum leap forward in technology to make it worthwhile IMO.
I view 2.4 as part of the process that Nums had to go through in order to get the inspiration and confidence to launch the C++ conversion. It was a stepping stone but never quite made it as a complete and stand-alone version.
If you can bring it up to scratch then great. If it still doesn't get to replace 2.37.x then no great loss. At least you have developed an intimate familiarity with DB which is going to be useful at some point.
As I said before, I intend to keep developing and supporting the VB versions of DB which will run alongside the C++ version. At present my chosen platform is 2.37.6. If you think it should be 2.4.x then convince me sufficiently to make me switch.
It will have to either be 100% backward and sideways compatible with all 2.37 versions.
OR
It will have to be so much better than 2.37.x that it will be worthwhile to assign 3 + years of complex robot developments to the garbage can and start over from nothing.
Keep up the good work and good luck.
--- Quote from: Numsgil ---2.4 I still argue is in the same class as 2.X, but it is quite different from 2.3X. That's what you get when it's several months between upgrades.
The C++ version at the moment is not in the same class at all, but it's nomenclature is misleading. It's not 2.5 as much as it's:
Darwinbots Extreme 0.5
Obviously I don't want to call it Darwinbots Extreme, hence the problem.
--- End quote ---
So call it DarwinBots C V0.5
or how about DarwinBots(The Next Generation)
or DarwinBots TNG V0.5 if you prefer.
I think DarwinBots 3.0 really won't do it justice.
Numsgil:
Darwinbots: Electric Boogaloo
Darwinbots: The Motion Picture
DB3: Darwinbots United
Darwinbots: The Return of the Darwinbot
Darwinbots: The Revenge of the Darwinbots
Darwinbots: Judgement Day
Darwinbots: Return to Oz
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version