- I believe what would help DF the most would be a model based on an open-source client and a closed-source server. Just to give an example of how this could work:The idea of using sockets is an interesting idea. It could allow the server to reside either on the gamer's computer or on a server that Toady has setup. Thus eventually allowing for the game to go multiplayer with the basic networking infrastructure already in place.
-- You separate the game into a client and a server that communicate through sockets.
-- The client asks the server each turn what it can see in a given "window", which can be a cube of X by Y by Z tiles.
-- The server returns a list of visible objects, and the client decides how to display them. This allows for 2d, isometric, 3d clients of any sort.
-- At any time, the client transmits to the server commands sent by the user interface, such as a 2d or 3d selection of objects together with the command "Select for dumping".
-- At any time, the server can inform the client that the game just paused, and similar game-interrupting stuff.
int Designate(DesignateType type, int x, int y, int z);
You provide no support whatsoever to third-party client makers: you can break external clients them every version, it's their job to adapt.Keeping a highly simplified system of accessing the server would more or less keep the client from ever breaking except in the sense that it would have to be updated to support new constructions, designations, etc.
You provide no documentation, people have to read the client source code to know how to make their own.Documentation would be nice, but unnecessary with proper naming of the functions, data types, etc of an API. Take the code example I gave above. Does it really need documentation to be understood?
So locking yourself with someone else's code during that stage is a bad, bad move.I fail to see how this would lock someone in with someone else's code. In the case of Toady, he could simply go with the method I gave above for his interface and simply not release the source to it. And in the case of third parties, don't we already have a ton of programs that hack into the data files and memory locations of DF?
youre not anonymous. youre in someone else's house. act like it.You're also failing to notice that his housing is currently being paid for by this particular community. In a sense he has to let us play with his toys or he loses his income. Not that I'm trying to sound threatening. Like I said above, he could simply use the idea I gave to implement his own interface and never give the source or permission to do the same to anyone.
And that, is why you fail.Quote from: SergiusSo locking yourself with someone else's code during that stage is a bad, bad move.I fail to see how this would lock someone in with someone else's code. In the case of Toady, he could simply go with the method I gave above for his interface and simply not release the source to it. And in the case of third parties, don't we already have a ton of programs that hack into the data files and memory locations of DF?
And that, is why you fail.First off, you sir, don't know what you're talking about. Obviously you have no experience at all with software development. If you did you would realize that a simple well-thought out API would have no need to be broken every time Toady wanted to implement a new feature. Changing the internals of a library is quite different from changing the API. If it weren't, then libraries wouldn't be used for programming and everyone would simply use the hardware directly. There are of course some cases where things would be broken, but they would be the minority.
Any change in the "interface" will break compatibility with the third-party GUI. Either Toady needs to tiptoe around this so as not to upset the GUI, or he doesn't give a crap and breaks it anyway. If enough people are using this GUI, there's an uproar and people bitch and moan and nobody will play the new version until the GUI is fixed.
It's different from changing a few tiles. While I love using the graphical raws, I have no problem using the regular ASCII interface in the meantime. People who get used to a complete GUI revamp just won't want to touch the ASCII one with a 10-feet pole.
He's not going open source, ever. Stop asking the same goddamn question every two bit programmer asks.Its about an open source interface client not the whole program. It doesnt help anyone giving an example of operant conditioning everytime someone writes some deeper insight about that topic btw.
Its about an open source interface client not the whole program. It doesnt help anyone giving an example of operant conditioning everytime someone writes some deeper insight about that topic btw.
Especially not, when Today perhaps wants to evaluate all possible solutions.
I don't understand anything about programming. (so my question may or may not be related)
But, why is it that, like sphr stated, you pretty much have half a normal monitor of tilespace? And can't anything be done about that? (I'm guessing its native to ASCII somehow, sorry for my lack of knowledge concerning this)
I don't understand anything about programming. (so my question may or may not be related)
But, why is it that, like sphr stated, you pretty much have half a normal monitor of tilespace? And can't anything be done about that? (I'm guessing its native to ASCII somehow, sorry for my lack of knowledge concerning this)
I don't understand anything about programming. (so my question may or may not be related)
But, why is it that, like sphr stated, you pretty much have half a normal monitor of tilespace? And can't anything be done about that? (I'm guessing its native to ASCII somehow, sorry for my lack of knowledge concerning this)
DF was originally based on a certain ASCII-like game engine called Curses. It has long since outgrown this engine but is still stuck with some of it's inane limitations such as a fixed number of tiles.
Presumably (from talking to Toady at the meetup) one of the core components of the Presentation arc will be removing this limitation.
You're also failing to notice that his housing is currently being paid for by this particular community. In a sense he has to let us play with his toys or he loses his income. Not that I'm trying to sound threatening. Like I said above, he could simply use the idea I gave to implement his own interface and never give the source or permission to do the same to anyone.
However someone creating their own interface can already be done. People are already hacking the game as it runs, placing hooks into it in a sense that allow them to pinpoint the location of various things. Its merely a matter of time until someone writes something similar to create a third party interface.
You're also failing to notice that his housing is currently being paid for by this particular community. In a sense he has to let us play with his toys or he loses his income. Not that I'm trying to sound threatening. Like I said above, he could simply use the idea I gave to implement his own interface and never give the source or permission to do the same to anyone.
However someone creating their own interface can already be done. People are already hacking the game as it runs, placing hooks into it in a sense that allow them to pinpoint the location of various things. Its merely a matter of time until someone writes something similar to create a third party interface.
Sorry, that -does- sound like a threat to me, and it's in extremely poor taste. "Give us access because we can hack it eventually, plus he is obligated to do so because his fanbase controls his income" is a bunch of nonsense. Why?
1. This game is free. Free! You aren't obligated, coerced, or compelled to donate in any way. You're simply free to do so if you enjoy the game. What right do you have to speak for the community in proclaiming that Toady -owes- us anything? The donation page doesn't include any promises about delivering increased access or partial ownership, it merely hopes you enjoyed the games and want Bay12 to continue. Seriously, donation with attached expectations? Might this smug attitude of ownership be exactly indicative of what's at risk if he opens up the code? Won't those who add in popular GUIs just feel a further sense of "ownership?"
2. It's the work of one guy! He's poured -years- into this, man! Modders can (and will) come and go, messing with a few peripheral elements in their free-time, uncommitted in any lasting way to the overall future of the game. Toady will doubtless mess with other projects, but this is a huge investment for him right now. If it should fail, that's a serious blow to him, whereas to the modders it would be more like "eh, DF was cool while it lasted. What's the next game?"
No disrespect to the modding community--their enthusiasm and cleverness is an inspiration. I have no doubt that the desire to have more control over modding the game comes from a good and earnest place. In other words, I'm not accusing anyone of malevolent or uncaring motivations here. But from my perspective (and maybe mine alone) I really hate the sound of "we donate, you depend on such, therefore you owe us." That's fucked up. Bizarrely it's a threat that can only affect the little developers, the ones most deserving of support. The largest ones couldn't give two shits about their communities. Little indie developers that make great games -for free- should be treated like the princes of gamedom they are, not accosted with veiled threats.
I really hate the sound of "we donate, you depend on such, therefore you owe us." That's fucked up. Bizarrely it's a threat that can only affect the little developers, the ones most deserving of support. The largest ones couldn't give two shits about their communities. Little indie developers that make great games -for free- should be treated like the princes of gamedom they are, not accosted with veiled threats.
You're also failing to notice that his housing is currently being paid for by this particular community. In a sense he has to let us play with his toys or he loses his income. Not that I'm trying to sound threatening.
They assume that Open Source is the end of the world. (Microsoft has taught them well!)
They also assume (or are scared?) that the interface/controls will change. As stated several times, it's just a matter of abstracting the interface from the engine and passing a few variables back and forth. Toady could maintain his clunky interface for all the "die hard" fans and someone could be off making an interface to show off what Toady can do in the engine. Hell, he might even get a boost in donations from all the added players or heaven forbid a job offer on his terms. Nobody knows.
Then some programmer constantly asks you to release the actual game source.I don't remember anyone asking to open the whole program... JUST the interface.
What's wrong with the interface? Perhaps I don't understand because I only play adventurer?Viewing more than one Z Level
You aren't obligated, coerced, or compelled to donate in any way. You're simply free to do so if you enjoy the game. What right do you have to speak for the community in proclaiming that Toady -owes- us anything? The donation page doesn't include any promises about delivering increased access or partial ownership, it merely hopes you enjoyed the games and want Bay12 to continue.I never said anyone was obligated, coerced, or compelled to donate. That wasn't what I was saying. I was merely saying the donations would be reduced greatly if the game were to suddenly be pulled, development stopped, etc. Granted some donations would still come in. I seem to recall some donors didn't even play the game. And of course there are his other games. So I guess it did sound like a threat. Regardless I didn't mean it in a threatening manner.
Then some programmer constantly asks you to release the actual game source. The foundations of the game. You could do it, of course.First off let me say this is an argument I've seen a few times against open sourcing a big project headed by a small development team. It is also an argument that largely is unfounded. Let me give you an example.
But what if the programmer manages to make a better product and drives your life's work into a path you never intended. You lose control of your own game, and have to search for a job again.
All the while watching your legacy to the world crumble before you as some asshole or group of assholes pandered to every voice in the crowd and turns your dream into a bloated monstrosity. Your quality of life is cut in half.
All because you decided to release the source.
It is his fey mood.So when he doesn't have the resources to complete the project, will he run around attempting to kill us all? Is this a prophecy in the game itself?
Were the forks ever adopted by the community? Not once has a single one of those forks been adopted by the community. Even those who claim they want to see vast changes to MegaZeux (including graphics fanatics) ignored the forks. To this day there is only one codebase for MegaZeux and only one developer running the scene. Occasionally some minor patches make their way in. But in all cases the sole developer has been allowed by the community to decide whether or not to add those patches.
Pro-Tip: discussing the interface is utterly and absolutely pointless at this point in time.I can't say it any better than Mithaldu, re-read it, then read through it one more time just to make sure you understand it.
Toady knows it sucks, Toady intends to fix it. Wait until he does, wait until he's done, THEN complain about the result so he can improve it.
You REALLY need to keep in mind that this is in fact and indeed still an alpha. He is working on getting the game engine and content properly fleshed out and the interface you see now is only a crude kludge that isn't meant to be much more than a debug tool.
If you've ever seen other people's debug tools you should be utterly astonished at the quality of his.
Besides, I insisted on the point that he wouldn't have to "maintain an API" for 3rd party devs. He would just make the game work, as usual, and would modify his own client as he sees fit; third-party devs would then analyse source code and update their own code accordingly, in the same way as they currently must look for the new memory offsets and stuff.On the other hand, I've been working on the memory addresses and other reverse engineering of the DF binary. Imo, it seems wiser to have 3rd party hacks.
Also, if analyzing code is required, what's wrong with analyzing the compiled exe directly? Why must it be in source form?
On another note, Toady also says in the interview that he also fears the eventual appearance of competitors, such as someone that would make a similar or better game than him, leaving him "dead on the roadside". Well I'll be straight to the point: I think that's very unlikely. If we take as an example the world of roguelikes, nethack, dungeon crawl, angband, doomrl, all have their loyal following. Even though dungeon crawl has a vastly superior interface to nethack, and some will say, more balanced gameplay, people didn't stop playing Nethack. So as long as he keeps improving the game, I don't think Toady has any reason to worry about his fanbase leaving him.
As for the main reason why Toady is wary, the way I see it is this (and others said it similarly I think): Given the current interface and the creativity of this community (and internet communities in general), I think it is easy to imagine a situation where a third-party interface is developed that is so powerful and aesthetically pleasing that that the majority of DF players uses it. And then every time an update breaks the interface (not in the sense of breaking it totally and forever, but simply that the interface stops working till updated), most people would wait for the interface to be updated. Thus, effectively Toady is dependent on the third party, because the players of his game are. You could argue that is not so much of a problem or try to find solutions, but it *is* there.That sounds reasonable. There will always be puritans who won't use third-party interfaces, but that would still mean a reduction in user feedback (really important in an alpha/beta) until the new interface is updated. Plus less feedback on the "vanilla" interface. Bear in mind there would still be instant feedback from those who play the game unmodified, and then the normal influx of bug reports and feature queries after the interfaces are fixed.
View the game in Isometric, 3D, first person, or flat 2D tiles depending on what you prefer
In what way? If the interface client was split form the engine server then it's totally possible for someone to create any or all of those interface types.View the game in Isometric, 3D, first person, or flat 2D tiles depending on what you preferPlease tell me that was a joke.
On another note, Toady also says in the interview that he also fears the eventual appearance of competitors, such as someone that would make a similar or better game than him, leaving him "dead on the roadside". Well I'll be straight to the point: I think that's very unlikely. If we take as an example the world of roguelikes, nethack, dungeon crawl, angband, doomrl, all have their loyal following. Even though dungeon crawl has a vastly superior interface to nethack, and some will say, more balanced gameplay, people didn't stop playing Nethack. So as long as he keeps improving the game, I don't think Toady has any reason to worry about his fanbase leaving him.
I'm not kidding when I say this: there are no competitors. The only project at all like DF is JADE, but with no release, it's not a competitor.
Hey Frobozz I've donated a small amount to Toady over this last year and since I'm paying his rent I'm pretty much allowed to just walk into his house and crash on his couch whenever I want? I mean, I could start moving furniture and around eating his food since I practically own it, right? Making a donation- out of my own respect and wishes of support- to a remarkable free game developed by two guys gives me free reign over their production schedules and creative control, does it not?Spoiler (click to show/hide)
Hey Frobozz I've donated a small amount to Toady over this last year and since I'm paying his rent I'm pretty much allowed to just walk into his house and crash on his couch whenever I want? I mean, I could start moving furniture and around eating his food since I practically own it, right? Making a donation- out of my own respect and wishes of support- to a remarkable free game developed by two guys gives me free reign over their production schedules and creative control, does it not?Spoiler (click to show/hide)
Toady said, very politely, that he is not going to release any source code at this time and probably not in the future. seriously, respect his decision, no matter how wrong/naive/stupid/short-sighted you think it is, and drop it.
um... actually the OP was asking for open source for the UI. that's where this whole argument came from... you know from the OP, who started the thread and asked for open source...Open-source in the sense that people can create their own interface programs. He probably didn't word himself very well, but as long as DF's data output and input are well-documented, anyone with programming knowledge would be able to create their own separate interface programs without needing to see a line of Dwarf Fortress' source code. It's creating an API people can work on instead of releasing the code.
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?
I've donated a small amount to Toady over this last year and since I'm paying his rent I'm pretty much allowed to just walk into his house and crash on his couch whenever I want?I never implied you could waltz into his house and lounge around on his furniture. What I was implying is that for Toady to continue receiving donations he has to 1) continue development of Bay 12 products (he may receive donations due to projects other than Dwarf Fortress) and 2) make them available freely (who'd pay for something then turn around and donate?). This is just common sense. Not a threat, not something that entitles the donor to something, etc. Just basic logic.
should he choose to do so it would most likely increase FPS since the program could be threaded, and it would also create the possibility for third party GUIs to take over the rendering side.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.
It's not that far off in the future, maybe a year or so off.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.
A good time to complain about/change the interface would be after toady decides to remake it himself.
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.
...
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.
...
Wait, but you just did the same thing here: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?
That's not my point, they ask as if Toady's long since decided to abandon any type of interface change. A good time to complain about/change the interface would be after toady decides to remake it himself.
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.
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.
Wait, but you just did the same thing here:
http://www.bay12games.com/forum/index.php?topic=21870.0
That's not my point, they ask as if Toady's long since decided to abandon any type of interface change. A good time to complain about/change the interface would be after toady decides to remake it himself.I get your point, it just sounded as if "people that can't wait" and wished for a better/different interface somehow didn't want the best from DF and Toady. Almost as sort of a paranoia that they are out to get Toady or something. I most likely am reading way to much into it though, i'm not saying that is what you ment, so hope you don't take offence.
It's not your project to push forward.What i ment more was people just wanting the best of DF and also wishing it the best, not as in forcing to lay their personal likes and dislikes on Toady's project. I'm seriously thinking way to many people here have ungrounded skepticism about the good intend of other people.
um... actually the OP was asking for open source for the UI. that's where this whole argument came from... you know from the OP, who started the thread and asked for open source...
I was pointing out Torak just did what he told us not to do. So that reasoning doesn't work, it can't be applied to this discussion. You can't tell people to wait until Toady works on the interface before they can suggest things about it, because that would imply everybody would have to wait until the game is finished before being able to make any suggestions.
You'd only free up maybe 10ms of CPU time (read the Kobold Quest source code, it has DF's rendering method), which on most computers is at most 1 more frame. Also, you'd probably lose 20-50ms just by sychronizing the data accesses.QuoteI'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.
Right. I was, and I'm still suggesting that the client be made open-source, because I see it as the most effortless way for Toady to publish his API: by example. But others are right to point out that opening the source code is not necessary for 3rd-party interface clients to happen. But then Toady has to produce documentation, unless he just wants to let people hack the .exe and/or listen to sockets traffic to see how things work out between client and server. Writing documentation begins to look like the "collaborating with people" he wants to avoid.Toady doesn't have to release any code, or provide any interface for 3rd party clients, no matter how many times people whine or scream. No matter what alternatives you provide, Toady does not have to provide anything.
Relax, you're being paranoidI was pointing out Torak just did what he told us not to do. So that reasoning doesn't work, it can't be applied to this discussion. You can't tell people to wait until Toady works on the interface before they can suggest things about it, because that would imply everybody would have to wait until the game is finished before being able to make any suggestions.
You're completely wrong, and I find your reasoning insulting in the least. I said not to worry about the interface because toady will remake it to his specifications. He has not said anything about multiple level designation, so it's free game. Don't try and mix my words around to make it seem like I am a anti free-thought junkie.
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
Toady doesn't have to release any code, or provide any interface for 3rd party clients, no matter how many times people whine or scream. No matter what alternatives you provide, Toady does not have to provide anything.
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.Its rather humorous that you automatically included me in the list of those whining for a new interface when all I really did was suggest an alternative method of implementing a third party interface. Frankly I find the current interface to be adequate for playing the game. There were really only two issues I had with it and one of those was fixed in the latest "major" release (designating multiple constructions at once like walls or floors). The other is merely full mouse support since I would much rather work with a mouse. When it comes to graphics, I've tried several packs and didn't like any of them. I guess I just like the look and feel of ASCII.
You'd only free up maybe 10ms of CPU time (read the Kobold Quest source code, it has DF's rendering method), which on most computers is at most 1 more frame. Also, you'd probably lose 20-50ms just by sychronizing the data accesses.Yeah if they went the route of sockets. If they went the route of an API like I suggested there wouldn't be a loss due to syncing things. The amount of overhead would be about equal to calling a function from a library. Too small to be worth considering unless it was done in a loop.
Toady doesn't have to release any code, or provide any interface for 3rd party clients, no matter how many times people whine or scream. No matter what alternatives you provide, Toady does not have to provide anything.I think we get the point now that he doesn't have to do anything. Thank you though for making a reply that is basically a duplicate of what others have said. You've just added more time to how long it takes Toady to read this thread, if he bothers to, without actually stating anything new. Now that I think about it I've done that just now.
So the next time someone comes up with it, we can point them to the old thread and ask them if they have anything to add to it.Precisely. It also saves Toady the effort of having to read the entire new thread. Any future threads could be safely ignored if they are under a certain size since Toady could assume someone redirected to the old thread. ;)
Toady has been working on this game for a horribly long time now. It has been playable for many people for almost 2 years.
Do you really think that he hasn't seen all noteworthy requests and then some on this already?
We all know that Toady spends a lot of time reading stuff here. How about we all make a concerted effort and save him time by reading the entire history of the entire forum before making any suggestions? Because, seriously now, that's exactly what Toady needs to do with every suggestions he sees. :|
And you guys who think they do Toady a favour by flaming people who want to discuss the interface architecture, you're not. All you're doing is forcing him into this thread saying "people please don't argue", like he had to do several times recently. Seriously, can't we all
1. be polite
2. try to actually understand other peoples points before we argue against them?
Far as I know, I am not flaming. But if we were to not argue over an issue such as this, why even make the topic, don't just expect people to come in and say 'You're right!' and leave it like that for 10+ pages.So you're saying you aren't flaming yet you turn around and say its stupid to make a topic and expect it to be debated in a non-hostile fashion? Just take a look at all the discussions in the suggestions category. Especially those that concerned ideas that are obviously stupid. I can't remember many off hand that resulted in a massive flame war the likes of which is only rivaled by Windows vs Linux, DirectX vs OpenGL, etc style threads.
So you're saying you aren't flaming yet you turn around and say its stupid to make a topic and expect it to be debated in a non-hostile fashion?
Sockets, multithreading, any method other than a fine grained integration of the interface with the engine will result in a slow down. Or do you expect Toady to resend all the creatures and items every frame? Or wait no, the client side caches all that unchanged information meaning that it doubles the memory usage. Or wait no, we ask Toady to release the structures he uses and we use our own seperate thread so that:Quote from: JifodusYou'd only free up maybe 10ms of CPU time (read the Kobold Quest source code, it has DF's rendering method), which on most computers is at most 1 more frame. Also, you'd probably lose 20-50ms just by sychronizing the data accesses.Yeah if they went the route of sockets. If they went the route of an API like I suggested there wouldn't be a loss due to syncing things. The amount of overhead would be about equal to calling a function from a library. Too small to be worth considering unless it was done in a loop.
And you guys who think they do Toady a favour by flaming people who want to discuss the interface architecture, you're not. All you're doing is forcing him into this thread saying "people please don't argue", like he had to do several times recently. Seriously, can't we all
1. be polite
2. try to actually understand other peoples points before we argue against them?
Far as I know, I am not flaming. But if we were to not argue over an issue such as this, why even make the topic, don't just expect people to come in and say 'You're right!' and leave it like that for 10+ pages.
Sockets, multithreading, any method other than a fine grained integration of the interface with the engine will result in a slow down. Or do you expect Toady to resend all the creatures and items every frame?The API method obviously offers the best chance at usability so I'm going to ignore any future mention of sockets.
Oooh... the merchant just got deleted while I was trying to access it... gotta add some synchronization. Wtf. Why is it running slower now? Thread synchronization is a costly operation, don't kid yourself.You're confusing the interface with something that would have direct access to the game's logic. A third party interface would have no more capability than the official interface. Do you currently have the ability to delete a merchant in the interface as it stands now? Of course not. The interface would have two roles. Sending requests and outputting the current state of the game.
Even though he wouldn't have to make the engine open-source, writing a public interface for it might make it more prone to reverse-engineering (see the thread)Well the game is effectively having to be "reverse-engineered" to a small degree to make the current third party hacks that exist. I think Toady worries a bit more than he has to. I just don't see how having an API for an interface to use would expose the game to more reverse-engineering than the current interface exposes since the API wouldn't have much more in the way of abilities.
Also, why can't you people whom are so eager to make a new interface project just wait for Toady to remake it on his own? It's not that far off in the future, maybe a year or so off.So, would you rather wait for the bakery to make you a cake, then go back in and try to make it a chocolate cake by melting Nestle bars over the icing? Or would you request that they make you a chocolate cake to begin with?
You're confusing the interface with something that would have direct access to the game's logic. A third party interface would have no more capability than the official interface. Do you currently have the ability to delete a merchant in the interface as it stands now? Of course not. The interface would have two roles. Sending requests and outputting the current state of the game.As a full time programmer who does multithreaded SQL injection and eLearning courses, interactions and material: I have to say you pretty much nailed it.
Let's start with sending requests. Say the player wants to build a construction at a specific location. Say a wall. Well the player clicks/types whatever has to be to select a wall and the location for it. The interface then sends a request to the game that a wall be placed at that location. The game then responds whether or not such a request was successful. Thus you've either placed a wall or the game responds back that it couldn't be done and the interface either refuses to place it or tells you that the attempt failed.
Now for output. The interface has decided it is time to render a portion of the game to the screen. The interface sends a request to the game. This request would amount to returning information on a visible tile/object at a certain location. The game would comply sending the data for that location. If the interface is set to render at a higher rate than the game currently updates then the interface could choose to cache the results it gets and keep using them over and over until a new game cycle occurs at which point the cached copies are labeled "dirty" and a fresh copy has to be requested.
As for threading, well threading the graphics wouldn't be too difficult at all. Simply have a thread that sits around doing nothing until receiving a command from the interface to render the current contents of the cache to the screen. The thread then immediately springs into action trying to render as fast as it possibly can. With hardware acceleration such a render shouldn't take very long at all. In fact in most cases the interface should be able to render fast than the game updates.
When it comes to threading I honestly have about as much experience as Toady does (though I do have some knowledge I picked up at college it isn't anywhere near as useful as experience). Perhaps even less. Thus I would probably avoid threading more than what can be easily threaded (like video, audio, events, etc). And you are right, syncing stuff can be slow. However the thread I mentioned above for graphics wouldn't have need of syncing beyond detecting if the cache has become "dirty" and possibly halting the current render if so.
Edit: I should mention that shortly after my last programming course ended (Java and it was last since I had run out of funds) I had started development of a text adventure game engine that involved a server/client like system using an API to communicate. It basically consisted of two commands. One fetched output and the other sent input. Not anywhere near as flexible as the interface for DF would have to be, but at least I can say I've tried it myself.
You'd only free up maybe 10ms of CPU time (read the Kobold Quest source code, it has DF's rendering method), which on most computers is at most 1 more frame. Also, you'd probably lose 20-50ms just by sychronizing the data accesses.Huh, I didn't realize the DF renderer was that tight. OK, there wouldn't even be that much of a benefit.
Frobozz:That's preposterous. Turning his game into what amounts to a library to suit you? Not likely.
Yeah if they went the route of sockets. If they went the route of an API like I suggested there wouldn't be a loss due to syncing things. The amount of overhead would be about equal to calling a function from a library. Too small to be worth considering unless it was done in a loop.
And Andir, you're overgeneralizing your speciality into a field that doesn't make any sense. Request-based client/server models are used in the web and on disparate hosts because they have to be. Doing it locally would be stupid (in addition to requiring a massive restructure that wouldn't benefit Toady).When you deal with threads, other than shared memory models, the easiest way to communicate is via client/server like methods. Unless you're gunning for race condition bugs? I was clarifying how it could be done. Not how it should be done. (Although, like the interface, if it's not decided up front it's not likely to ever get done.)
Multithreading will be helpful, but synchronization primitives are costly and I strongly doubt that reworking the entire logic end of the game to make a library, just in order to appease a few people, makes any sense.
Or do you expect Toady to resend all the creatures and items every frame? Or wait no, the client side caches all that unchanged information meaning that it doubles the memory usage.
That's preposterous. Turning his game into what amounts to a library to suit you? Not likely.Not exactly. More the reverse where the game uses an interface library to handle the input/output much in the same way it currently uses a library/libraries to do it now. It would simply become a matter of replacing the interface library with the one you wanted at the time of compile (or runtime by replacing the shared library with the one you want).
IPC is too slow (memory access synch is far too slow) and using it as a library would require a massive restructuring that's not in any way, shape, or form to Toady's benefit.A massive restructuring? You say this as though you know the internals of Dwarf Fortress. Beyond Toady mentioning details like various things being hard-coded, you're just guessing. An educated guess one could say, but a guess nonetheless.
- If someone re-makes a pure curses client, that means we could play by telnet/ssh: that would be great for succession games, we could watch other players run the fortress, and everybody would connect to the same computer to play.
Right now I'm trying to find examples of games that have third party clients, and the effect they had on the game's development. Does anybody have a good case to study?
You'd only free up maybe 10ms of CPU time (read the Kobold Quest source code, it has DF's rendering method), which on most computers is at most 1 more frame. Also, you'd probably lose 20-50ms just by sychronizing the data accesses.
Toady might just ignore the whole discussion
- If someone re-makes a pure curses client, that means we could play by telnet/ssh: that would be great for succession games, we could watch other players run the fortress, and everybody would connect to the same computer to play.Actually with some careful hacks, it is possible to have a pure telnet/curses client right now. I "know" where the screen buffer is in memory (I just haven't really experimented with it so I'm not 100% sure of it's format). Plus faking windows input messages will allow the game to receive input. I just haven't been motivated to start working on a telnet game server for DF.
As an outside observer of this thread (well, not any longer), I would like to point out that the analogies really are starting to break down, just like they generally have a tendency to do when overused. I would recommend attempting to come up with some newer, more accurate analogies, or simply dropping that method of argumentation altogether.
You know who used a lot of analogies?As an outside observer of this thread (well, not any longer), I would like to point out that the analogies really are starting to break down, just like they generally have a tendency to do when overused. I would recommend attempting to come up with some newer, more accurate analogies, or simply dropping that method of argumentation altogether.
Perhaps a Hitler reference.
youre not anonymous. youre in someone else's house. act like it. you're playing with toys that they built, in their generousity, to ammuse you. the toys would still have been built if you personally hadnt been fawning over them.
Pro-Tip: discussing the interface is utterly and absolutely pointless at this point in time.
Toady knows it sucks, Toady intends to fix it. Wait until he does, wait until he's done, THEN complain about the result so he can improve it.
Actually, that problem already happens to an extent. Some people like playing the game with mods, and quite a few people will only play with tilesets (which are effectively interface mods). Every now and then a new version comes along and breaks both mods and tilesets, and their dedicated users would most likely wait until those are fixed before playing again.
There are developers who constantly sacrifice their creativity, talent, and vision for mere money. We call them console developers. We all know how that goes, we all know what happens. They make money at the cost of their very souls.
In defense of my entire industry: we're not obsessed about money, we just want to continue making games. :) If you work with a team of 100+ developers on a multimillion dollar project and it doesn't make a profit, well, you'll not be making games with your friends anymore. We love making games, and we quite often make the games we love.
Making a subversive and innovative game is just the start; turning it successful and popular is the true measure of success, IMO. I think this thread is mostly just an attempt to in some small way help that happen.
Here's the Proof-Of-Concept access & render of Dwarf Fortress's internal screen buffer.Source and all... You my friend, are a hero. Excellent example. This could easily be turned into many things...
http://www.geocities.com/jifodus/console.zip
And a quick screen cap:Spoiler (click to show/hide)
We already have people who say they stop playing the game the instant their favorite tile set doesn't work, and tile sets are at least somewhat peripheral. An interface is something integral, something one has to dedicate time to learning when playing a complex game. If several popular interfaces spring up that people become attached to, what happens if Toady does a major overhaul of the game workings (like the z-level update)? He either spends extra effort to ensure backwards compatibility with popular mods, or they will require heavy reworking. People used to them aren't going to be happy that their favorite interface no longer works, and the modders who need to make monumental changes aren't going to be happy either.The majority of people who wouldn't play a game when their preferred interface quits working wouldn't have played the game to begin with, at least not long enough to wish to donate. There will probably be a few people who are exceptions to this (they would have played the vanilla game, but after getting familiar with certain third-party additions, are no longer willing to play the vanilla game), but I'm going to guess that this won't apply to most people, and thus is more or less irrelevant.
Also, the API would have to be quite detailed to be useful, at which point it gets not entirely ridiculous to substitute in an open-source backend to the open-source UI, at which point Toady is written out of the loop, at which point he's stuck working for the Man instead of the Toad.Sure, if you're willing to pour half a decade's worth of sweat and tears into it, you could make something similar to DF backend. But an open-source UI wouldn't be of much help when it comes to cloning the actual game logic. For example, it would tell you absolutely nothing about AI.
I don't believe Stalin has been mentioned yet.
I'm not going to go back and find the link (someone already posted it), but this very issue was discussed earlier in some detail. I would love to see an API for the graphics, and Toady was indeed receptive to the idea. However, it would be effort on Toady's part, and Toady would then have a more or less explicit requirement to keep the API stable enough so that the dominant third-party UI can run on it; in other words, he'd start to lose control. Also, the API would have to be quite detailed to be useful, at which point it gets not entirely ridiculous to substitute in an open-source backend to the open-source UI, at which point Toady is written out of the loop, at which point he's stuck working for the Man instead of the Toad. So it may be in my short-term interest to get an API so we can all collaborate on uber-awesome UIs, but it's not in Toady's.
I've thought about what would be required to reimplement DF from scratch but better, and, given the design work that Toady has done, it's not nearly as hard now as it was for him -- though it still would be a big undertaking. But we'd end up with a Gnu Fortress that emulates what's currently in place and then stagnates for lack of direction. I'd much rather get a flawed Dwarf Fortress that evolves under Toady's full-time, single-minded, insane leadership.
Not to say that I don't want a shiny UI to view my herd of ponies.
Toady might just ignore the whole discussion
He should.
I hope Toady allows third party interfaces through whatever means he is comfortable with. I want to see more gamers enjoying this fine piece of digital art through the windows created by its longstanding community. I especially hope as Dwarf Fortress' fan base expands, Toady can enjoy more donations from players who would have been discouraged by the ASCII interface.
I would personally enjoy a good, standardized interface. I'd like to have easier controls and more information in less keystrokes. I'd like the game's front end to be combined into one big window which can show any dimensions of tiles and may even have side-scrolling. I'd like to use the mouse more, and would especially enjoy a good array of sound effects.
However if a new version comes out, I would still play without my 3rd party front end. I'd tell panicking forum goers to just stick with the old version if they must wait for the 3rd party developers to repair their programs.
I wouldn't view those third party developers to be higher in creativity than Toady regardless of their product, and if those communist rat bastards stole his source code and started sharewaring themselves I'd crush their lying throats beneath my paratrooper boots.
But all in all I really do want what's best for Toady's project, which in my opinion, is interface improvements. I consider things like caravans, persistant trade resources and army deployment small improvements in a game of this scale in the face of a problem like the existing interface.
Toady might just ignore the whole discussion
He should.
So you want Toady to hold his fingers in his ears and go "LA LA LA I CANT HEAR YOU LA LA LA"? Why wouldn't you want Toady to read this? Even if he disagrees, knowledge is power.
it would require a lot of extra work just to get off the ground and then to maintain, giving all sorts of reasons such as the extra pressure, work and loss of control that it by definition entails.
I disagree - right now is the *perfect* time to discuss what we want and hope for, and to toss around ideas and suggestions. I'm sure Toady has his own plans and thoughts on the matter, and he'll do what he wants to do regardless of what we write here, but at least there's a possibility we can give him some good ideas before he starts rewriting the entire interface.Exactly. I know if I were someone who had no formal education in programming I'd at least want to see some advice on how to implement something from people who either have some formal education, a degree, or perhaps actual experience on the subject. Not that I'd necessarily follow their advice.
However, it would be effort on Toady's part, and Toady would then have a more or less explicit requirement to keep the API stable enough so that the dominant third-party UI can run on it; in other words, he'd start to lose control.Nonsense. He wouldn't lose control because it would be understandable that an alpha/beta program wouldn't have a stable API. If anyone thinks otherwise, they're idiots and have never alpha/beta tested anything. The only time a stable API could be expect is when the game itself is considered stable and not likely to change fundamentally. But a game like this isn't likely to stop changing fundamentally.
Sure, if you're willing to pour half a decade's worth of sweat and tears into it, you could make something similar to DF backend. But an open-source UI wouldn't be of much help when it comes to cloning the actual game logic. For example, it would tell you absolutely nothing about AI.Precisely. People, especially those without much experience in the subject, seem to assume that if you got access to an API that you'd automatically be able to clone the game logic. Or that it would make Toady lose control of his project. Just look at all the commercial games out there that have been heavily modded. How many of the companies who made those games lose control of them?
Perhaps a Hitler reference.(http://img519.imageshack.us/img519/1896/dilbert20061028yd1.gif)
Here's the Proof-Of-Concept access & render of Dwarf Fortress's internal screen buffer.What I like about this is that it's the raw characters, 80x25, and easy to do what you would want with. ;) It doesn't include the OpenGL tile information:
http://www.geocities.com/jifodus/console.zip
So that's just intercepting the graphical commands and rendering them by itself?I just briefly glanced over the source, but I believe its just reading data off the window. At any rate it certainly shows that Dwarf Fortress is rendering to two sources every frame.
Shouldn't take very long. If it did then trainers that constantly force an in-game variable (such as money, health, etc). wouldn't be that useful. They would have to do it just as fast as the game itself is capable of updating the variable.I wouldnt confuse the internal representation of the windows with "rendering" it. The internal ASCII-Representation is used to render it to OpenGL. Besides that, there could be hundred of such "screen buffers", i doubt it would have a significant effect on the speed - compared to the real problems like pathfinding.
What's interesting is that it fetched the ASCII data without the OpenGL. That would imply to me that it is rendering the ASCII data to the window and to OpenGL as well. I would think that would cause a slowdown.Quote from: Omega2So that's just intercepting the graphical commands and rendering them by itself?I just briefly glanced over the source, but I believe its just reading data off the window. At any rate it certainly shows that Dwarf Fortress is rendering to two sources every frame.
Precisely. People, especially those without much experience in the subject, seem to assume that if you got access to an API that you'd automatically be able to clone the game logic. Or that it would make Toady lose control of his project. Just look at all the commercial games out there that have been heavily modded. How many of the companies who made those games lose control of them?
Oh my, a giant ad-hominem, let's address that. My good sir, you couldn't be able to figure out an API if it spat you in the eye and sodomized your dog. Obviously, you have never seen a "computor", and instead you have to resort to have your blind neighbor post these nonsense replies for you while you make cooing noises and point at the pretty pictures on the screen.Quote from: SergiusAnd that, is why you fail.First off, you sir, don't know what you're talking about. Obviously you have no experience at all with software development. If you did you would realize that a simple well-thought out API would have no need to be broken every time Toady wanted to implement a new feature.
Any change in the "interface" will break compatibility with the third-party GUI. Either Toady needs to tiptoe around this so as not to upset the GUI, or he doesn't give a crap and breaks it anyway. If enough people are using this GUI, there's an uproar and people bitch and moan and nobody will play the new version until the GUI is fixed.
It's different from changing a few tiles. While I love using the graphical raws, I have no problem using the regular ASCII interface in the meantime. People who get used to a complete GUI revamp just won't want to touch the ASCII one with a 10-feet pole.
Changing the internals of a library is quite different from changing the API.Changing the internals WITHOUT changing the API is exactly "tip-toeing". Unless you have a feature-frozen product, you don't want to distribute your API to everyone, with the (implicit) promise that future versions won't break API compatibility.
...snipped other replies to a post that apparently wasn't made, except in your imagination... strawman, I presume.
Lastly you make the incorrect assumption that everyone favors graphics over ASCII. That simply isn't the case. I personally play games that are ASCII, 2D, 3D, etc. Graphics ultimately don't matter that much to me. What does matter is having a decent interface and good gameplay. Gameplay is already covered just fine by Toady, but the interface is currently just a hack job that I would expect any developer to make until the core gameplay is implemented.We are discussing interfaces. Application Program Interfaces, right? So anything I've said about "GUI" applies to any other kind of interface for the same reasons: people grow dependent on them. They don't just "add" to the basic gameplay in the way custom tiles or modding does. They force the developer to at least make an effort to keep backwards compatibility (we all know what good that did for Microsoft WinDOS), which is clearly, as anyone with a grain of experience with programming will know, not a good idea to do in the alpha stage of a fan project. Alpha means UNSTABLE, if you don't know (you should pick up a book about programming someday, you might learn something). Regardless of the "testing" stage, it means that ANYTHING can change. Maintaining backwards compatiblity with a poorly-thought-up API during early stages of development would only lead to a maintenance hell and slow the feature releases to a grinding halt.
We already have people who say they stop playing the game the instant their favorite tile set doesn't work, and tile sets are at least somewhat peripheral. An interface is something integral, something one has to dedicate time to learning when playing a complex game. If several popular interfaces spring up that people become attached to, what happens if Toady does a major overhaul of the game workings (like the z-level update)? He either spends extra effort to ensure backwards compatibility with popular mods, or they will require heavy reworking. People used to them aren't going to be happy that their favorite interface no longer works, and the modders who need to make monumental changes aren't going to be happy either.The majority of people who wouldn't play a game when their preferred interface quits working wouldn't have played the game to begin with, at least not long enough to wish to donate. There will probably be a few people who are exceptions to this (they would have played the vanilla game, but after getting familiar with certain third-party additions, are no longer willing to play the vanilla game), but I'm going to guess that this won't apply to most people, and thus is more or less irrelevant.
Additionally, modders who find that their utilities, interfaces, or whatever else are broken after a major reworking are very likely to complain. Chances are, they'll be excited about all the new stuff that Toady has added, and will be more than willing to update their own tools for their own use as well as for others. In fact, that's already how it seems to work.
I'll grant that many of the people using these tools will be some mixture of disappointed, annoyed, frustrated, bummed or impatient, but as with my first paragraph, I suspect that the people who experience those feelings strongly enough to discontinue playing or to not donate when they otherwise might have are people who wouldn't likely have played the game very long anyway. The others won't let the emotions affect them too much. They're not going to (and haven't been known to, as far as I'm aware) take it out on Toady or the new version that broke everything. And they're not going to take it out on the authors of the third-party tools (though they might get a little impatient with them). And if the wait for the fixes looks like it will be indefinitely long, they're likely to just start playing vanilla DF again anyway.
In short, the vast majority of people who would be lost due to version change incompatibilities of third-party tools are the people who wouldn't have been gained in the first place without those third party-tools. Thus the increased availability of third party tools would not noticeably hurt Toady's efforts in the way that you described. Or so I claim, at least.
I've been saying the same thing as the OP for months (but it all ends in the same arguments...) "Get off my lawn!!!"
It's sad really. People are hung up on the idea that somehow the person writing the closed source server with all the goodies in it will not benefit from the added time at doing what he seems to enjoy the most. Features over frill. They assume that Open Source is the end of the world. (Microsoft has taught them well!)
But all in all I really do want what's best for Toady's project, which in my opinion, is interface improvements. I consider things like caravans, persistant trade resources and army deployment small improvements in a game of this scale in the face of a problem like the existing interface.
it would require a lot of extra work just to get off the ground and then to maintain, giving all sorts of reasons such as the extra pressure, work and loss of control that it by definition entails.
Exactly why threads like these should go down on the toilet real fast. This was discussed before as youve said, and voila some genius -the OP- managed to create a similar thread. I find it hard to believe that some people just cant wait for the Presentation Arc -> proper interface. I think if modders will be allowed to create skins for the hardcoded interface what Toady will implent in the future, that will be perfectly enough.
Toady was interested but hesitant, and the interview (you should go read it) shows he's currently thinking about the interface and third party development, so it seemed like the right time to discuss the subject.
He's stated - both outright and hinted at - that we, the gamers, the doners, etc., deserve an interface overhaul...however, he says that he probably won't do it until donations begin to lessen.
Oh my, a giant ad-hominem, let's address that. My good sir, you couldn't be able to figure out an API if it spat you in the eye and sodomized your dog. Obviously, you have never seen a "computor", and instead you have to resort to have your blind neighbor post these nonsense replies for you while you make cooing noises and point at the pretty pictures on the screen.First off I'm not going to take you seriously. Why? Because your best attempt at "reasoning" starts off with you insulting your opponent. There is obviously no way to prove whether I'm typing these or some paid-by-the-line idiot coder who very well could be called "Sergius" is typing them for me while I coo at noises and point at the stars on my computer's screensaver.
Now, with that out of the way, I just happen to make APIs for a living, I am a computer analyst and programmer and I have been since the 1980s. I've programmed in BASIC, Pascal, C, C++, 8086 assembler, C for Windows, Java, and a bunch of stupid 4 GL languages that are good for nothing. A "well-thought API" is exactly what you WOULDN'T have during the alpha stage of a fan project.Like you said, with that out of the way, I never claimed to program for a living. I claimed I had some knowledge on the subject, but I never claimed to have experience. Like you I've programmed/fiddled with a number of languages some of which you named. I never bothered with assembler past simple jobs I needed done that Borland C++ (which I used at the time) couldn't do.
Changing the internals WITHOUT changing the API is exactly "tip-toeing". Unless you have a feature-frozen product, you don't want to distribute your API to everyone, with the (implicit) promise that future versions won't break API compatibility.I never said they wouldn't break compatibility. But I did say with some careful thought you won't have to break compatibility except when you make fundamental, or non-minor, changes.
Alpha means UNSTABLE, if you don't know (you should pick up a book about programming someday, you might learn something). Regardless of the "testing" stage, it means that ANYTHING can change. Maintaining backwards compatiblity with a poorly-thought-up API during early stages of development would only lead to a maintenance hell and slow the feature releases to a grinding halt.I'm quite aware of what alpha testing means. I'm not some two-bit programmer who doesn't have knowledge of anything but COBOL. Maintaining backwards compatibility for a poorly-designed API during any stage will only lead to maintenance hell. Obviously I stated a well-thought out API and I obviously did not state he had to implement it either now or ever. I was merely suggesting an alternative to a suggestion that had already been made by someone else.
He's stated - both outright and hinted at - that we, the gamers, the doners, etc., deserve an interface overhaul...however, he says that he probably won't do it until donations begin to lessen.
Nop, he would be forced to work on the interface in that case. It doesnt means that he wont work on it in the upcoming months.
Toady was interested but hesitant, and the interview (you should go read it) shows he's currently thinking about the interface and third party development, so it seemed like the right time to discuss the subject.
Matt: Speaking of which, do you have any plans to up the modability of DF? I know at least one person who’s itching to build it into 3D. Even just isometric sprites or double-tall sprites for pseudo-3D.
Tarn: Well, there’s interface modability and other sorts of modability. I’m leery about third party interfaces. If a third party interface becomes popular, I think I might lose control of the project. I don’t want to be in a position where I have to accommodate and work with other people.
This is pretty clear, isnt it? ::)
Toady was interested but hesitant, and the interview (you should go read it) shows he's currently thinking about the interface and third party development, so it seemed like the right time to discuss the subject.
Matt: Speaking of which, do you have any plans to up the modability of DF? I know at least one person who’s itching to build it into 3D. Even just isometric sprites or double-tall sprites for pseudo-3D.
Tarn: Well, there’s interface modability and other sorts of modability. I’m leery about third party interfaces. If a third party interface becomes popular, I think I might lose control of the project. I don’t want to be in a position where I have to accommodate and work with other people.
This is pretty clear, isnt it? ::)
Devils advocate: Isn't Dwarf Companion a full-out replacement for the units screen? Yes you can cheat with it, but all I've ever done is use it to sort units and such. (i.e. Was it Urist McDwarfy or Urist McUrist I was training in bonecrafting?)
In the end, it's still Toady's decision.
That's the thing: they're asking for better mod support when it comes to interface. You don't need to see DF's source code to do that. Dwarf Companion and Foreman are two examples of what I'm talking about: those programs interact with Dwarf Fortress, sending and receiving information, but neither needed any access to DF's source code to do that.Devils advocate: Isn't Dwarf Companion a full-out replacement for the units screen? Yes you can cheat with it, but all I've ever done is use it to sort units and such. (i.e. Was it Urist McDwarfy or Urist McUrist I was training in bonecrafting?)
Yep, but it has nothing to do with the source code, correct?
Besides I can totally understand Toady. If I would make a game, I wouldnt give out any source code either... until I plan to update the game at least.
Revamped interface will come, just wait for it. These people should post ideas that what interface would they like to see, instead of asking for the interface source code.
He's stated - both outright and hinted at - that we, the gamers, the doners, etc., deserve an interface overhaul...however, he says that he probably won't do it until donations begin to lessen.
<snip>
Always comes back to money. Kind of frustrating, isn't it? Doubly so, considering Toady is a indie dev...even the giants, such as EA and the like, understand the important of modding.
Toady is a great guy making a great game. But I fear his concern for his pocketbook is going to alienate people from the game we love so much.
First off I'm not going to take you seriously. Why? Because your best attempt at "reasoning" starts off with you insulting your opponent.
First off, you sir, don't know what you're talking about. Obviously you have no experience at all with software development.
I would have expected you to be able to understand English a little better.
See what you did there?I had a feeling I was insulting someone earlier but I didn't remember it being you. Once a thread gets long like this I start forgetting what I've already posted. Kudos to finding an inconsistency. ;D
Devils advocate: Isn't Dwarf Companion a full-out replacement for the units screen? Yes you can cheat with it, but all I've ever done is use it to sort units and such. (i.e. Was it Urist McDwarfy or Urist McUrist I was training in bonecrafting?)
Yep, but it has nothing to do with the source code, correct?
Besides I can totally understand Toady. If I would make a game, I wouldnt give out any source code either... until I plan to update the game at least.
Revamped interface will come, just wait for it. These people should post ideas that what interface would they like to see, instead of asking for the interface source code.
The whole bit about opening up the source code for a client sent the discussion to a bad place and the OP should have left it out. Discussing just a 3rd party user interface is useful, discussing opening up the source (which the author has repeatedly said he WILL NOT DO) is not.Well as it stands now, from what I've read of Toady discussing it, the interface is currently tied somehow to the game logic. If he were to open up the client as it is now, he would have to, to some degree, open up a good chunk of the game logic.
Always comes back to money. Kind of frustrating, isn't it? Doubly so, considering Toady is a indie dev...even the giants, such as EA and the like, understand the important of modding.
Toady is a great guy making a great game. But I fear his concern for his pocketbook is going to alienate people from the game we love so much.
Quote from: SergiusSee what you did there?I had a feeling I was insulting someone earlier but I didn't remember it being you. Once a thread gets long like this I start forgetting what I've already posted. Kudos to finding an inconsistency. ;D
Guys, really, you're both insulting each other. I would suggest that those people who actually want to politely discuss the issues at hand - and thankfully there is some actual discussion buried under here - that these people from now on ignore any insults, and that those people that don't want this discussion simply ignore this thread. I think everyone heard your opinion clearly by now.I think at this point we should just start a new thread. Otherwise people new to the thread might ignore the thread early on not bothering to check if the insults stop or not. :-\
You're turning things upside down. If Toady cared about the money, he would work on the interface... What he says is that as long as he can survive on the current donations, he works on what he likes most instead, so it's exactly the other way around from what you describe.
Also, you're the first one in this thread to actually attack, if mildly, Toady, and that's not what this thread was about. This only provokes further flaming, and we have enough of that already
Starting a new thread for the same topic would only anger people again I suppose...
Also I obviously never stated he should implement the API during an alpha stageYet you were attacking a post that quite explicitly was against imlpementing an API during an alpha stage. I repeteadly state so very clearly all over my post. So which is? You are not arguing FOR an API during the alpha stage, yet you are arguing AGAINST not using an API during the alpha stage? And let's face it, this game is going to be an alpha pretty much forever. The day it becomes a beta is the day Toady got bored of adding new stuff to it.
I disagree. I'm not attacking Toady. I'd be willing to say the fact you THINK I'm attacking Toady is the very reason topics like this turn into flame wars. People are ALLOWED to simultaneously respect, like, AND be critical of someone's actions. That's all I'm doing. I am not flaming or attacking Toady, DF, or you, or anyone. I am saying, though, that I disagree with Toady's actions in this instance.
I mean, every interview has the "So you ever going to fix the interface?" question. It's on everyone's minds, and a topic is made about it at least once a week with various suggestions. It is, by far, the biggest thing holding people back from playing DF for more than 5 minutes. Even if Toady didn't want to, he has a legion of willing modders who would love to.
But he doesn't, and he himself states his reason is because of control and money. And that doesn't feel right. It goes against everything independent development and donationware stand for. He's not a bad person, he's not greedy, but I do feel he needs to change this if he's hoping to continue making a living off of it.
...(Emphasis mine)
Again, I believe your hearts are in the right place, but you all are sounding (in my opinion) more selfish and insulting by the minute.
...
...(Emphasis mine)
Again, I believe your hearts are in the right place, but you all are sounding (in my opinion) more selfish and insulting by the minute.
...
Do you really mean to address an entire group while rebutting the claims of one? I think plenty of folks on the pro-3rd party interface have been quite civil.
I maintain that moderation will become..needed..at some point.
It already is necessary. ad hominem attacks are zipping around like bullets. We might end up locked soon.
Which is sad, I really like the civil part of this topic.
That has to be the most tortuous misrepresentation I've read in a while. Here we have an indie, one-man-band developer who gives away his game for free, making a humble statement that he'd rather not manage or otherwise wrangle modders who don't have the same years-long commitment to the project. From this you conclude he's selfish? That clearly his wishes are only explained as an unfeeling tyrant's lust for money? That's an absolutely backwards conclusion--he's stated the minute he stops enjoying working on the game he'll leave it, and he -doesn't enjoy playing administrator-. Might he mean just what he says? Might your psychoanalysis be a truckload of bunk?
Also, would you cease with your unsubstantiated claims that "fix the interface!" is the #1 request? What are you basing that on other than your own wishful thinking drawn from purely anecdotal evidence? Your heart's in the right place, but I think your brain refuses to process any evidence or logic other than "allowing us access to create our interfaces is the one and only truth; all opposition must have evil motives." Might it be that he wants to keep having fun, rather than having to be committed to maintaining a playground for modders at the expense of working on what he wants to?
Again, I believe your hearts are in the right place, but you all are sounding (in my opinion) more selfish and insulting by the minute. At least admit the possibility that refusing to allow this access isn't necessarily the result of malevolent motivations? I wouldn't ascribe such evil intent to your dreams for the game, so why do you heap them on Toady's?
but he's approaching this whole thing with a healthy dose of selfishnesss.
...
Instead, he says he doesn't want to do that because he's afraid of losing control...and losing the moneyflow he currently has.
...
I fear his concern for his pocketbook is going to alienate people from the game we love so much.
But what if by some amazing and unlikely bad luck one of those worst-case scenarios comes true and Toady feels he's loosing control of the project?
Well he still has an emergency exit: stop the third-party client business by not supporting them anymore (i.e. stop updating his public API or not publishing the source code for the next version of his client). This would certainly anger a lot of fans who are relying on those clients, but he could still count on faithful hardcore fans who are more interested by the game than by any client. I know that if this situation came true, I would keep playing the game and following it's development, even with a bad interface like the current one.
Isn't that what they already do?But what if by some amazing and unlikely bad luck one of those worst-case scenarios comes true and Toady feels he's loosing control of the project?
Well he still has an emergency exit: stop the third-party client business by not supporting them anymore (i.e. stop updating his public API or not publishing the source code for the next version of his client). This would certainly anger a lot of fans who are relying on those clients, but he could still count on faithful hardcore fans who are more interested by the game than by any client. I know that if this situation came true, I would keep playing the game and following it's development, even with a bad interface like the current one.
But couldn't they just hack the memory of his new versions and basically stay up to date?
Instead, he's making the sort of game he wants to make, and is committed to keeping the work enjoyable and personal. I don't connect the development path of DF with any kind of money-lust, and I'm surprised that anyone can even pretend to do so. Why make a difficult-to-program, difficult-to-get-into, difficult-to-market game if you're in it for the cash? Isn't a more reasonable explanation simply that he doesn't want to wrangle modders, and wants to work on more interesting aspects of the game than the interface, unless he's forced to by going broke?However, this game is also his source of income, which means he'll have to get around doing the parts he's not that hot about, eventually.
While I don't doubt your good intentions, I don't think "interface improvements" is more interesting than "caravans, persistent trade resources and army deployment" to Toady right now (at the risk of appearing as if I can magically read Toady's mind).
I believe Toady works on what is most interesting to him at the moment, and this belief is based on what I have read in his dev notes (far clearer than most other software authors I've seen). No matter what you think is "best for Dwarf Fortress", one thing is certain - Toady will work on what Toady wants.
Isn't that what they already do?
Isn't that what they already do?
Yes, and that would basically mean that he'd still be losing control of the project, even though he severed ties with it, wouldn't it?
Isn't that what they already do?
Yes, and that would basically mean that he'd still be losing control of the project, even though he severed ties with it, wouldn't it?
Isn't that what they already do?
Yes, and that would basically mean that he'd still be losing control of the project, even though he severed ties with it, wouldn't it?
Isn't that a Catch-22? If he does it, he risks losing control of the project due to actions he sanctioned. If he doesn't do it, he risks losing control of the project due to actions he didn't sanction but also didn't declare as ilegitimate.
You're turning things upside down. If Toady cared about the money, he would work on the interface... What he says is that as long as he can survive on the current donations, he works on what he likes most instead, so it's exactly the other way around from what you describe.
Also, you're the first one in this thread to actually attack, if mildly, Toady, and that's not what this thread was about. This only provokes further flaming, and we have enough of that already
I disagree. I'm not attacking Toady. I'd be willing to say the fact you THINK I'm attacking Toady is the very reason topics like this turn into flame wars. People are ALLOWED to simultaneously respect, like, AND be critical of someone's actions. That's all I'm doing. I am not flaming or attacking Toady, DF, or you, or anyone. I am saying, though, that I disagree with Toady's actions in this instance.
I suggest he tackles at least some of the interface problems and requests as he develops the Army and Caravan Arcs.I agree. I don't particularly care if he allows support for third-party or not, or if the interface gets a complete revamp immediately. What I would like to see are minor improvements to the current one until the revamp is performed. Simple things like full mouse support would do a world of good in attracting players, especially those who prefer using a mouse over the keyboard.
Quote from: Omega2I suggest he tackles at least some of the interface problems and requests as he develops the Army and Caravan Arcs.I agree. I don't particularly care if he allows support for third-party or not, or if the interface gets a complete revamp immediately. What I would like to see are minor improvements to the current one until the revamp is performed. Simple things like full mouse support would do a world of good in attracting players, especially those who prefer using a mouse over the keyboard.
For this it's best the community just gathers suggestions for improvements along this lineAgreed. But its also best that members of the community who disagree don't start a raging argument over why it shouldn't be done. Much better for us to focus on suggestion and let Toady decide. Doesn't matter how much we argue. If Toady doesn't like it, doesn't want it, then he won't implement it.
I think some people don't understand how good a thing we have going here.We're trying to get this back on track for a suggestion thread. Granted you are trying to make a suggestion. I see that now. Your suggestion is "shut up and be happy with the game we have." This is just fine. We are happy. But Toady didn't put a suggestion category on his forum just to look pretty. If nobody made a suggestion, it would be rather pointless wouldn't it?
This is a game that none of us are obligated to donate for. And Toady is in no way obligated to make it for us.
But he does, and we do, and the game is awesome for it. Free and fun. Don't try to fix what you can't break.
We're trying to get this back on track for a suggestion thread. Granted you are trying to make a suggestion. I see that now. Your suggestion is "shut up and be happy with the game we have." This is just fine. We are happy. But Toady didn't put a suggestion category on his forum just to look pretty. If nobody made a suggestion, it would be rather pointless wouldn't it?
Now do you have something constructive to add? Or do you just intend to repeat what others have already said before? If so, please do us the favor of quoting and putting it in bold or a bright color so we'll know we can safely ignore it without missing anything important.
I gotta say I agree with Tamren, however that is not important now. I have a suggestion..move this thread to the suggestions subforum, and perhaps rename the thread title to: Third party interfaces. [[However as I see, everything has been said already [pros and cons] at least 5 times but ah well..]] ::)I don't know how anyone can really tell if all the pros and cons HAVE been stated. They'd somehow have to wade through 13 pages of people bickering that the presentation arc isn't finished yet and that somehow, before it's implemented, talking about it is off limits.
Now do you have something constructive to add? Or do you just intend to repeat what others have already said before? If so, please do us the favor of quoting and putting it in bold or a bright color so we'll know we can safely ignore it without missing anything important.
Well, he certainly finds himself in good - or at least prolific - company.Now do you have something constructive to add? Or do you just intend to repeat what others have already said before? If so, please do us the favor of quoting and putting it in bold or a bright color so we'll know we can safely ignore it without missing anything important.
All I have seen you do is try to shoot down the people who keep 'repeating what other have already said before' for about ten pages with little change in either side of the argument. It's a tug of war with a rope made of pig fat.
My point was that we have a very balanced system here that WORKS. Toady gets to make his dream game and he enjoys doing it. He can work without someone lording over him and with no deadlines but those he sets for himself. His income relies completely on our player satisfaction. But since our donations are voluntary, he is not shackled in any way to our demands. This is a situation that some game developers would kill for!Yes, so... Toady makes the decisions. He was presented a choice and a way to move forward that he can decide to follow or not. The OP made a detailed and specific list of the potential they saw in the game, just like all the other requests for mass construction, et. al... and he/she was instantly attacked by the "members" of the community because it didn't match the direction THEY wanted in the game.
I can play this game without feeling that I need to "get my moneys worth" out of my investment. If something bothers me I can learn to work around it while suggesting a fix to Toady with as much detail as I can. Eventually things do get fixed.
So just give it time. Obviously you have a lot of ideas on how to make the interface better, or you wouldn't be wanting to make one of your own. Put them out there and let it stew.
That sole power rests with Toady
No, not at all, though I can certainly improve on what I've got now to a large degree even without external input (which I, of course, love to receive). [emphasis added]
Apologies for missing that, and thanks for the answer. :)
We can report posts?There should be a "Report to Moderator" link on the bottom-right of every post.
I believe Toady works on what is most interesting to him at the moment, and this belief is based on what I have read in his dev notes (far clearer than most other software authors I've seen). No matter what you think is "best for Dwarf Fortress", one thing is certain - Toady will work on what Toady wants.
Oh, absolutely. I agree that he does what most interests him, and thats all fair and good. Having only donated $0.02 USD to this project thus far, I don't presume any personal entitlement. And don't get the wrong idea, I really want to send my army of thirty dwarves on a loot and pillage run to finally end these goblin ambushes.
However I have worked in a mod before, the Project Reality mod of Battlefield 2. They had robust gameplay changes in mind when they started out. Simple things, like changing accuracy levels for weapons and removing kill messages, created a totally new feel for the game. But we still had ridiculous crap left over from the original Battlefield 2. Maps had to be re-balanced for the new casualty rates. Capture points had to be shifted. And mappers like myself didn't want to go back into old product to fix it up, we wanted to make new product we could proudly give to the community with our signatures written in the pavement somewhere. But if we didn't practically draft developers to fix maps, we'd continue with good gameplay hampered by a bad game enviroment for much, much longer.
That's how I feel about an interface. It takes precedence not because its fun or interesting to work on, but because all of this amazing stuff is hidden under an old coat of varnish that makes other gamers, with donation money burning their pockets, walk by and say "So what?". I'm not here to cry and get my way. I don't need a 3D or 2D sprite interface. I just think its in Dwarf Fortress' best interest, even if its not interesting to Toady, to improve the interface through whatever means he prefers. And its my opinion a good way to do that would be through a 3rd party interface.
<snipped PS parts>
We can report posts?There should be a "Report to Moderator" link on the bottom-right of every post.
I said that in the sense that "there is" a Report to Moderator link on the bottom-right of every post.We can report posts?There should be a "Report to Moderator" link on the bottom-right of every post.
Yes, there should be. We should suggest it to toady.
I said that in the sense that "there is" a Report to Moderator link on the bottom-right of every post.
At least here, that is. Maybe it's not showing up on your browser, for some reason. What are you using?
However, reflecting on the position I'd be in, there are things not to like about it. How many threads were there about broken utilities when this version came out? If more than half the player base comes in off a third party interface (and given how much the current interface sucks, and how much it is a source of first time downloaders dropping the game, this is not only imaginable, it is very, very likely), how would it be if it broke at each release? There's no way to mitigate that without my direct involvement -- imagine a release down the line where you can suddenly move dwarven armies around on the world map, with a tactical view and various options. That interface can't write itself, and it wouldn't be a quick patch, though certainly dedicated people, assuming that about whoever is maintaining the front-end at that time, can pull things together rapidly. The pressure on me to work directly with them to get the interface out at the same time as the game itself would likely be immense and disruptive, given what little evidence we have from broken utilities. That's not to say that I often get requests to work with utility writers (other than from the writers themselves, who I generally accommodate), but this would be at a different order of magnitude.
So what's the exact risk there then? First, I don't want to work with other people. So, assuming I don't do that, there's now a constant amount of pressure on me and a general disruption in the forums. The latter could be mitigated with some announcements/guidelines, etc., but the pressure wouldn't go away. Monetarily, it's impossible to say what on earth would happen, but if I supported the third party interface directly pre-release, I'd likely make more money, but I'd be unhappy. If I didn't support it directly, but it was there, I'd still likely make more money, but I'd be unhappy. That's not to say that I don't want to grow the audience and allow more people play the game, but I want to do it in a way with which I feel satisfied, even if that ends up being slower or just plain worse than a hypothetical third party alternative.
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.
Hm, Toady seems to be pretty strong about not wanting to work with other people (apart from taking suggestions), so I'm not sure the above would work. In practice, I don't think you can make part of your program open-source/create an API with the intention of giving other people access, but then work totally independent of these people and basically work further on your program as if these people wouldn't exist. So I guess once you go this way, you would have to commit to cooperating with the third-party programmers.
Hm, Toady seems to be pretty strong about not wanting to work with other people (apart from taking suggestions), so I'm not sure the above would work. In practice, I don't think you can make part of your program open-source/create an API with the intention of giving other people access, but then work totally independent of these people and basically work further on your program as if these people wouldn't exist. So I guess once you go this way, you would have to commit to cooperating with the third-party programmers.
Tell that to every company who's made an SDK. Valve changed a bunch of shit with relation to mods and basically told the modders,"Go over to the new engine yourself". Then again, the old mods still worked, so maybe things would go differently.
I guess we might be better off concentrating on suggestions for actual interface improvements.
I guess we might be better off concentrating on suggestions for actual interface improvements.
Exactly, thats what I was saying since this topic has been created. Toady needs creative ideas & suggestions, nothing else. [+bug reports ;D]
I do feel the need to correct some of the opponents of the idea, however. It seems to me that a lot of people think that decoupling the interface from the game logic would be a waste of time. This is simply not true. Separating interface from the game logic is something that needs to be done anyway to boost productivity. An interface that is intertwined with the game logic is a recipe for bugsplosion, and debugging takes up at least 50% of programming time (well, at least when I'm programming).
I'm a big fan of open-source development, where enthusiasm for a project can make new features develop at an amazing rate, and I was hoping that at least the interface of DF might benefit from it, freeing you to work on the Army Arc, among other things.
I'm a huge fan of open source development, but there are projects (and developers) that it just isn't right for. While it can provide huge benefits, it also carries risks. Many an open source project (especially in gaming!) collapses under a confusion of additions that don't mesh together, and organizing everyone and everything whilst maintaining a system to remove faulty or commercially licensed code can be a full-time management job.
yeah but did the whole negativy and hostility bring anything beneficial here? And did the discussion hurt anyone? We could have the same discussion in a polite fashion, voicing opinions and laying out arguments, then Toady joins in with a long reply that further ellucidates on what he thinks about it and why, and everyone is smarter in the end. No need for insults or "shut up" comments.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.
Somebody reported a post in this thread... it didn't really matter which one. A bit of chilling would be good. There are a few people that have failed to chill. There are quite a few statements here I'd respond to in person myself, and some very sharply, but internet discussions are more fragile and more prone to derailment. So I'll try to stick to what seems to be the core of the matter.
As the guy who started this thread, I obviously was hoping for a different conclusion to this discussion. I'm a big fan of open-source development, where enthusiasm for a project can make new features develop at an amazing rateIf you look at the various examples of open-source games, you'll find that that's not how it works for game software. The successful projects operate under a very closed-sourceish model (the "cathedral" model, in ESR's essay). It's not like an application, where you can just add bits and pieces here as you like (the "scratch your own itch" part); it has to come together as an integrated whole.
QuoteAs the guy who started this thread, I obviously was hoping for a different conclusion to this discussion. I'm a big fan of open-source development, where enthusiasm for a project can make new features develop at an amazing rateIf you look at the various examples of open-source games, you'll find that that's not how it works for game software. The successful projects operate under a very closed-sourceish model (the "cathedral" model, in ESR's essay). It's not like an application, where you can just add bits and pieces here as you like (the "scratch your own itch" part); it has to come together as an integrated whole.
Besides: Toady doesn't want to do it. That's the end of it. Pushing him and "yeah, but you could do this" once he says "don't want to, nope" is more than a bit disrespectful.
(I've noticed that this is something of a trend for most, if not all, good, free applications out there. Even the ones where, as Toady does, the devs live off donations. "Open the source, and we promise the donations won't stop" is pretty laughable. It's one of the things that bugs me about the open-source community more than anything else.)
What about Battle for Wesnoth? It's pretty much a bazaar, and it's a wonderful game.You have a very different definition of "wonderful" than I do, then. Wesnoth is an aimless pile of crap, tugged in all sorts of directions by people who want to make it into different things.
Also, if you read the original post, you will have noticed that I am suggesting the open-source model for the interface only. Toady wants to protect his game logic and I understand that. But even a messy open-source model would be perfect for the interface, so that many different ones crop up: who cares if there are 100 different ones, if at least 5 are excellent.At which point it becomes considerably simpler to build a replacement open-source engine. Whoops, there goes Toady's DF.
Please cut the bodyguard stuff.I'll say that you're being disrespectful if, as in this case, I think you are--because if you read his post, it's pretty plain that he's already considered what you brought up.
QuoteAlso, if you read the original post, you will have noticed that I am suggesting the open-source model for the interface only. Toady wants to protect his game logic and I understand that. But even a messy open-source model would be perfect for the interface, so that many different ones crop up: who cares if there are 100 different ones, if at least 5 are excellent.At which point it becomes considerably simpler to build a replacement open-source engine. Whoops, there goes Toady's DF.
Agreed. I've thought to myself many.. many times how to do a fortress like game since I really don't care about the history, adventure mode, or some of the other things.QuoteAlso, if you read the original post, you will have noticed that I am suggesting the open-source model for the interface only. Toady wants to protect his game logic and I understand that. But even a messy open-source model would be perfect for the interface, so that many different ones crop up: who cares if there are 100 different ones, if at least 5 are excellent.At which point it becomes considerably simpler to build a replacement open-source engine. Whoops, there goes Toady's DF.
I seriously doubt the lack of a fully-featured 3rd party GUI is holding anyone back from creating a DF replacement engine. :P
QuoteWhat about Battle for Wesnoth? It's pretty much a bazaar, and it's a wonderful game.You have a very different definition of "wonderful" than I do, then. Wesnoth is an aimless pile of crap, tugged in all sorts of directions by people who want to make it into different things.
I'll say that you're being disrespectful if, as in this case, I think you are--because if you read his post, it's pretty plain that he's already considered what you brought up.
with your "How dare you contradict Toady" attitude, you make him sound like a Japanese emperor instead of the friendly and rational guy that he his.Toady once told me, "If you don't wash my feet, I will kill your family and countless millions by flooding half the world!"
PPS.
I think that Toady should lock this topic for good. There are other, polite threads about the interface. This topic is full with flaming, and we dont need topics like these I guess. Correct?
Quote from: dreiche2yeah but did the whole negativy and hostility bring anything beneficial here? And did the discussion hurt anyone? We could have the same discussion in a polite fashion, voicing opinions and laying out arguments, then Toady joins in with a long reply that further ellucidates on what he thinks about it and why, and everyone is smarter in the end. No need for insults or "shut up" comments.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.
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.
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.
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 ;D . But I don't know if you see that as a relief.
[emphasis added]
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.
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.
Quote from: dreiche2yeah 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.
Wait; this thread is -still- going?Thank you, nobody had yet pointed out that Toady is control of this project. It's good that you came around at this juncture, both to bump a thread you disapprove of to the top of the list and to tell us this brand new information. It's fortunate that you thought to point out the only programmer is in fact in full command of the development of The Precious. I will immediately slit my belly for the impertinence.
I thought everything was made pretty clear?
A lot of you act like you have some sort of control over Toady or think you know what's best (And you might). For the first point, it's a symbiotic relationship. He does this because he wants to, and we are on this forum and play this game because we want to, and there really isn't much to it. For the second point, it's not your decision. It's not, it's Toadies, and it's his project.
Wait; this thread is -still- going?Thank you, nobody had yet pointed out that Toady is control of this project. It's good that you came around at this juncture, both to bump a thread you disapprove of to the top of the list and to tell us this brand new information. It's fortunate that you thought to point out the only programmer is in fact in full command of the development of The Precious. I will immediately slit my belly for the impertinence.
I thought everything was made pretty clear?
A lot of you act like you have some sort of control over Toady or think you know what's best (And you might). For the first point, it's a symbiotic relationship. He does this because he wants to, and we are on this forum and play this game because we want to, and there really isn't much to it. For the second point, it's not your decision. It's not, it's Toadies, and it's his project.
Some of his "defenders", on the other hand... :D
Well, the proccess should go like this:
1- Toady provides us with the clay.
2- We designate a farm.
3- A modder comes around and plants the projects.
4- ???
5- Mods!
No, wait...
I mean, take Bethesda and Blizzard. Bethesda caters like hell to their modders. They give them a kit to play around with, a forum and outlet to discuss it all, and why? Because they know that they laid down a fantastic gridwork, but it's the players who know what the players want, and they know that it was the modders who put the Elder Scrolls series on the map, not the developers. And who reaps in all the money, yet none of the blame when Naked Nords For Hire mod doesn't work? Bethesda. When a new patch breaks mods, no one ever looks to the developers. It's the modder's shoulders that the responsibility falls on. Rightfully so.
Now take Blizzard. Blizzard couldn't give two shits about the modding community for World of Warcraft. They offer a very limited ability with AddOns, and even the slightest patch causes every mod to either go haywire, bitch and moan that it's not updated, or downright fuck up your display...just because it feels like it.
And yet I can name 5 WoW AddOn websites off the top of my head. And I'd say over 50% of the userbase, and probably 90% of the "dedicated" userbase, swear by at least a COUPLE of AddOns, and a lot say WoW would be nigh unplayable without some.
Look I don't mean to be a dick but let's just look at the situation and find the answer.
It's fairly obvious: Toady needs to overhaul the user interface before someone else does or he will lose control of the project.
There. It 'aint on us. It's on him.
He wouldn't loose control eitherway. People might try to hack in ways to overhaul the UI system, it won't work as well as it will when toady finaly decides to change it, even if people do find a way, there will be all sorts of problem when toady does his update and the gui maker is in all sort of pain hooking everything up again specialy when new stuff get added. Not to talk about speed loss working in a separat window.You could say the same thing about a third party API. If someone were to create an alternative UI using hacks, and people started using it en masse, then when Toady throws out an update it will break the interface leading to the same problem he described above. He'd have to wade through pages of complaints that "such and such an interface wasn't working now... how do you fix it?"
Nah that Toady would loose controll of the project due to the fact he won't update the gui... not likely.
Like he said, he will update the gui when he finds a good way and the time to do so.
Also, I don't think that adding in third party support makes you obligated to help them. I mean, look at all the utilities we have already. There isn't much direct support going on.
Have anyone ever thought maybe he doesn't like seeing crap topics like this demonizing him just because he would rather do his own work?
What draws the line between "good" hacking and "bad" hacking in DF?
Quote from: isitanosLastly, 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 draws the line between "good" hacking and "bad" hacking in DF?
with your "How dare you contradict Toady" attitude, you make him sound like a Japanese emperor instead of the friendly and rational guy that he his.Toady once told me, "If you don't wash my feet, I will kill your family and countless millions by flooding half the world!"
Ever since then, I have never once questioned his motives or stepped up to make suggestions to his holiness. Why would I want to question such an omnipotent power!
True story... I think.
I will immediately slit my belly for the impertinence.
Actually, right now would be a damn good time to do it as I have the memory location for the cursor location in the map, view port boundaries, and other information that I can use to scrape and display info in an alternative manner. I can manipulate the cursor to whatever location I want to see on the map at the click of a button, the viewpoint changes instantly. If I wanted to, I could make a template program to automatically designate constructions or digging locations right now. I was thinking about taking this one more step. I would extracting the map data surrounding the cursor using the memory locations from 3Dwarf and using some of that source to provide me a 3D "window" of the current cursor location and surrounding area. With the data collection going on in the 3Dwarf arena concerning tile data, and all that, the 3Dwarf "hack" is getting closer to what I envision and maybe I just inject some code to their base to do real time updates that I want.What draws the line between "good" hacking and "bad" hacking in DF?In principle this is something that should be discussed at some point, but I think for now it might be sufficient to wait what happens, i.e. what the hackers actually come up with, and how much of that will become obsolete anyway as Toady improves the interface on his own (see the prospector), or whether Toady at some points calls out "that's enough hacking!". So maybe this issue resolves itself and making it an official issue just complicates things.
I mean, take Bethesda and Blizzard. Bethesda caters like hell to their modders. They give them a kit to play around with, a forum and outlet to discuss it all, and why? Because they know that they laid down a fantastic gridwork, but it's the players who know what the players want, and they know that it was the modders who put the Elder Scrolls series on the map, not the developers. And who reaps in all the money, yet none of the blame when Naked Nords For Hire mod doesn't work? Bethesda. When a new patch breaks mods, no one ever looks to the developers. It's the modder's shoulders that the responsibility falls on. Rightfully so.
What draws the line between "good" hacking and "bad" hacking in DF?
Not a very good situation, really. So there has to be some sort of limit so the situation won't escape Toady's control. There has to be a line people agree not to cross with their modifications/applications, otherwise the only solution would be banning those methods altogether. And if DF became impervious (or at least resistant) to memory-hacking only after the userbase started relying too much on a third-party application, the backlash would be catastrophic. Think about the "THIS SUCKS!" topics you see every time something is nerfed in any game (such as WoW). We'd then see something like that over here, and I think I'm safe to assume no one wants that.
That has been proven with many game communities where the developer frowns on certain modding practices, and the modding practices don't stop they just go on in secret until it's safe to come out.Sure, but usually these "secret" projects you talk about are not used by a great number of people. If someone created a hack interface that offers better views, more information and more intuitive control, you better believe that it will get more traction being on a official forum.
That has been proven with many game communities where the developer frowns on certain modding practices, and the modding practices don't stop they just go on in secret until it's safe to come out.Sure, but usually these "secret" projects you talk about are not used by a great number of people. If someone created a hack interface that offers better views, more information and more intuitive control, you better believe that it will get more traction being on a official forum.
Cracks are quite a bit different than a mod to a game. Sorry, but that's a poor... poor example. And I'd argue that the recent crap with developers trying to prevent these kinds of hacks has actually encouraged normal people to seek out the hacks in order to alleviate the headaches caused by the developer's anti-piracy measures (long keys, constantly swapping CDs, self-infecting PCs with rootkits, etc.)That has been proven with many game communities where the developer frowns on certain modding practices, and the modding practices don't stop they just go on in secret until it's safe to come out.Sure, but usually these "secret" projects you talk about are not used by a great number of people. If someone created a hack interface that offers better views, more information and more intuitive control, you better believe that it will get more traction being on a official forum.
I disagree highly. I guess it depends on your definition of "modifying" a game, but NoCD cracks, certain memory editing, etc. have been around forever, and I'd say there are millions of people who have used them. Progress will always push forward, regardless of the wants of the developers. I agree entirely with Davion's statement.
Cracks are quite a bit different than a mod to a game. Sorry, but that's a poor... poor example. And I'd argue that the recent crap with developers trying to prevent these kinds of hacks has actually encouraged normal people to seek out the hacks in order to alleviate the headaches caused by the developer's anti-piracy measures (long keys, constantly swapping CDs, self-infecting PCs with rootkits, etc.)
But I guess this is going to turn into a debate about whether or not debating good/bad hacking is worthwhile. :(
Even more because big gaming companies usually can stand something putting a small dent on their sales. Toady doesn't have nearly as much leeway in this situation.But I guess this is going to turn into a debate about whether or not debating good/bad hacking is worthwhile. :(
We should debate this turn of events.
The interface... I mean come on, if any of you here are longer term players you would not be complaining, as I see no current problem with it.I have two main problems with your post. First off you assume that since we're suggesting a possibility for an improved interface that we must have complaints with it. Second you assume that we aren't long term players. I don't know about the OP, but I started playing this game about a month or two after it went public.
In fact, the interface is probably the main factor in saving us from the flood of casual gamer takeover - or dumbing down.In this regard I would somewhat agree. Only somewhat because the term casual gamer is a bit vague. To me casual gamer would imply someone who only plays games occasionally and perhaps doesn't have a system built for gaming. But when it comes to DF, you don't need a system built for gaming. Just a decent processor with a decent amount of memory. A low-to-mid range system from Dell would work just fine (most systems from Dell have Core 2 Duos and thus are great for DF).
Don't demand, Ask. Don't scream, be reasonable.Here is where I really have a problem with your post. You assume that those making suggestions are demanding and/or screaming. In fact, as far as I've noticed, those doing the demands and screaming are those against third-party interfaces and/or interface changes in general. They demand in the sense that they're telling us to stop making suggestions for a new interface and they're screaming in the sense that they continuously repeat their demands over and over. As an example, I'll quote what you have said in the same post.
Donate if you can, Play when you want, and Be supportive.How many people would tell someone to shut up and get lost in a non-demanding way? How many of those people may or may not say it in a way that could be defined as screaming?
Or Shut up and leave.
I think people are forgetting one of the main reasons behind the issue. DF is the Adams brothers baby... On a purely sentimental level I can't blame them for not giving up any control of the project.
It's like spending years restoring a rare, classic car.....and letting someone else pick the paint job.
Suppose Toady were to open up the output and input from DWAAARF FORTRESS so that various persons could create new systems for viewing the game, assigning jobs, checking stocks, and all manner of DF-ey stuff.Hasn't he already? Last I looked, displaying stuff on the window was output and the keyboard/mouse was input. And last I looked people were already taking advantage of it. ::)
I'm curious. Suppose Toady were to open up the output and input from DWAAARF FORTRESS so that various persons could create new systems for viewing the game, assigning jobs, checking stocks, and all manner of DF-ey stuff. Even if one, particular 'front end' became massively popular, how would he lose control? I mean, he wouldn't have to bow to the wishes of the populace for any reason... He can do whatever he wants and we die-hard fortressers would still play and donate. Unless, of course, he turned the game into a static JPEG of a pile of poo or something ridiculous. Just a little question I had.
He's essentially going to be "forced" to do so by his own conscience and desire to please his playerbase, even if he is fully within his rights to ignore them.
Basically, If you want a game were things are easy to see and understand however are less rewarding in the long run, DF isn't your game. If the Interface is such a hot topic, were is the legion of people complaining about the graphics? Tilesets are just an attempt to cover over the basic graphics right?
Because Everyone here loves the graphics - ASCII or loves the Tilesets. Or Finds the gameplay strong enough to overpower the weakness some see in it.
The interface... I mean come on, if any of you here are longer term players you would not be complaining, as I see no current problem with it. I have easily memorized the macros, and I only use the large map as the start to figure out fortress location - otherwise the interface has done nothing but be simple and useful - effectively built to serve it's purpose.
My 2 cents:
This thread should be locked before it gets out of control
He's essentially going to be "forced" to do so by his own conscience and desire to please his playerbase, even if he is fully within his rights to ignore them.
I didn't understand his thoughts behind this until I realized it already happened, albeit on a smaller scale. Quite a few people expressed shock that Regional Prospector didn't get updated for the latest DF version, and went back to playing the old one. A very bad thing for a game that runs on donations.
He's essentially going to be "forced" to do so by his own conscience and desire to please his playerbase, even if he is fully within his rights to ignore them.
I didn't understand his thoughts behind this until I realized it already happened, albeit on a smaller scale. Quite a few people expressed shock that Regional Prospector didn't get updated for the latest DF version, and went back to playing the old one. A very bad thing for a game that runs on donations.
Indeed. And note that he coded in a built-in replacement for Regional Prospector into 39e... even if that wasn't in the planned dev notes. I.e. Toady read the protests on the forums, and took time out from bugfixing to add a new feature... even if he was planning to take time off for his other project(s).
He's essentially going to be "forced" to do so by his own conscience and desire to please his playerbase, even if he is fully within his rights to ignore them.
I didn't understand his thoughts behind this until I realized it already happened, albeit on a smaller scale. Quite a few people expressed shock that Regional Prospector didn't get updated for the latest DF version, and went back to playing the old one. A very bad thing for a game that runs on donations.
Indeed. And note that he coded in a built-in replacement for Regional Prospector into 39e... even if that wasn't in the planned dev notes. I.e. Toady read the protests on the forums, and took time out from bugfixing to add a new feature... even if he was planning to take time off for his other project(s).
Exactly. Regional Prospector was a fantastic idea cooked up by the community. Toady realized this and made a built in one.
Community comes up with idea. It's popular. Toady sees this, implements it himself. Everyone wins, no one loses control of anything.
3rd parties can only add to a project.
So, how is that any different than third party interfaces... This is the problem I see here. What are good third party tools and what are bad third party tools? Just because Toady doesn't provide an easier way to get to the interface layer? Making people use memory hacks to create tools doesn't inspire creative thought. It increases the barrier to entry.He's essentially going to be "forced" to do so by his own conscience and desire to please his playerbase, even if he is fully within his rights to ignore them.
I didn't understand his thoughts behind this until I realized it already happened, albeit on a smaller scale. Quite a few people expressed shock that Regional Prospector didn't get updated for the latest DF version, and went back to playing the old one. A very bad thing for a game that runs on donations.
Indeed. And note that he coded in a built-in replacement for Regional Prospector into 39e... even if that wasn't in the planned dev notes. I.e. Toady read the protests on the forums, and took time out from bugfixing to add a new feature... even if he was planning to take time off for his other project(s).
Exactly. Regional Prospector was a fantastic idea cooked up by the community. Toady realized this and made a built in one.
Community comes up with idea. It's popular. Toady sees this, implements it himself. Everyone wins, no one loses control of anything.
3rd parties can only add to a project.
It increases the barrier to entry
I know how that is... I have three friends that I thought would love the game but didn't give it it's fair dues. Maybe that's why I push so hard for some usability and interface features (that and I work with interfaces and training on a daily basis and it sickens me to see a good engine buried under this interface.)QuoteIt increases the barrier to entry
Goodness I forgot how HUGE that was until I got my friend to try it and then learned I had to teach him how to do everything (and I mean everything) to the point where I just said "Alright nevermind stop playing it. Ill tell you about it again once it is more finished."
I know how that is... I have three friends that I thought would love the game but didn't give it it's fair dues. Maybe that's why I push so hard for some usability and interface features (that and I work with interfaces and training on a daily basis and it sickens me to see a good engine buried under this interface.)
You missed my point. The last bugfix release for July was supposed to be 39d, and he was to take the rest of the month off to work on his other projects (possibly, projects that will generate income). Due to the volume of complaints about Prospector not working, Toady felt he had to "fix" it, and put in extra work in order to produce his version of Regional Prospector in 39e.
The game just wasn't design with true 3D in mind.Wasn't designed with it in mind? If you think about it, Dungeon Keeper didn't exactly take advantage of the benefits 3D has to offer. In fact, most games consist of 2D gameplay with 3D graphics. It isn't uncommon at all. Thus I don't see how this influences anything.
what would be the scope of the API? How much of the internals will Toady have to reveal? From the features being requested, it seems like quite a bit. What would stop someone from taking everything he's made and creating a competing game, asking for donations, etc?I've already given examples on what the scope could consist of and still hide the details. If you can be bothered to read them, just scroll back to near the beginning. The example I gave consists of no more ability than if you were to send keystrokes to the game as it stands now.
I seriously doubt most of the people asking for this are any better qualified to build interfaces than Toady.How so? Toady himself has already admitted he probably can't compete with someone else's interface. How would you consider it qualified? And in case you hadn't noticed, there are quite a number of programmers in this community. I'm sure a good number of them are capable of building an interface at least as good as what exists now.
And I'm sorry for presuming, but I seriously doubt most of the people asking for this are any better qualified to build interfaces than Toady. Would their results be a large enough improvement to justify all the risks?
Wasn't designed with it in mind? If you think about it, Dungeon Keeper didn't exactly take advantage of the benefits 3D has to offer. In fact, most games consist of 2D gameplay with 3D graphics. It isn't uncommon at all. Thus I don't see how this influences anything.
I've already given examples on what the scope could consist of and still hide the details. If you can be bothered to read them, just scroll back to near the beginning. The example I gave consists of no more ability than if you were to send keystrokes to the game as it stands now.
How so? Toady himself has already admitted he probably can't compete with someone else's interface. How would you consider it qualified? And in case you hadn't noticed, there are quite a number of programmers in this community. I'm sure a good number of them are capable of building an interface at least as good as what exists now.