Quote:
Originally Posted by Bearcat
(Post 490995)
If that was what we got in 2007 we would'nt be having this discussion and we'd probably be in The Med or back in Western Europe by now on the new engine. If it had been an upgraded IL2 with a more powerful engine capable of easily doing what the mods can do with a better DM FM CEM and a fully functional MDS and imporived graphics 2048 skuns with alphas that looked like IL2 on it's lesser settings and close to CoD on high settings and ran with frames of 20-25 on older rigs everyone would have probably been ecstatic.
|
Why Oleg went for a rewrite rather than an upgrade we can't know, since we don't have the old code to see what was wrong with it, and I for one would probably have a great deal of trouble reading it if I did have it.
It takes a couple of years to learn C++ if you have the apptitude, which many folks just don't, it's not something that anyone can pick up over a weekend. After those years, you would then have the time it would take to learn to understand the old IL*2 codeset, which would probably be another year if you could do it at all, I doubt anyone on the team but Oleg had a complete overview, and even he probably had bits that someone else worked on that worked just fine that he didn't understand all the details of. That's just how complicated programming is these days, and it's not getting easier.
It's not a case of:
"Here are two spades, there's a mountain of earth, the two of you have got six months to shift that mountain 20 ft west, start now!"
That would be tedious, hard and annoying, but if the size of the mudpile was right, you'd know it could be done from the start. With Programming, everything tends to interact with everything else. You do try your hardest to keep the interactions limited to the ones you know about and want, but they tend to escape and run wild. Those wild interactions are called bugs.
Old code gets encrusted with additions but it depends on the original foundations, and sometimes they just can't be updated. For a hypothetical example, suppose all the integers in the original IL*2 were 16 bit, if the newer code wanted 64 bit integers, you couldn't just change the definitions, because something, somewhere, would be hardcoded to 16 bits, and it would break when you changed the definitions. It wouldn't be obvious where the break was, it wouldn't be clear what you could do about it, and in a large codebase like the original IL*2 there would probably be thousands of breakages each of which would probably take a week of somebody's time to fix.
So, since Oleg said it wasn't possible to update the original IL*2 codebase, I think we have to take his word on that.