Well... I dunno what to tell you guys. NanoBlobs is an experimental mod, and keeping FPS high for people with crappy machines has never been a very high priority for me. I've always been straight-up about that.
I optimized the heck out've it between versions 4.x and 6.x, and greatly improved performance, but that was mainly me climbing the learning curve about working with Spring. I could make an FX-less version, and speed things up I suppose, but I see little point.
It's always been the best-looking mod in Spring, bar none. I don't see much point in not keeping it that way, either. We don't all have crappy computers, and I don't like playing games that don't have rockin' FX.
Advanced FX = slower performance. For what Yeha's code does... it's pretty fast, really. But it's really pretty advanced stuff, and it's doing a
lot of per-particle calculations, which I have taken advantage of. In the future, maybe there will be cheaper versions of some of these new FX, or maybe the Spring devs will figure out a way to radically speed up the drawing process, or whatever... but probably not.
Therefore, it gets CPU-hungry. And the new nuke is moving around a
lot of particles, and it's doing z-buffer sorting, which is GPU-hungry. It's the only FX I put into NB 0.64 that uses that code- it was just too expensive to use elsewhere. Really guys- I don't set out to screw low-end users every other version... it's just the way that development works. This version of Spring gave me a lot of tools, and you're basically looking at a lot of bleeding-edge, experimental stuff here. Yeha literally got done with some of it late last week- and I had to get my mind wrapped around it, code it, and test it before the next Spring release! So, is it optimized, perfect, and fast? No. Am I sorry? No.
I get decent FPS on my rig, but it is definately a lot lower than 0.63. The only way I can really cure that, for the low-end Spring users, who want the FX but cannot really afford the full-on NB experience, is to make a version with unit-limits set really low, so that you simply cannot have giant, framerate-eating wars. Which takes away some of the concept, but meh... you can't have it all. I can't give people jaw-dropping FX that are also fast- the tradeoffs for the advanced stuff are pretty severe.
Dunno what else to say- I've cut down stuff to the minimums that I think meet my standards of what a professional game made in 2006
should look like... and NanoBlobs is hardly a cutting-edge mod if I don't keep it at the edge of what Spring can do.
The big technical leap forward, in this version of Spring, was the particle code... I will look at more creative ways to solve these problems as I work with the project I'm undertaking now, and feed that back into the next release of NanoBlobs. In short... it's almost certainly not optimized, but that's kind've tough- so much of this code is new and raw, and written at the last second, that I didn't have much choice in the matter, and I can't hold up the Spring release for another week.
In the end... well, just go
look at those screenshots SJ posted, of what he's working on now! You think what I'm doing is heavy lifting... your machines will DIE when they try playing the titles that are arriving for DX10-level video cards and processors. I'm not keeping the mod behind the curve because people aren't upgraded yet- it just doesn't make sense, guys. I could keep NanoBlobs at 2003 graphics forever, but it'd be stupid- I want to compete with the big boys, when / if Spring ever gets /. and goes for the big time. I don't want people saying, "meh, it's free and Open Source, but it looks like crap". I want them saying, "wow". On my machine- a mere Athlon 2800+ with a gig of 400Mhz DDR and a GeForce 7800... the experience is definately "wow" at this point. And for people who have high-end rigs... the mod will give them some seriously awesome eye-candy.
At any rate... I will take a look at how much trouble building a reduced-FX version will be, and probably make a variant for low-end machines and competition-grade play. I can do that in an evening- maybe Friday night.
Fair enough? I don't want to screw you guys over to the point where you can't play, but my options aren't the best here- you just can't have it all
