I don't see whats wrong with being eager to push this project forward, isn't that a sign of positivism and that people care for this?
It's not your project to push forward.
There are also some pretty good technical reasons why a client/server model isn't exactly ideal. For one, it's pretty slow; IPC is not fast no matter the operating system; it's surely fast enough for non-immediate apps (ones that aren't updating > 100 number of times per second), but I'd bet heavily on a performance drop. While this is partially alleviated because of multi-core computing--though, for a game, you have to have some way to handle mutual-exclusion locking between processes, which is decidedly nontrivial to do in a decently-performing way. That abortion called FreeCiv can get away with it without problems (haha, FreeCiv not having problems, I must be an idiot!) because the game's turn-based and doesn't have to do immediate updates; Dwarf Fortress does. (Yes, I know about memory mapped files and synch objects. They're still very problematic--for example, how do you make the server yield for an update
cleanly? What about when a third-party client chokes and dies?)
Another problem: it's not cross-platform. Windows and OS X don't use anything remotely near the same mechanisms for IPC. WINE doesn't support the Windows
or UNIX IPC methods worth a crap, either. Yes, you can do shared memory for both, but it doesn't make a lot of sense to start letting the Windows and OS X codebases diverge a lot for little benefit (yes, this is "little benefit," you're being feature-champions and feature-champions totally suck).
While it'd be
nice, I guess, to see it, I don't see a good reason for Toady to do it (either for the health of his project or for technical reasons). It's his project, he calls the shots, end of story.
I'm a bit skeptical about how much of an improvement you'd see with frame rate considering DF is currently using OpenGL to hardware accelerate the graphics. But at the same time I doubt you'd lose any FPS since the game could be processing a cycle while the graphics are being rendered in another thread.
No, there'd be quite a bit of improvement, especially for multi-core computers. Once you figure out how to do IPC in a way that doesn't completely suck ass, that is, and works on both Windows and OS X. That performance improvement can be achieved in a way that won't help sink Toady's project just by invoking threads
within the app rather than hoping IPC works out for you.
First off, I seriously doubt its only a year or so away. Maybe changes the size of which he is currently making. But a completely remade interface is more likely closer to version 1.0 than 0.3. Also I fail to see how suggesting possibilities for third party interfaces is complaining.
This is an idea that sucks technically and sucks from a community/social standpoint. The bunch advocating this are being, in large part, whining jackasses (threatening a dev with "no donations" doesn't work, by the way, and would ensure that those of us who actually respect a dev's work will donate more; I'm just waiting on a project to clear before I send Toady some greenbacks). I can't for the life of me understand why you want Toady to do something self-destructive like this.
(Disclaimer: I'm an open-source dev, I write closed-source software, I can't make a water tower in DF without flooding everything, etc. etc.)