A... am I going to have to convict people of failure to chill? Let's just, Baby, relax! Ain't no thing.
I tried hard to put myself in your shoes and see things from your point of view, but apparently I failed to understand one thing (correct me if I'm wrong): the general atmosphere of the forums and feedback you receive from players is an integral part of your happiness. I was imagining that you could just let the mess settle down by itself after every release, but since I am not this forum's moderator, I can't really tell how it feels to have a big mess of threads about stuff not working.
It generally sucks to have a bunch of people complaining that things don't work, especially when there's something I can do about, that is, work with the interface modders more closely, having in this scenario sanctioned third party interfaces and released a public API. It's the pressure that would make me unhappy. It's good when the forum people are happy, but that wasn't what I was getting at so much.
When you speak of pressure, are you picturing direct pressure? I have a hard time imagining people screaming at you on the forums, except maybe for the occasional moron that can be ignored. Wouldn't people rather be putting pressure on the third-party developers to update their interface ASAP? But maybe you'd feel pressure nevertheless because you dislike seeing that people cannot play the game.
There would be direct pressure on me to work with third party developers -- this isn't about screaming. This thread itself is direct pressure to work with third party developers (or at least get the ball rolling). That isn't to say I disagree about you posting it. I'm simply stating what it is, and I think that yes, there'd be a lot more of this, a lot more I'd have to reply to, and a lot of... pressure. Additionally, I'm not just talking about external pressure, in fact, principally not -- having created the situation, I would feel some obligation to make it run as smoothly as possible, and I would rapidly become irritated by this, because it's some of my least favorite kinds of work.
One thing I'd like to point out, though, is that you seem to think that a single interface, "The front-end", would come out of third-party development. Even though that's possible, open-source usually seems to bring diversity (look at the number of linux distros), especially in a single-player game where people don't have to use compatible clients, so they can play together. So I think we'd likely see an improved ascii client, a 2d tiles client, an isometric client, a 3d client, and maybe several of each one. In my view it would distribute the uproar, so that at least not everybody would be complaining about the same thing . But I don't know if you see that as a relief.
[emphasis added]
He he, of course not. It's worse actually -- more parties to work with.
Lastly, I may have a good way of mitigating the breakage of third-party clients at every release, without requiring your direct involvement. Assuming that you develop your own open-source interface at the same time as your closed-source server, you would likely publish your interface changes to a public SVN server. You would probably do it incrementally, at the rate of one or several commits a day - akin to backing up your work whenever you've made a step. In that case, you can bet that enthusiastic developers will watch those changes keenly, to see what's going on with the interface. This means that third-party client makers will already know that moving "dwarven armies around on the world map, with a tactical view and various options" is coming for the next version (from your very detailed dev notes), so they'll have time to plan which kind of interface they want to provide for that. And since they'll see the necessary code changes evolve gradually, because you'll always need an up-to-date interface for bugfixing, they'll be able to follow closely your development. They might have to adapt to your last minute changes, but otherwise I believe that the days of bugfixing prior to release could be enough for some of them to finalize their clients on time.
Now of course, you have to feel comfortable with that way of working.
Yeah, this somewhat mitigates breakage with those third parties that are active and approaching the situation with some dedication, but the trade-off of working with my day-to-day changes under that sort of scrutiny is definitely a minus for me, and I don't think it could really happen in a vacuum without questions about changes and so on, or without me feeling like I have to provide some sort of documentation as I add things. I don't know if that sounds like quibbling, but I can't easily overstate how much I hate managing code or collaborating on code or anything along those lines.
Additionally, I think breakages would still happen, especially when staff leave projects hanging (work obligations, got tired of it, vacations, etc.), and it wouldn't change the fundamental situation I'm imagining, although in the case of project abandonment or delays with staffing, where there isn't pressure to work with the (missing) people in question, it's more the pressure to incorporate changes back into the base API, which as I stated in my previous long post, I wouldn't be able to do without potential legal problems.
I don't mean to write as if I'm sure about any of this, but once I drop this bomb in my project, I can see every day becoming "oh man, what a goddamn hassle" instead of what I've got now, which has less of that. Again, I think the OP is justified in starting this thread, so I'm not raising that as an issue, but I've also spent some hours in here, reading posts and composing these replies. That stuff just starts to magnify, and I'll either end up ignoring people I don't feel like I should be ignoring, or not ignoring people to the detriment of the core game itself and my own well-being.
What I would like to hear from Toady is what kind of graphics he has in mind for when he gets to the interface overhaul. That way we could at least prepare some sprites ahead of time and have nearly complete graphics sets as soon as the version with the new interface comes out. I personally waste a lot of my free time doodling in GIMP, so I might as well do something useful.
Depending on the stage of the interface overhaul, ultimately I'm going to be support 2D tilesets (probably in dimensions of multiples of 4 because I'm lazy with image file headers). So if you want to draw up some 32x32s or something, you won't be wasting your time, I think. It should be fairly straightforward to support single z-slice isometric stuff as well, once I get that going, since I'd just have to change the print locations and print order, though transparency decisions are probably annoying, and it's slightly more annoying to get multilayer isometric stuff going, since people are going to want various options about display there, so I don't really have a clear opinion on the future of isometric. The support for a resizeable viewport/window is definite, but nothing has been decided on layering there (for instance, critters walking over grass tiles, that kind of thing -- people will want more and more out of this system, such as inventory and wound displays, and I'm not sure where lines will be drawn, or where it will bog down, anyway).
yeah but did the whole negativy and hostility bring anything beneficial here?
What did it do beneficial? It finally caused Toady to step in and give us a detailed explanation of his point of view thus I guess the best way to get him to respond is to insult one another. Or just report posts.
In case you weren't joking, I wouldn't overstate the value of the report. I was already following this thread and was planning a reply. The report got me to come in a day early or so, since things were starting to get sort of silly. And they still are.