Bay 12 Games Forum

Dwarf Fortress => DF General Discussion => Topic started by: isitanos on July 28, 2008, 02:16:27 pm

Title: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 28, 2008, 02:16:27 pm
UPDATE 2:
Toady has posted two detailed replies to explain his position. Here are links to the first (http://www.bay12games.com/forum/index.php?topic=21806.msg237594#msg237594) and the second one (http://www.bay12games.com/forum/index.php?topic=21806.msg238694#msg238694). Personally I'm satisfied with his answer and that closes the discussion for me.

UPDATE:
Let's try to keep all the flaming out of this, ok? There's a lot of misunderstanding and not ready the context going on.

I may have been wrong in starting the thread on two topics at the same time. It did cause a lot of trolling. But as things are, currently we are discussing two things:

SUMMARY OF THE CURRENT TOPICS (also posted on page 12 of this thread):

1. Would third-party interfaces hurt or help DF and Toady, and in what aspects?
- Donations
- Fan base/User adoption
- Toady being able to concentrate on what he likes doing
- Better interface in the short and long run

My personal opinion: third-party interfaces will only please (and increase a bit) the hardcore fanbase Toady relies on for a living, and allow him to spend more time on developing all the gameplay features he's planning. On top of that, those interfaces will be a testing ground for what interface suits better DF, and then Toady can implement his own by picking what he likes left and right.

2. What's the best technical way to allow third-party interfaces?
- Let people hack at the game as it is now
- Client-server separations through sockets (seems inefficient and hard to achieve, from some comments)
- Client-server separation through making the client or server a DLL
- If we admit that a client-server-like separation is best, is it better to have a documented public API to the server, or make the client open-source so it's kind of self-documenting.

My personal opinion (after reading many interesting advices on this thread): the best way to go would be a client-server separation through making the client (interface part) or server (game logic part) a DLL. Since Toady fears that maintaining an API for people will be too much work, I think a self-documenting open-source client would be a good solution. Things will break between versions (as they do now), but since Toady will have his own working client as an example, third-party ones will be easily and quickly updated. Lastly I suggest a license similar to the GPL for the client, so that Toady has full access to the third-party interface source code, and can integrate whatever he wants in his reference version without asking permission to anybody.

-----------------------

I wanted to add this to what I posted above:

People are making worst-case scenarios, such as Toady losing all his work and the project failing and so on.

I personally believe that third-party interface clients would only help, not hurt, Dwarf Fortress.

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.

In the case of an open-source client, the license could specify that Toady can use any code from derivative works without publishing his changes. Basically, people using the client source code would have to share copyrights with Toady. This would allow Tarn to use any source code from third-party clients he sees fit, but revert the license to closed-source for any future version at any time. Not that I think it will be necessary, but you can't be too safe in a case like this.

Still in this worst-case scenario, I think Toady could revert to the current third-party hacking difficulty by reverting to closed source and changing the source code quite a bit. He could reintegrate everything in a monolithic EXE. Hell, he could even obfuscate his binary (though I don't know much about those techniques). Of course he can't completely prevent people to make third-party clients like the ones that currently exists. Even though, if he officially (and therefore legally) forbade doing this, I doubt many people would disobey. True (read: donating) fans would be unlikely to use tools that don't have Toady's "benediction".

-----------------------
Original Post:
-----------------------

In the interview on Kwanzoo (http://www.kwanzoo.com/social-trivia/tarn-adams-interview-part-1-of-3.shtml), Toady mentions that "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."

I think this is worth discussing as a community. I see two things that could be feared:
1. Third-party interface becomes so popular that people follow its development more than Dwarf Fortress development (thus drawing away from Toady's only source of income).
2. Third party interface becomes so popular that Toady has to modify DF just to allow new features in that interface - the devs of that interface would be a bit like the current modders who always say "Add more raws!". If he doesn't do it, he's hurting DF's popularity since people use mainly that client to play the game. So, he's just been forced to collaborate with the devs of this third-party client.

Personally, Toady, I think your fears are unfounded because:
- You're already accomodating and working with other people: asking for and discussing suggestions with people on the forum, doing some things so the game can be more moddable, and so on. You just have to set the rules clearly so things stay at a level where you feel comfortable.

- What people are really interested in is the cool gameplay features only you can add. While mods and third-party tools are interesting to follow, they revolve around making the experience of playing your game better. Your future plans for the game are so ambitious that they will easily dwarf* any interest in third-party development.

- One of the main barriers to DF adoption right now is the interface. However, all the time that you spend on improving the interface slows down the development of some amazing element of the Dev pages. Worse, the more you refine the interface, the more effort you have to spend to update it later.

- 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:
-- 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.

- To avoid collaborating with other people more than you want, you should set the following ground rules:
-- You only improve your base version of the client as much as you need it to be functional. (It could look exactly the same as the current interface...)
-- You provide no support whatsoever to third-party client makers: you can break external clients them every version, it's their job to adapt.
-- You provide no documentation, people have to read the client source code to know how to make their own.
-- You don't accept patches unless specifically asked for, and you reserve the right to integrate any code from third party clients any time you see fit. If you choose the GPL as your license it grants you that right anyways.

- About the client part: I follow a lot of open-source projects, and from what I can see, collaboration with external people depends largely on how the main devs set the rules. For example, in the roguelike Dungeon Crawl Stone Soup, there are two main devs, and about five people with commit access to SVN. The rest submit occasional patches, and otherwise discuss the game and make suggestions, just like DF players.
Since people generally respect you a lot, I think they'll have no problem accepting the idea that you're the only dev - forever. Even if the client is open-source.

I'd like to know what people think about all this, and especially what you Toady think about my suggestions.

 (*pun intended)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SHAD0Wdump on July 28, 2008, 02:57:38 pm
Hmmm,Crazed dog?

And yes this is Toady's project,Lets try not to shy away from that fact and steal it from him.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: sorbius on July 28, 2008, 02:58:44 pm
So basically what you're saying is:

"hey toady, I know you like to work alone and that's cool, I think you make good arguments for not involving outside people in the project, but you should do it anyway, oh and while you're at it (and while I don't know anything about the game's code) why don't you make this huge epic change to the way the game works in order to accomodate the people you already said you don't want to working on the UI.  Don't be scared Toady, it's just exactly what you DON'T want to happen."



Title: Re: Third party interfaces and "Losing control of the project"
Post by: Ruttiger on July 28, 2008, 03:02:45 pm
While I love clients that make games more playable (I would have abandoned KoL years ago if it weren't for KoL mafia), I can understand Toady's sentiment.  It's his project and he shouldn't be working around clients or mods others have made.  At the same time, someone who wants to develop their client should be able to. 

But if that update the severely changes the engine comes along, it should be up to the client writer to make it work again, not Toady to make his new version similar to the old. 
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 28, 2008, 03:21:30 pm
Once the game is out of alpha and into beta (meaning feature freeze or something) I'm sure Toady will consider more third party addons and whatever.

Alpha means, exactly, that you can't trust that the next version will be anything like the current version. So locking yourself with someone else's code during that stage is a bad, bad move.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 28, 2008, 03:24:42 pm
I dont think that Toady should worry about this.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: puke on July 28, 2008, 03:30:57 pm
heh.  i love the feelings of entitlement that develop within fan comunities.

MMOs, p&p RPGs, small press or large press games, or basically anything with any size of fan base:  development needs to acknowledge or stay true to the fans.  respect personal ownership and simultanious anonyminity of fan-generated ideas posted on forums owned by the developer.  any code change that effects third party apps is an act of sabotage.  any change in gameplay is bound to anger 100% of the vocal minority; the best that can be hoped for is that half want more of the change and the other half want less of it.

I generally only read forums for games that are small enough and niche enough to have a pretty reasonable and mature community, but these sentiments develop on all of them.  so i think everyone should be able to understand some basic realities:

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 28, 2008, 03:37:37 pm
This is definitely one of the better arguments towards going with this route, but with a few changes.

Quote from: isitanos
- 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:
-- 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.
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.

However, rather than use sockets I would make DF into a programming library with a basic API to send commands. For example, designating a particular section of the screen with the current interface allows entire sections to be selected at once. That is a detail that could be handed to the interface, with the API simply having a command to select a single location on the map.

Code: [Select]
int Designate(DesignateType type, int x, int y, int z);
Thus to select an entire section, the interface would merely call that function over and over sending all the locations the user has selected. Similar things could be done for constructions, etc. If the game had to be paused before all the constructions could be done, it could call pause/unpause (or lock/unlock) functions. This would also have the side effect that the interface could allow designations without actually keeping the game paused. Rather, it could be set to pause/unpause only after receiving the locations from the user. It could very well do it so fast the user would never notice it were paused at all.

Quote from: isitanos
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.

Quote from: isitanos
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?

Quote from: Sergius
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?

Quote from: puke
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.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 28, 2008, 03:48:28 pm
Quote from: Sergius
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?
And that, is why you fail.
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 28, 2008, 04:03:48 pm
Quote from: Sergius
And that, is why you fail.
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.
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.

Adding new features though is quite different from breaking an entire API. Like the example for designations I gave above. There is simply no reason that should be broken if a new designation were added. Rather, it would simply have a new entry added to the enumerator DesignateType. And really, there is no reason that it would ever need replacement unless integers would no longer be large enough to contain all the possible location numbers.

Also you fail to notice that I never said anything about the graphical representation of the game. I also never said anything about a graphical user interface although allowing third parties to make their own interfaces would also include graphical ones. Although honestly I do think at least one third party interface based around ASCII would spring up to fix the disadvantages that exist in the current one.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: ervill on July 28, 2008, 04:17:43 pm
Hi there,

i played dwarf fortress some weeks, its really awsome but i had too much troubles with the interface after a while (the simple ones were monitor burnins, eyestrain) so i stopped playing it. That means my troubles werent with the graphics because i dont need graphics for a good game... but this is not the "presentation" thread, so i stop writing about that.

Im with isitanos on this subject. I dont see the sense, why today should be spend time on so "primitve" things like creating interfaces (alltought its an important task). Besides that, there are so nice window toolkits/ framworks whatever out there that make creating mighty GUIs/interfaces very easy (QT as one of the best: http://trolltech.com/products/qt) . There is no need wasting time to reeinvent the wheel. Sadly, most of them are only free of cost for opensource projects and i dont think its in the budget to license anything so an opensource client would be an really good solution.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 28, 2008, 04:39:24 pm
He's not going open source, ever. Stop asking the same goddamn question every two bit programmer asks.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: ervill on July 28, 2008, 04:54:32 pm
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.
Especially not, when Today perhaps wants to evaluate all possible solutions.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Qmarx on July 28, 2008, 05:24:48 pm
It depends on five things

-Will this make coding easier in the long run?
-Will this create more none-coding work?
-Will this restrain how the project will develop?
-Will this obligate Toady to fill other coder's wishes?
-Is Toady actually interested in making an interface?
   -Will coding the interface make game development more or less interesting?

Now, if Toady starts doing a UI, and finds the work extremely boring/irritating, the possibility exists that he'd outsource the UI work to other devs (he is, after all, doing it because he finds it interesting)

Until that happens, who knows?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 28, 2008, 05:25:31 pm
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.


Tell me why toady should work on an interface specifically for all of you expert programmers while he could be working on the game, or his presentation arc, which will cover all of this crap in the first place.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: sphr on July 28, 2008, 05:28:16 pm
disclaimer: i'm not here to argue. this may sidetrack a little... but just in case your are more interested in playing (and trying to find an easier way to play) than to preach about sw dev (no offence, but every sw dev knows that theories works perfectly only in theory, but I'm not here to argue).

So if you are interested in 'better' playing, here's a setup I improvised using 3rd party tools that I find quite good...

I play dwarf fortress on a dual screen setup.... well at first I tried to play it on a 2560x800 window across both monitor (had to blow up the tilesets) but after the initial excitement wears off, I realized that what I need is not bigger tiles, what I need is to see more 'tiles'.  of coz, df tile dimension being fixed, i had to attack the problem at the root.  why do I want to see more tiles?  more tiles = more information!   what i really want is more information feedback and better control...

Dwarf Fortress Setup take ##(lost count)
right monitor:
..top half DF at 1280x400
..bottom half Dwarf Foreman
left monitor:
..fullscreen Dwarf Companion

Dwarf Companion
Dwarf Companion, although a prototype (not advised to try to do any "writes"), reading information showing all dwarf names, profession, current job, skill (levels), able to sort on columns and ability to instantly zoom to any dwarf is great.  By comparison, if you want to say find out about the skill level of a dwarf directly in DF, you have to do a "u-[up/down]-c-g-[/*]" sequence to see the skill level of a SINGLE dwarf.

The heal and hurt function serves both as for beginners who just switched over from perfectionist gaming (who can't stand a single stain on their 'victories'.... let alone appreciating "losing is fun". don't worry, after a while, you'll join the second group) and those who played DF for a long time and aim for more ... 'interesting' ways to lose goals.  still, even for the second group, the 'cheats' sometimes come in handy to desperately rescue the almost finished 'domino setup'... (e.g. planning the perfect noble executing suite and then you find that the last noble just get mortally mauled by a wild animal... or healing that almost dead megabeast to keep it ard for more 'applications'...)    I don't recommend meddling with the rest as it seems unsafe at this pt (wait until it becomes more updated?).  Other useful reads include listing the class of required ingredients for a artifact.  no more waiting for dwarf to mumble at the workshop and transcribing the mumbles to paper.

Dwarf Foreman
Personally, i find Dwarf Foreman more indispensable than Dwarf Companion.  it allows reading/assigning of dwarf labour by profession names.  After I start using custom profession names to manage all my dwarves, managing them has never been simpler.  A single click will either turn on or turn off a labour for all dwarves of that profession name.  Example, say you have massive building job?  turn off all tasks for all 10 dwarves with "Builder" profession other than mining by just clicking a few times on a 'poke sheet'.  After your building project is done, turn the misc jobs back on with a few clicks.  compare this with the in-game part where you have to hunt down each "Builder" dwarf and scroll through it's job list manually to turn on or off the tasks. Foreman is already almost perfect, and quite robust too (never crashed or messed up DF).  If I really have to complain abt it, i'll have to be really picky, say that showing number of dwarves in a profession or not using slanted text for column headings (which sometimes make it hard to judge which column belongs to which job type).


both Dwarf Foreman and Dwarf Companion listed on the wiki (http://www.dwarffortresswiki.net/index.php/Utilities).

Improvisation.  Creative people simply cannot be imprisoned.
Maybe someday, when DF interface catches up, it will obseletes all these "helpers".  But in the meantime, we have the memory hackers (and tool dev), who should be enshrined on a smaller pedestal for decoding the human genome  mapping out the memory structure of DF piece by piece.  (I guess on the bigger pedestal, we have to put a certain somebody who created the 'human genome' in the first place... ;) )  Thus, Toady can choose to focus on enriching the game itself without trying to change the foundation of a standing building in a display of sparks and smoke.  (he can prob wait for a good time and opportunity when he wants to build a new building)

hope this could be useful suggestion to some people, though it is not for beginners (prob requires in-depth knowledge of game mechanics, which translates to: learn to play the game raw without any helpers first.  Then you can maximize the potential of the helpers later.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Dasleah on July 28, 2008, 05:44:48 pm
Random Joe: DF should be Open Source! Or at least the interface!

Toady: No. I've said it plenty of times before, it's not going to happen, for reasons that I've explained dozens of times before.

Random Joe: BUT OPEN SOURCE *froth at the mouth*

Repeat ad infintium et naeseum.

(yeah, yeah, my latin's probably screwy)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Doppel on July 28, 2008, 05:55:36 pm
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)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 28, 2008, 05:59:51 pm
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)

Nop, I guess its more about the OpenGL engine what DF is using...but I might be wrong.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Riemann on July 28, 2008, 06:04:06 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 28, 2008, 06:08:35 pm
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.

Yeah so its the engine. Its awesome that the limitation will be removed btw. Oh boy I cant wait for the Presentation Arc also.  ;D
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Doppel on July 28, 2008, 06:12:34 pm
Wow, i didn't know this, thats great news. Strange how everytime i visit the forums i get to know stuff wich makes me happier about whats to come. And its already so great.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: sphr on July 28, 2008, 06:24:54 pm
at that time, opengl doesn't exists yet...  i think it relates more to the old days where students uses dumb terminals (vt100?200?) with only green colour text with a backend "super" computer that probably has a fraction of the processing power your modern microwave has.

a few things about the old days:
-terminal screen size is fixed. the golden ratio of harmony is 80x25(24?)
-there's a thing called "cursor" and it has nothing to do with rodents.  mouse hasn't been invented yet.  it was later that mice almost stole that term.
-text general flows down (moves upwards).  trying to display things at fixed screen position was a black art.  curses was one of the crowns of those arts.  it made "graphics" possible....  a well known child is called rogue.
-font is not square.  (which is why when a screen tile is made square, it becomes elongated and no longer fits the aspect ratio... though two 4:3 screens would fit it nicely :) )
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Doppel on July 28, 2008, 06:33:43 pm
I was pondering about tiles the other day, and what i was thinking was having 2 2:1 tiles next to eachother wich would act as one tile if needed (a square room would be a square) and when used for fluid text it would use just the one tile per symbol. Might be a dumb idea though.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 28, 2008, 06:37:18 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Puzzlemaker on July 28, 2008, 06:42:00 pm
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.

^^Agreed 100%
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 28, 2008, 07:32:31 pm
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.

Well said...not to mention that Toady IS listening to his community. He is constantly monitoring the player's feedback.



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.

Mate what about GTFO? So you are not trying to sound threatening eh? Think before you post next time.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 28, 2008, 07:33:48 pm
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!)  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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: grelphy on July 28, 2008, 07:38:44 pm
Alright. I want nothing to do with this argument (there will be no winner), but I'm seeing a lot of misunderstandings I'd like to try and clear up.

First: Proponents of an external interface are trying to help. This is not some sinister project to steal the source code to DF. It is widely acknowledged that the interface is one of the major barriers to new players. Toady is busy bugfixing or implementing gameplay awesomeness, and the rough (to put it lightly) state of the interface is left to sit in favor of elven cannibals, demons loaded with kilotons of bone trinkets and massive three-way worldgen wars. I don't think any here would argue that the interface is more important than the gameplay, and so potential converts--lots of them--get scared off by the interface and are likely to continue to be scared for some time. External interface proponents are suggesting a way to improve the interface without taking Toady's attention away from the gameplay. Sounds like a great idea to me.

Second: Toady has made is position on this sort of thing very clear. He doesn't want outsiders working of DF. That's a perfectly reasonable position, and arguing with him about it will get you nowhere. It's his decision to make. I think suggestions are wonderful things (and apparently he does too--we have an entire subforum for them, and good ones get implemented with a frequency I've never seen in any other project), but y'all have to stay realistic. Just like he's unlikely to implement elven rocket launchers (if someone were to request that), he's also unlikely to implement an API for a third-party interface; in fact, he's said this already.

Third: Y'all need to stop flaming each other. It's really not that big of a deal, and besides, Toady will decide what he wants to do. Your lovely Internet argument will make no difference at all. I know how easy it is to get worked up over this stuff (I've got some guy on Reddit trying to convince me that GNOME == Win95... RAAAGE), but really, try to calm down. It's not that big a deal. (http://xkcd.com/386/)

And finally... I dunno about the rest of you, but I'm in this for the game. There is nothing else with this level of depth. As far as I'm concerned, the interface could start taking giant steps backwards and the game would still be worth playing. It's worthwhile to keep that in mind.

(And finally finally: Toady, I would like to request elven rocket launchers. I think that would be totally awesome. KTHXBYE)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 28, 2008, 08:38:57 pm
They assume that Open Source is the end of the world.  (Microsoft has taught them well!)

Who here has been saying anything against open source, or spewing Microsoft propaganda?  There shouldn't be any need for  disingenuous rhetorical tricks here--we both want what's best for the game, even if we disagree on what exactly that means.  I won't frame your opinion as an ugly stereotype, so please don't do the same with mine.

Quote
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.

There are a few assumptions there I can dispel: I don't mind a changing interface, I just don't see a need for compelling Toady to give up a core aspect of the game to modders in order to achieve it.  For every resounding open-source GUI success like FreeCiv, there are hundreds of failures, many of which are killed by the huge administrative task of wrangling disparate, ephemeral developers who aren't necessarily tied strongly to the project. 

Also, it's not simply a matter of asking him to abstract the interface, but to maintain that abstraction through updates, some of which may rework the game's mechanics substantially.  It's extra work on the front-end before all the mechanics are even worked out, and thus may have to rebuilt several times over.  Also, let's say Toady implements this separation, but fails to update it perfectly for a release: people will complain that their favorite client no longer works, and the makers of those clients may start making demands for fixes and getting full of themselves, feeling they are an integral part of the game.  Plus, a whole new host of bugs will be created of questionable ownership--is it Toady's bug?  Is it the modder's bug?  Who knows?  If the modded interface doesn't work, where does the problem lie?

I've seen these issues spring up in many a modding community.  Again, no one's heart is in the wrong place, everyone loves the game and wants what's best for it, but those are some problems that can arise.  In the end it's Toady's game, and if he doesn't want the administrative work of opening a major element of his game to outside modders, I have no problem with that and can understand it.

It -can- work out to everyone's benefit as you say, and speed development time while adding quality, but it doesn't always.  Not every project is right for it, and not every developer wants to take the extra work on.  Hatred for open source and blind worship of Toady isn't the only possible motivation for disagreeing, in other words.  Peace.  :-)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: RPharazon on July 28, 2008, 09:13:54 pm
Imagine this:

First, you spend all of your years since you were a boy to developing the game that would become Dwarf Fortress.

Then, once you're established as a math professor, you decide to quit the job, and then risk it all by releasing an ASCII game that's immensely complex and untested, for FREE, and hoping that it can sustain you.

It is the only reason that you are still alive, that you still eat and drink and breathe. It sustains you, and it's your dream job. People like it, you like the people. It's a nice symbiotic relationship.

Then some programmer constantly asks you to release the actual game source. The foundations of the game. You could do it, of course.

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.


Dwarf Fortress isn't merely a project that Toady is releasing for fun. It's his job. If he wanted to, he could have not released it in the first place and he'd still be working as a professor.

At least then he wouldn't have to deal with people breathing down his neck all the time.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Syreal on July 28, 2008, 09:18:25 pm
Going to pipe in . . .

What's wrong with the interface? Perhaps I don't understand because I only play adventurer?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 28, 2008, 10:02:39 pm
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
Lack of clear, defined standard keys and interface metrics.
You could have more than 21 tiles tall by whatever wide allowing you to see more of the map.
View the game in Isometric, 3D, first person, or flat 2D tiles depending on what you prefer
Ability to add more variation in tiles

These are from the fortress mode:
UP/Down in some screens vs. +/- in others
Designate blocks to dig by setting a start and end point vs hitting HKMU to resize construction areas
Usable, sortable, and filterable lists for selecting items, people or resources
Easily definable standard build material
Templated building without the need of a keyboard macro program
Quick and easy access and modify all dwarves professions, current task (kind of falls in my list option...)

I haven't played adventure all that much, but when I did play, I died of thirst trying to run to the quest that was WSW or something.. no clue that there was a quick travel:
Better compass display
Better map
More intuitive signifier that you can fast travel
Better quest/goal interface.  Never really knew what the hell I was doing.
Quickly and easily equip or remove items, eat food, drink, etc
Visually see in an interface item how your health, body parts, etc are doing without having to spelunker into the vast number of keys to figure out which is which

I could go on, but those are the major complaints I have...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mithaldu on July 28, 2008, 10:17:20 pm
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.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Nukeitall on July 28, 2008, 10:33:21 pm
Well, whatever happens, Toady has his acolytes no matter what. I'm on board for the long haul.

I can understand a man with a vision. A man with a goal. He keeps it to himself because he wants to keep it "his" vision. The minute, the very second, someone forces or leverages him into changing his vision is the moment the point of the entire project is lost. Because it is not his anymore.

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.

What I'm trying to say is this - Dwarf Fortress is a single man's mad goal and purpose. It is his fey mood. We are all just pedestrians and witnesses lucky enough to be present as it is being created.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 28, 2008, 10:46:14 pm
Quote from: Anu Necunoscut
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.

Quote from: RPharazon
Then some programmer constantly asks you to release the actual game source. The foundations of the game. You could do it, of course.

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.
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.

Sometime around the early to mid 90s, a game creation system popped onto various BBSes, FTPs, etc. It went by the name of MegaZeux (http://en.wikipedia.org/wiki/MegaZeux). The author was an 18 year old who also was a fan of a GCS called ZZT (http://en.wikipedia.org/wiki/ZZT) produced by a small company (at the time) in Maryland called Epic Megagames. He originally decided to code the game with the goal of creating a much improved successor to ZZT.

He succeeded certainly in the improvement side of things, giving it a vastly more capable scripting language over ZZT, modifiable ASCII through an interrupt hack, sound using Amiga-style formats, etc. He released it as shareware giving away the full GCS itself with the actual shareware part being the official games he produced. As a couple or so years passed he improved it - adding more commands to the scripting, raising the limitations, etc.

Eventually he lost a piece of the source code through a computer crash (ironic because ZZT's source was lost the same way) and thus development ceased for a while. Eventually he decided to release the entire GCS under a license - the GNU General Public License version 2. At the time the community consisted of about 1,000 members with a couple hundred being heavily active. Eventually one of the more knowledgeable developers (Gilead Kutnick - who currently develops an emulator) ported it to Windows and rewrote the source code almost completely from scratch fixing tons of problems and raising the limits tremendously.

As of now MegaZeux has been open sourced probably about six to eight years. The question - was it forked? Yes it was forked several times. I forked it myself adding minor commands in various spots. Were all the forks minor? No they were not - in one more recent case the ASCII was replaced with textured OpenGL quads.

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.

Here's another question. Was the move to open source a smart one? Yes. The game was originally coded in DOS. It has since been ported to Windows, Mac OS X, Linux, Amiga, PlayStation Portable, Nintendo DS, Nintendo Wii, and GP2X.

I'm not saying Toady is obligated to open source DF. He can do what he wants with it. What I am saying is that the fears he and others have aren't too likely. There are after all two types of forkers. Those who want bragging rights and those who, for the most part, aren't satisfied with the game. First off, who is going to want to brag about a modification to an ASCII game? Not too many people. Second, who isn't happy with the changes Toady has been steadily bringing? Once again, few.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 28, 2008, 11:06:31 pm
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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 28, 2008, 11:15:20 pm
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.

That's one of the points I would have liked to make. Forks usually don't live long unless a project has been neglected. Otherwise, people regroup around the developer or developers who are the heart and soul of the project, just like Toady is for Dwarf Fortress. In the case of open-sourcing only the client, like I was suggesting, the risk of DF "slipping out of Toady's grip" is pretty much zero.

Also, I'd like to point out that every release of Dwarf Fortress breaks the memory-hacking third-party tools, as well as the mods, some of which are never updated. Do we see any bitching in the forums about that? I haven't. So I don't see why there would be more bitching in the event Toady made things a little bit easier on third-party developers.

Some people on this thread seem to assume Toady has to jump through large hoops in order to achieve client-server separation in his code. Actually, since he intends to overhaul the interface at some time, he could make this change at the same time, and I believe it would be good programming practice. It would make his job easier in the long run by making the game and interface logic less entangled.
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 28, 2008, 11:22:44 pm
Truly, people are just asking for an easier way to do what's already done or at least possible after a certain amount of fiddling.

You can create a different (say, isometric) interface if you know exactly what to look at in the memory. Keep in mind: I'm saying it's possible in the sense that someone might be able to do it, not that it's easy or that it has been done before.

As soon as someone does finds out the necessary information, however, the userbase will start creating their own interface mods. Dwarf Companion, Foreman and Regional Prospector are already interface modifications achieved through hacking the memory without touching the source code itself. Playing with DC, DF or RP (which is now superfluous), you get vastly superior interface options while playing exactly the same Dwarf Fortress as everybody else. And again, there is nothing being changed in the source code. So much so, in fact, that everytime a new feature that changes the memory addresses is added, pretty much every third-party application has to be updated to fit it.

So what people are asking for is more accessibility in altering the input and output of the compiled, running program, not access to the source code. Memory hacking is not a reliable, not even very feasible, way of doing things in large scale. An API would work. Separating interface and core would work, too.

And speaking of splitting the game into client (interface) and server (core), the idea is more or less like this: Toady works on the server and his own version of the client. He adds new features to the server, and changes his own client as necessary, which is pretty much how he does now. The difference would be that, with more modding support, people interested in making interfaces would know what they'd have to do to plug their own clients to the server. And that is the open-source bit: telling people what, exactly, the data streams or the memory addresses provided by the server would do. His own interface could be as closed-source as the server, no one would ever need to see the source code for either, as long as they knew how to interact with the program.

And of course, with every change in the server/client interactions, all the third-party developers would have to adapt their own clients. But that's just expected, pretty much every engine update in every game breaks something in mods unless it was specifically made to be compatible with everything (I remember some of woes modders had when Source was brand new).

Doing that separation between server and client would require both extra programming effort and documentation. Toady might not do it because he's not interested, or because he doesn't think it's worth the effort. And that's perfectly fair: his project, his rules. But assuming that it would require any part of the source to be released, or that it would chain him to someone else's work (which is actually quite the opposite) is flat-out wrong.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jifodus on July 28, 2008, 11:32:16 pm
Omega2 posted before I posted this, some of it will probably be the same.

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.

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.
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.

Also, to those who were complaining about the 80x25 screen size, it's actually because Toady initially hardcoded the interface. Back before the Z-level update, Toady said he was starting to change the UI over from being hardcoded; that he'd work on a couple interfaces every release. Then once they've all been migrated, he'd release the changed UI (I think, it's a bit fuzzy now). Now, I have no idea if Toady has continually been upgrading the UI*, but it will eventually not be limited to 80x25.

* I'm actually under the impression that Toady is proceeding with the interface changes, we just don't really get to see it, however, if you've noticed the past few "major" versions (even some minor versions) there have been interface changes, and I have no doubt with the minor changes, Toady has made some big changes that we have yet to see.

In regards to 3rd party interfaces. I believe that we already have well qualified 3rd party interfaces. They themselves might not be the best, they break every version, and they can't do everything, but seriously, Toady doesn't have to release any code or provide any interface for 3rd party user interfaces, he doesn't really need. Sure it'd be highly convenient, but they'd still break every version. They'll also require updates every version to advantage of feature 'X' that everyone wants.

(This was added after I wrote the above, so forgive inconsitencies.)

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.

1) It limits the area of operation and I think that's a good thing. If each front-end requires that a full interface be made available for even reasonable usage of the game, that'd make maintenence a flat out pain, nearly impossible for any reasonably complete interface to be provided thus the only interface of any worth would be the original.

2) It's easier to maintain. Yes, there are structure breaking changes, sometimes even version to version. But the tools and their underlying concepts remain the same; all it takes are new offsets and addresses and they're back in working condition.

I wasn't going to generally publish it, but if you go look at the parent directory of where I'm stashing the memory offsets for 3Dwarf/dwarvis/map_extract you'll find the code I'm currently using to update the addresses and offsets. It's far from perfect, and I've had occasions where the code I've been checking changes and breaks the finder, but it's more or less unchanged (except for the offsets in creature, I added those starting from v0.28.181.39a; and offsets for map data which was added release d or so).

Also, if analyzing code is required, what's wrong with analyzing the compiled exe directly? Why must it be in source form?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 29, 2008, 12:54:51 am
Also, if analyzing code is required, what's wrong with analyzing the compiled exe directly? Why must it be in source form?

True, it doesn't even have to be in source form. Just having the client-server architecture would probably be enough to ease 3rd-party client development. But, I don't think that open-sourcing the interface code is precisely what Toady dislikes or fears. It's the growing prevalence of 3rd-party tools. So if we admit the fact that we want more 3rd-party stuff, why not open-source the relevant code, since it doesn't contain any of Toady's "trade secrets".

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mr.Person on July 29, 2008, 03:48:10 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Angry Lawyer on July 29, 2008, 05:18:08 am
Problem with allowing other people on board - Toady lives on donations.  If someone does a load of work that everyone adopts, that person's going to want a cut.  That means Toady has to start eating baked beans every day of the week, rather than just most days.

-Angry Lawyer
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 29, 2008, 05:36:11 am
The amount of hostility and in some parts arrogance in this thread is really annoying. Some people really need to chill here. As others pointed out, people only wanted to help, so please respect that. We're all fans of this game, alright?

Especially upsetting is hostility against statements that haven't even been made (I guess that's what they call a straw man argument?). This thread wasn't about making the project open source! It was about making an API. Is Windows open source because there is an API?

As for Toady's opinion, he commented several times on exactly this issue not too long ago in this thread (http://www.bay12games.com/forum/index.php?topic=5494.0).  The way I see it from there and the recent interview is that Toady is wary of the whole third party interface idea, but he *does* at least consider/think about the various options. Thus, there is no reason to act fanatical for both sides of this argument.

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.

Personally, I'd be really curious to see about what the community could create in terms of interfaces, so it might be worthwhile to search for solutions. Again, read the above thread, there are some arguments about the legal/licensing side of it. Also, maybe there is a way to make it so that the basic API (XML files or whatever, I'm not an expert here) or interface files could easily be updated by anyone in the community and then be put on the Wiki minutes after a new DF version is released or something...

EDIT: typo
 
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 06:27:05 am
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.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 29, 2008, 06:38:31 am
Yes, and a certain fraction of the general activity/interest/demands of the player base and the community in this forum will revolve around the interfaces, much more than it is already the case with the utilities. Thus, even though he can basically ignore these things much as he does now with the utilities, he will have given away control over certain aspects of "his baby". Again, personally I'm not against interfaces, because I know about what great things a community can create. But I think you need to acknowledge that there are certain issues, for which you could try to find solutions. It will remain a trade-off in any case.

Edit: clarification
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 06:49:16 am
Of course. There are always tradeoffs in any options. Keeping the way things are, the game loses potential players due to clunky interface. Adding more modding possibilities, the bug reports trickle in slower after an update.

In the end, regardless of how much we discuss it, it's his choice to make. I'd love to see what people could do with a true API (and I wish I was good enough as a programmer to try my hand at it), but if Toady won't do it, for whatever reason, we'll just have to work with what we already have.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Syreal on July 29, 2008, 07:12:38 am
View the game in Isometric, 3D, first person, or flat 2D tiles depending on what you prefer

Please tell me that was a joke.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 29, 2008, 07:28:14 am
View the game in Isometric, 3D, first person, or flat 2D tiles depending on what you prefer
Please tell me that was a joke.
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Capntastic on July 29, 2008, 09:01:02 am
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)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 29, 2008, 09:16:37 am
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.

JADE? Ive never heard about it, any link to that project?

*edit*
Nevermind search can do wonders.  ;D
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Doppel on July 29, 2008, 09:30:13 am
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)

Ironically that Spoiler tag spoiled it all.  :D
Title: Re: Third party interfaces and "Losing control of the project"
Post by: sorbius on July 29, 2008, 09:48:21 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 29, 2008, 09:55:22 am
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)

Give the guy a break, it's a difference saying you should have influence on the development on a game because you donated (even if many people would disagree) and what you describe. Also, the post you are referring to is three pages earlier, and not that relevant anyway. Could we stop the hostility?

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.

If one more person mentions source code here I'm going into a fell mood.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 10:06:47 am
Everybody, repeat it with me:

No one is asking for any source code.

Again:

No one is asking for any source code.

One last time:

No one is asking for any source code.


What's being asked is a more practical (or at least better documented) way to mod the interface. No Dwarf Fortress source-code is involved in that request. No one is asking for DF to become open-source, no one is planning to steal Toady's game. So please, stop mentioning source-code.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: FlexibleDogma on July 29, 2008, 10:08:15 am
My 2 cents:
It would theoretically be possible, right now, for memory hackers to read everything in memory and create a full 3rd party interface.  It would require a fairly beefy machine to keep DF and the 3rd party GUI synced and perhaps some other voodoo, but how DF is laid out in memory is fairly well understood by folks who are a lot better at reverse engineering then I.  Of course updates would probably break this client each time they happened, but everyone would know that like they know for all the OTHER 3rd party tools. 

Would this be fundamentally different then using message passing between a DF-Server and DF-Client?  I'm not saying that Toady should spend his time splitting DF into a server and client portion, but 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.  There would be the stock-GUI for folks that love it, and there would be the possibility for people to create all sorts of wild and crazy interfaces should they take the time to do so.  Of course updates would probably break these 3rd party GUIs as well from time to time, but everyone would know that's the way the cookie crumbles.

*shrugs* I just don't think the idea of 3rd party interfaces is abhorrent as some have made it out to be.  Of course, if someone was to DEMAND that it happen, well that would be pretty silly, but I don't see anything wrong with an honest discussion of the idea.

(Note I didn't say jack-squat about open-sourcing the project.  Toady's code belongs to him, and while folks can make suggestions he is ultimately responsible for the direction of the project.)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: sorbius on July 29, 2008, 10:10:24 am
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...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 10:18:56 am
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.

Take the Source Engine, for example. It's NOT open-source, but it has a collection of tools that allow modders to create and change their own mods. I'm willing to bet 99% of the modders in the Source community have never seen a single line of the core engine, yet they can create things as varied as Insurgency and Dystopia.

EDIT: By the way, even if the client was open-source, it wouldn't do jack. So people have access to a program that has the potential to make pretty colors appear on the screen, but not to the input that can actually make those colors appear, nor how to make them do what they want. It's like having a door: you can decorate and fiddle with it as much as you want, but without its doorframe it's useless in its purpose.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 10:34:31 am
Releasing the interface as a stand alone source would only encourage more people to ask for the game itself's source. It's a domino effect of "He got what he wanted, why can't I?".
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 10:37:04 am
Sure. Valve also released their entire source code after giving people mod tools, right?

Not really, no.

If people ask for the server to become open-source, Toady can just say: "no". No one can force him to release any part of his code, so if all he wants the players to have access to is the client, then that's all he'll give us no matter how much the users scream. Pretty much like it is now, really. Changing his mind once isn't a sign of doing it all the time.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 10:38:51 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Doppel on July 29, 2008, 10:53:17 am
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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 10:57:36 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 29, 2008, 11:06:41 am
Quote from: Capntastic
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.

Quote from: FlexibleDogma
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.

Quote from: Torak
It's not that far off in the future, maybe a year or so off.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 11:10:57 am
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 say year or so in speculative terms. I know as well as anyone else, which isn't that much. Toady said he's going to do the presentation arc long before 1.0, it was actually next on the agenda for a while until he decided not to constrain himself to one arc. I also never said that you were complaining, that's why I put 'complain about/change the interface'.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: FlexibleDogma on July 29, 2008, 11:15:25 am
...
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.
...

Off the bat I'm sure you're correct, I was just thinking that starting to split the program up so it becomes threaded could be a big step.  Yes, the starting chunks would be "UI" and "Everything else", but it's a start.

@Torak: Hrmm, the quote tags got borked in that message, I didn't say that. :P

EDIT: I type English good.  I fix to better English.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 11:20:42 am
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.
Wait, but you just did the same thing here:

http://www.bay12games.com/forum/index.php?topic=21870.0

Besides, that reasoning can be applied to every single suggestion/complaint in this forum: "wait until the game is further developed". It doesn't stop modders asking for new creature tags, or for normal players to ask for alternatives to wood in bed construction. Why should it stop us from asking for more interface support?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Blacken on July 29, 2008, 11:21:25 am
I don't see whats wrong with being eager to push this project forward, isn't that a sign of positivism and that people care for this?
It's not your project to push forward.

There are also some pretty good technical reasons why a client/server model isn't exactly ideal. For one, it's pretty slow; IPC is not fast no matter the operating system; it's surely fast enough for non-immediate apps (ones that aren't updating > 100 number of times per second), but I'd bet heavily on a performance drop. While this is partially alleviated because of multi-core computing--though, for a game, you have to have some way to handle mutual-exclusion locking between processes, which is decidedly nontrivial to do in a decently-performing way. That abortion called FreeCiv can get away with it without problems (haha, FreeCiv not having problems, I must be an idiot!) because the game's turn-based and doesn't have to do immediate updates; Dwarf Fortress does. (Yes, I know about memory mapped files and synch objects. They're still very problematic--for example, how do you make the server yield for an update cleanly? What about when a third-party client chokes and dies?)

Another problem: it's not cross-platform. Windows and OS X don't use anything remotely near the same mechanisms for IPC. WINE doesn't support the Windows or UNIX IPC methods worth a crap, either. Yes, you can do shared memory for both, but it doesn't make a lot of sense to start letting the Windows and OS X codebases diverge a lot for little benefit (yes, this is "little benefit," you're being feature-champions and feature-champions totally suck).

While it'd be nice, I guess, to see it, I don't see a good reason for Toady to do it (either for the health of his project or for technical reasons). It's his project, he calls the shots, end of story.

Quote
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.

Quote
First off, I seriously doubt its only a year or so away. Maybe changes the size of which he is currently making. But a completely remade interface is more likely closer to version 1.0 than 0.3. Also I fail to see how suggesting possibilities for third party interfaces is complaining.
This is an idea that sucks technically and sucks from a community/social standpoint. The bunch advocating this are being, in large part, whining jackasses (threatening a dev with "no donations" doesn't work, by the way, and would ensure that those of us who actually respect a dev's work will donate more; I'm just waiting on a project to clear before I send Toady some greenbacks). I can't for the life of me understand why you want Toady to do something self-destructive like this.


(Disclaimer: I'm an open-source dev, I write closed-source software, I can't make a water tower in DF without flooding everything, etc. etc.)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 11:22:46 am
Wait, but you just did the same thing here:

http://www.bay12games.com/forum/index.php?topic=21870.0


Excuse you? In what way does asking for multiple level designations have to do with anything other than trying to prove a point of yours which has nothing to do with the discussion?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Blacken on July 29, 2008, 11:24:42 am
What Torak asked for is an improvement to the game (hell, just save Z-level with the designation start/end and iterate). What you're asking for is for a radical restructuring of the game that is likely to diffuse the focus of the community.

Sing it with me: one of these things is not like the other!
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Doppel on July 29, 2008, 11:26:52 am
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.

Quote
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 29, 2008, 11:28:22 am
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...

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.

By the way, Toady has published the source of some stuff, such as Kobold's Quest, if I'm not mistaken. So it's not as if he was some kind of radical anti-open-source guy. He doesn't want people to steal DF, but I'm not sure he treasures that much his interface code... the real jewel is in the game logic.

About the technical aspect of things, I mentioned sockets as an example. If it hurts gameplay under Wine or MacOSX, and there's no way to find a cross-platform library that abstracts the sockets functionality, it may not be the best choice. There are alternatives, such as the server being a DLL that's called by the client (or the other way around).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 11:30:00 am
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.

All that, regardless of the content of the suggestion. If Toady reads this and doesn't find the idea interesting, we just wasted time and keystrokes. If he does fish any good concepts from it, then it's good enough. We are tossing ideas out, ideas he can simply ignore, not grabbing him by the collar and demanding he gives us full access to the code until midnight or the cute little rabbit dies.

See what we are coming up with here? Suggestions in good faith, not demands in the name of past donations or whatever.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 11:33:24 am
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'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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jifodus on July 29, 2008, 11:34:51 am
Quote
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.
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.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mithaldu on July 29, 2008, 11:36:14 am
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. :|
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 11:44:48 am
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'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.
Relax, you're being paranoid

Now, read the paragraph below that one. DF is still a very early alpha, everything might be remade to Toady's specifications. Why should you be asking for multi-level designations if Toady might be going to do the same thing in the presentation arc? Why should you ask for a more complex and efficient health-care system if it's already in the plans? It's the same reasoning. Doesn't matter how much work would be involved in implementing a sugestion, or how far down the development line it is (or if it is in the development list at all!), as long as it's relevant to the game it should be discussed without "let's talk about it later".

Toady might just ignore the whole discussion, maybe even post a little note saying "it's not going to happen". That's okay. But at least the idea was put forth. 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. Or if Toady ever changes his mind, he can use concepts taken from the discussions here as a basis or component to whatever he feels like doing. That's what the suggestions area of this forum is for: inspiration and player feedback.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: ervill on July 29, 2008, 11:46:27 am
EDIT:...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 29, 2008, 11:48:08 am
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

We must be using two different kinds of internets. I see no whining from that side, but a lot of hostility and even insults (see above) from those who are against (any discussion about) this interface issue.

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.

And who said that he must do anything? Apart from (maybe) the one single guy on the first page who talked about the donations?

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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 29, 2008, 11:51:27 am
Quote from: Blacken
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.

Quote from: Jifodus
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.

Quote from: Mithaldu
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.

Edit: Attempted to remove some hostility in an attempt to extinguish the flames of war. ;D

Quote from: Omega2
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. ;)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 29, 2008, 11:54:19 am
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. :|

You know, Toady reads everything on this board. So if you think that this discussion is so useless, why don't you save him some reading time by not posting in this thread? And that applies to everybody else who seem to think they are Tarn Adam's personal bodyguards.

I started this thread to discuss an idea, not to demand anything from this game's creator. So, more (objective) input on today's topic would be appreciated: would the appearance of many popular third-party clients really hurt Dwarf Fortress, or would it rather benefit the game and Toady?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 11:58:39 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 29, 2008, 12:05:14 pm
Quote from: Torak
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 12:09:53 pm
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?

The idea is wrong (making a topic and not expecting an arguement), you cannot have a discussion about something without two opinions showing up and thus being argued, and if that didn't exist, there'd be no reason to make the post in a requesting manner(Such as the one being argued for/against here).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jifodus on July 29, 2008, 12:10:15 pm
Quote from: Jifodus
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.
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:
1) we don't have to cache anything
2) all the creatures & items don't have to be resent or anything
3) Oops, why'd the game crash. 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.

So no, there is more overhead than you think.

While yes, I would love to create my own interface, Toady has said in the past he doesn't feel comfortable releasing the internals of the DF engine. So until Toady himself says that he will release an interface, I'm not interested in seeing these ten thousand* threads that ask/suggest/question why Toady doesn't make the game/interface/whatever open source/documented/whatever.

* Ok, there's only be about 10 threads, but they all end the same way, Toady saying he's not going to do it.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 29, 2008, 12:29:43 pm
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.

Dude... I meant "argue" in the sense of fighting about something in a hostile fashion. Now you're acting as if it was about not having any discussion at all. As for "flaming", I think your posts are unnecessarily hostile, starting with the very first ones (page one).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 29, 2008, 12:36:13 pm
Quote from: Jifodus
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.

Quote from: Jifodus
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.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 29, 2008, 12:59:19 pm
Yeah the way I see it an API would just mean organizing the interface functions and putting them into a dll or something. It's not fundamentally different from what happens now, but it *would* involve quite some work to organize it properly.

Also, rereading the other thread (http://www.bay12games.com/forum/index.php?topic=5494.0) a second time, there might be another issue which Toady pointed out. 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)...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 29, 2008, 01:08:18 pm
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.

Like the construction example I gave earlier. The API would have the ability to request it be built but not force it. The game would still retain the logic as to whether or not to allow it to be built. And if it said it couldn't, the API would have to go along with that decision. Even something like Regional Prospector could be prevented if the API doesn't have the ability to "see" hidden features.

At any rate I'd put off implementing something like this until Toady is ready to make a complete rewrite of his interface. Then, whether or not he wanted to allow others to use it, he could implement a system like I've mentioned. Doing so would allow him to make later changes to the interface without having to dive into the game logic to make it work.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 29, 2008, 01:21:58 pm
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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 29, 2008, 01:38:51 pm
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.

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.
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.

No synchronizing threads would need to be done.  The world would likely sit off in a class of it's own, the rest of the game would send a request to this "world object" for access to specific tiles.  Upon getting the request, a check is made to determine if those tiles are in use, stalling the waiting process for a few ticks for the other process to release.  If they are not in use, the process is a minor addition to the current methodology's CPU usage and thousands of times more scalable.  Worst case scenario, you go to build a workshop and a few dwarfs have to move out of the spot you are trying to place the shop before the "shop placing thread" has access to specify the build order.  If any other dwarfs are trying to gain access to those same tiles, they wait in line like everything else.  In a way, this emulates/replaces the current collision detection methods that slow dwarfs down now when they are all trying to cram down a narrow hallway.

Edit: I should clarify.  It wouldn't replace collision detection.  It would give a similar "hiccup" to the movement of dwarfs colliding like they do now.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Blacken on July 29, 2008, 01:58:55 pm
Quote
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.


Quote
Frobozz:
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.
That's preposterous. Turning his game into what amounts to a library to suit you? Not likely.

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.

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).

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 29, 2008, 02:11:33 pm
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).

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.
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.)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sindai on July 29, 2008, 02:52:24 pm
The only performance-intensive real time games I can think of that allow extensive interface modding do it via scripting language. Lua is the first one that springs to mind, since both Supreme Commander and World of Warcraft use it.

There might be a counterexample out there, but the body of existing games that allow this kind of thing seem to support Blacken on this. Has anybody actually used the multiprocess or API models for this before?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Dr. Melon on July 29, 2008, 02:55:20 pm
I think a "skin" system would work.

Then people could design their own UI's and such, but Toady still decides the base framework and how far that can go.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 29, 2008, 02:57:04 pm
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.

It's not necessary to resend everything every frame: the client asks each frame for the specific region of the game he wants to render, and gets back only the necessary info, i.e. the visible objects and creatures in that region. This keeps Toady's data structures nicely out-of-view, and the client doesn't even know about hidden chasm creatures and HFS until they are discovered. This means clients that offers a larger 2d view or a 3d view would run slower, but that sounds ok to me.

I'm thinking of very nice features that third-party clients could bring...
- 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.
- Auto-pause and pausing only on selected events could be handled by the client. Actually, the server should probably never pause the game unless requested by the client.
- (From the other interface thread) We wouldn't have to pick between an interface that pauses when you right-click and one that doesn't: with a variety of third-party clients, we'll have the occasion of trying out different interfaces to find one that suits us the best.
- ...

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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 29, 2008, 03:27:23 pm
Quote from: Blacken
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).

Quote from: Blacken
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.

Also I fail to see how it would not benefit Toady. This method would effectively allow him to separate the game logic from the interface. This would allow for removal of any limitations the logic expects from the interface and thus any limitations the interface expects from the logic. It would allow him to change the interface when and how he wants without spending months reworking the logic and trying to fix all the bugs that come from reworking it.

And why do you think speed is such an issue? If syncing things is such an issue, you could go the route of having the game thread only process data when told to by calling an update function.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jifodus on July 29, 2008, 03:39:50 pm
- 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.

For those interested here's the address & offset and code block information:
Spoiler (click to show/hide)

(Ok, post preview doesn't want to work, I'll just post it, ignore any flaws please.)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 29, 2008, 03:58:04 pm
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?

This might be a somewhat different example in several respects, but civilization is very modable:  see here (http://en.wikipedia.org/wiki/Civilization_4#Customization). There are three levels, XML for the data (much like Toady's text files now), Python for a lot of what happens during the game including aspects of the interface, and even a SDK to modify the "DLL source code" of the game. Of course, making the game that way probably wasn't trivial. For the Python part, they used the so-called Boost libraries, which are supposed to simplify producing a Python interface to your c++ program. Myself I don't have any experience with them.

I did a little bit of Python scripting for Civ4 myself (map generation), so I can describe how it looks in practice: Basically, you had certain functions such as "generate_terrain" or "place_civilizations". The way the engine used these functions was not accessible via Python (e.g. when they are called etc), but you could implement what they actually do in Python (e.g. some people simulated plate tectonics to generate the terrain). Moreover, you had predefined functions you could call to request data from the engine (e.g. number of players etc.).

As far as I understand, Boost basically helps you creating wrappers around your c++ functions to be accessible from Python or vice versa (http://www.boost.org/doc/libs/1_35_0/libs/python/doc/tutorial/doc/html/index.html#python.quickstart).

Maybe this would be a starting point *if* Toady ever wants to explore the subject (and yes, there might be more important things). Use boost so that one has in Python two functions, "draw" and "getInput", which are called from the engine. "Draw" can access only the visual info which would normally be displayed, and "getInput" channels what would be key commands. With that you couldn't do much more than say maybe implement mouse support or rearrange some basic stuff, but it might be something to try out.

Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 29, 2008, 04:16:35 pm
Boost does WAY more than that:
http://www.boost.org/doc/libs/1_35_0/libs/libraries.htm

Everything from I/O to threading to cross language stuff you mentioned.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Symmetry on July 29, 2008, 04:32:30 pm
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.

I think the fact that reducing DFs graphics framerate increases the game framerate so much shows theres lots of room for optimisation in this area.  If the rendering was efficient reducing your graphics framerate would have no noticeable effect on the game update rate.  From looking at the kobold quest source it seems like it's making a lot of calls to the driver, this is usually slow.
As for threading, if toady doesn't know how to do it I'm glad he has the sense to stay away from it.  It isn't easy at all.

Boost is great, some of the libs are less great.  The graph one makes my head hurt.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 29, 2008, 04:39:10 pm

Toady might just ignore the whole discussion

He should.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 29, 2008, 04:59:52 pm
- 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.

Amazing. Done right, that could become huge. Dungeon Crawl Stone Soup's telnet server is quite popular, so I can't imagine what would happen if we could start DF telnet servers.
I'm really not into memory hacking and reverse engineering, but you make me wish I was.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 29, 2008, 05:11:41 pm
Hacking the memory to suborn DF's inner workings to your whims, against Toady's express wishes?  To me that's monstrous ingratitude--"thanks for the years you poured in, but based on my few months of play -I'm- the one who knows where this game should go and I'll take it there regardless of your plans."  Seriously?  3dwarf represents the sort of memory hacking by modders I don't mind so much--discreet, useful, black-box, and entirely peripheral.  This other form?  Well, when you're invited as a guest to someone's house, you don't surreptitiously rifle through the host's private possessions because you think you can arrange them better.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: ervill on July 29, 2008, 05:19:51 pm
I dont think memory access is needed for this particular field of application because it should be no problem to parse the opngl output image for the tileset. Even so, the whole idea would be a too complicated undertaking, i think.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Exponent on July 29, 2008, 05:41:22 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on July 29, 2008, 05:48:04 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 29, 2008, 05:52:41 pm
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.
You know who used a lot of analogies?

That's right!

Godwin's Law, everybody loses!

PS: the drama is becoming almost palpable...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on July 29, 2008, 05:57:01 pm
It has begun! The gloves are off!
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jifodus on July 29, 2008, 06:28:44 pm
Here's the Proof-Of-Concept access & render of Dwarf Fortress's internal screen buffer.

http://www.geocities.com/jifodus/console.zip

And a quick screen cap:
Spoiler (click to show/hide)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: MMad on July 29, 2008, 07:05:52 pm
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.

I can't speak for the original poster, but personally I just want DF to be the most it can be. If some way could be found for Toady to be comfortable with having other people design, implement and iterate the interface while he continues improving the actual game mechanics, that would seem to me to be a win-win scenario both for him and for us - the game would improve faster, more users would be attracted to a DF with a better interface, more donations would likely be the result and make Toady's financial situation more secure, and DFs future more secure as a result.

Sure, there are many obvious problems with the plans discussed here, but I think the intentions are good. I don't think there's a widespread sense of entitlement in this community, I know personally I'm just worried that the grand vision will eventually come to nothing for whatever reason - DF is just too cool not to exist.

At any rate, discussing possible scenarious and approaches doesn't hurt.

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.

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. When the whole thing is finished and released, well, THAT'S when it'd be too late to suggest fundamental and radical changes like the stuff in this thread.

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.

I'm certainly in that category. I absolutely cannot play the default ASCII tileset (I've tried, even after playing a fort or two with a graphical tileset and getting used to the game) and so I didn't try any of the new versions at all for over a week. So yeah, it already happens to an extent, and it's definately a real concern. Any server/client solution like the API stuff suggested in this thread should take these "logistic" concerns into account.

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. But since we're not living in Happy Sunny Candy Land, we have to turn a profit. Doesn't mean you have to make shitty games, nor it is an excuse for doing so - it's still possible to truly innovate - but accepting and conforming to the realities of the world, including the conventions of modern console games, doesn't make you a sell-out. Just like Toady wouldn't be a sell-out if he was forced by a lack of donations to prematurely start working on the interface in order to attract more users.

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.


(edit - typos)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 29, 2008, 07:21:13 pm
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.


Which company do you work for?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 29, 2008, 09:21:35 pm
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.

That's where we split the difference.  To me, DF is already successful.  I don't have to wait for some arbitrary number of downloads or dollar signs to decide "ah, now it is a success!"  It is a success to me simply by virtue of being a beautiful, brilliant game.  Now maybe you meant it would be better for Toady if more people downloaded and therefore donated--that's true.  But much of the brilliance of DF comes from the unique perspective of the author, and if he has no interest in becoming a factory foreman delegating away important parts of his game to other hands (however capable), I'm not going to gainsay him.  If being confronted with such managerial tasks and becoming dependent on outside modders would cause him to lose interest in the project, that would be far deadlier to the game than the current interface.

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.

Further, there's no refusal of these undoubtedly well-intentioned requests for more access that doesn't sound dickish.  It's no fun for anyone to say essentially "no, F off, I don't want your help" time and time again to a community that's steadfastly supported one's project.  My guess (a totally uneducated one) is that Toady will ignore this thread for that very reason.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 29, 2008, 10:18:18 pm
Here's the Proof-Of-Concept access & render of Dwarf Fortress's internal screen buffer.

http://www.geocities.com/jifodus/console.zip

And a quick screen cap:
Spoiler (click to show/hide)
Source and all... You my friend, are a hero.  Excellent example.  This could easily be turned into many things...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Exponent on July 29, 2008, 11:08:53 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: numerobis on July 29, 2008, 11:56:23 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Nukeitall on July 30, 2008, 12:17:32 am
Bah, nevermind.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: DJ on July 30, 2008, 03:44:58 am
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.

Anyway, the only real danger I see here is somebody making an interface that becomes immensely popular and then gets bored with maintaining it. The interface gets broken with an update to the game, and since there's nobody to update it a lot of people are left stranded without an interface they're used to. This could be somewhat alleviated by forcing the interface to be open source, which would mean that anyone could take over if the original programmer gets bored. But it's still not bullet proof. A lot of people write code that's hard to read, so it may happen that nobody can make any sense of the popular interface's source code. That, and there's the aforementioned problem of delays in bug reports.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mr.Person on July 30, 2008, 04:19:00 am
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.

If he mad eone, Toady has no requirements to keep the API backwards compatable. I'm certain he woulld try to keep it backwards compatable when possible, but he's not FORCED to, just like with saves. He also needs to do zero documentation for the API itself. The raws were undocumented and every tag is on the wiki. It wouldn't take long for the community to document it in some way.


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.


Even if we had an open source frontend (which wouldn't be guaranteed, even if Toady made an API,) why the fuck would anybody make a brand new backend from scratch? Admittably, some people are open-source nuts, but I doubt anybody is that crazy. There's very little to gain from that.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Nikov on July 30, 2008, 05:34:42 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 30, 2008, 05:46:01 am
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.

Im pretty sure that Toady will code in a decent new interface soon enough. Some people on this forum are quite hysteric [this thread is a good example], and its getting annoying to be honest. I guess Toady has stated before, he wont release any source codes, and I completly agree with him in this case. This is his game, he is working on it for years, I dont think that we need user created interfaces, this is not WoW. Just wait for the Presentation Arc and chill.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Kazindir on July 30, 2008, 06:22:35 am

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.

Actually I do believe it's the other way round. Toady has responded recently in a similar thread to this one which managed to keep the random threats and pompous feelings of entitlement reined in - he was quite interested in general but wasn't particularly keen as 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.

Yet we have certain people in this thread who are, as you so aptly put it holding "their fingers in his ears and go "LA LA LA I CANT HEAR YOU LA LA LA"?  instead of following the links, reading what he has already said repeatedly and accepting it.

Why is that do you suppose? ;)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 30, 2008, 06:57:37 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 30, 2008, 07:15:08 am
I don't understand the constant negativity.  If you don't like discussing the issue, why read the thread and comment that it should be closed?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 07:29:37 am
Right, the Presentation Arc.

I don't want to diss Toady's skills, he's certainly an exceptional programmer and his documentation of the development proccess is amazingly complete, but I doubt the new interface is going to be anywhere as amazing as you guys make it sound. Mouse support, better tileset support, unrestricted window size, maybe even sound, certainly nothing like some people are hoping for. And that should be a long way off, since he's not working exclusively one arc at a time and the game is still so "early" in development.

But alright, I'll wait. Meanwhile I'll also watch what the modders are doing. I'm willing to bet someone will be able to come up with a whole new and independent interface before the Presentation Arc, with or without official support. ASCII is great, so the isometric/3D possibilities (which are great) don't interest me much. Personally, I just want a more practical, less cluttered interface. Something which might or might not come in one or ten years.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 08:12:07 am
Quote from: MMad
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.

Quote from: benoit.hudson
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.

Is there anyone on here who doesn't expect something to be broken every release? There are tons of people who put off building fortresses a week or so before the new version is released just because they expect things to break.

Quote from: DJ
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?

Also notice all the current hacks for Dwarf Fortress. How many of them expose the underlying game logic? From what I've seen most of them are just basic hacks the likes of which a typical game trainer would do. Looking at the graphics isn't that difficult. Should be as easy as obtaining a handle to the game's window and intercepting the calls for drawing the graphics.

Quote from: Davion
Perhaps a Hitler reference.
(http://img519.imageshack.us/img519/1896/dilbert20061028yd1.gif)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 30, 2008, 08:13:08 am
Here's the Proof-Of-Concept access & render of Dwarf Fortress's internal screen buffer.

http://www.geocities.com/jifodus/console.zip
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:
Spoiler (click to show/hide)

I don't have time to do it right now, but I wonder what would happen if I used the logic from the map_extract and this...  so much to do.  How long do you think it would take ReadProcessMemory() to grab all the map data? :P
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 08:20:20 am
So that's just intercepting the graphical commands and rendering them by itself? Mhm...

Brilliant.  ;D
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 08:22:45 am
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.

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: Omega2
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: ervill on July 30, 2008, 08:29:46 am
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.

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: Omega2
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.
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.

EDIT: Ok, you could interpret the ASCII representation as rendering but the direct mapping to the tiles would be of linear costs, there is no real effort involved. I dont see any problems there.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on July 30, 2008, 09:20:19 am
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?

Well, commercial games generally don't release early alpha versions for people to play, the developers and publisher usually have a legal contract that prohibits them from talking with the public about development issues, and the publisher usually has millions of dollars and a legal team that has all the time in the world to file a lawsuit on you for copyright infringement if you get too cocky.

Developers are usually funded thousands/millions of dollars through milestone check points, and once it's released you still have to shell out $50 to the publisher to get the game and the tools.

Plus, commercial games are promoted through more than the internet and word of mouth, modding is still generally a very small demographic, thus they aren't even a threat. If they do become a 'threat' they aren't a threat because the mod nets more purchases of the original game.

Dwarf Fortress is only spread through word of mouth/internet, it's free, many people use graphic packs and utilities and can't or won't play without them, and the developer is living off of donations which amounts to a couple of thousand dollars a month.

I can see why he'd be leery about supporting it this early on.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 30, 2008, 09:34:54 am
Quote from: Sergius
And that, is why you fail.
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.
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.
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.

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.

Quote
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.

Quote
...snipped other replies to a post that apparently wasn't made, except in your imagination... strawman, I presume.

Quote
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.

That's all I've got to say about this topic. So please, any further comments about having "no experience at all with software development", you can keep them to yourself.

Cheers!
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 30, 2008, 09:44:35 am
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.

100% true. The people that Toady can really count on for long-term support are the hardcore fans that are interested in long-term development of the game. Those are unlikely to quit or stop donating just because they have to wait two days or one week for their favorite interface (or a better replacement) to be posted on the forums.

Here's another advantage of third-party development: if a third-party client becomes popular, it can show Toady which kind of interface people really like, and he can start to integrate some of the ideas (or even code, if it's open-source and the third-party clients have to publish their changes) in his official client. Right now, he has to try to figure out beforehand what would be a good interface, and will likely have to go through several interface prototypes before people are even marginally satisfied. Interface design is one of the hardest part of software development...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 30, 2008, 09:49:51 am
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!)

Hasty generalizations about the community? Blatant use of rhetorical grandstanding? Comparing closed-source programmers to giant monopolistical corporative behemots? We never say that one coming.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Langdon on July 30, 2008, 09:55:35 am
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.

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.

Once you people force Toady (via whingeing, coercion, blackmail or orbital mind control lasers) to work on what YOU want instead of what HE wants, then he could very well lose interest in DF altogether. Which would be a disaster of tragic proportions.

So. Keep putting up suggestions, and Toady will take the suggestions that interest HIM the most and implement them sooner. He will get around to the Presentation Arc someday, but from what I understand from his dev notes, the caravan and army arcs are the parts that interest him the most right now. That may change in the future, he may suddenly get interested in getting a particularly cool feature of the Presentation Arc out, at which time we will see improvements in that area.

Until that time, you can put up particularly interesting suggestions for the Presentation Arc, and hope that Toady picks them up and files them away for later implementation. I don't think you can do anything better than that (short of orbital mind control lasers, of course).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 30, 2008, 09:56:41 am
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.

Well, here's the "genius" speaking, and he's telling you that he followed the previous discussion, and that this thread is a new take on the same idea. 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.

And you "guess" that Toady has said earlier he wouldn't release any source code? I'm not sure guessing is a strong basis for argumentation. Actually, he released the source to Kobold's Quest. He said no to people that suggested or requested that he opens his whole DF source code, some even wanted to buy it. But since in all the threads I have been following, I haven't seen anybody propose the duo: open-source client, closed source server, we can't suppose Toady has a made-up opinion about that.
(Disclaimer: there are other means to achieve the same goal than an open-source client, such as a public API, but to me they seem to represent more work for this game's creator.)

By the way don't mistake this for "a plan to steal DF source code": the basis for the new, open-source client could very well be written from scratch (sometimes it's easier than re-engineering the current code) by Toady, and so would not contain any current DF code. But as I said, I doubt the code he really cares about is the interface one.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on July 30, 2008, 10:48:22 am
I'm going to blissfully ignore the mounds of text, which in turn are quoted and responded to with mountains of text, which in turn are quoted and responded to in god damn PLANETS of text.

Basically, I have nothing but respect and admiration for Toady, but he's approaching this whole thing with a healthy dose of selfishnesss.

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.

Isn't that pretty...you know, bad? So he'll continue to ignore the #1 request as long as we support him.

It's annoying, sure, but it can be fixed by saying, "Ok guys, I'll work on the bulk of the game, but I'll let modders fix the interface, as everyone has a different opinion as to what it should be." But he doesn't. Instead, he says he doesn't want to do that because he's afraid of losing control...and losing the moneyflow he currently has.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 30, 2008, 10:49:31 am
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?  ::)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 30, 2008, 10:52:39 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 10:55:14 am
Quote from: Sergius
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.

Quote from: Sergius
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.

Also I obviously never stated he should implement the API during an alpha stage. I clearly stated that I was giving a suggestion for a route he could take at a later date. Seeing that you program for a living and with APIs at that, I would have expected you to be able to understand English a little better. After all, don't you have to name/comment your APIs? Or do you just code and hope somebody can understand?

Quote from: Sergius
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.

Quote from: Sergius
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on July 30, 2008, 10:57:31 am
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.


Fair enough. But in one of the audio interviews he clearly says (as clearly as my paraphrase goes), "Yes, you guys deserve it right now, but it's something I'll only look into if my revenue dries up"
Title: Re: Third party interfaces and "Losing control of the project"
Post by: FlexibleDogma on July 30, 2008, 11:02:43 am
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?  ::)

Go go gadget quote tree!

If he says he's leery about it, and someone can POLITELY point out the reasons he shouldn't worry, I don't see the problem with that.  This whole thread started when someone was trying to discuss reasons why he shouldn't worry about that.  Yeah, there was stuff in there about an open-source client which muddied the waters considerably,  but an honest discussion of how a highly modable or 3rd party user interface would be a good thing shouldn't be shouted down out of hand.

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?)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 30, 2008, 11:07:12 am
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?  ::)

What's pretty clear is "I don’t want to be in a position where I have to accommodate and work with other people."

What's less clear is "I’m leery about third party interfaces. If a third party interface becomes popular, I think I might lose control of the project."
Toady is suspicious of third party interfaces, because he thinks they might make him lose control of the project. He's suspicious, not 100% sure. He didn't say "there'll never be third-party interfaces".

I think Toady is perhaps too suspicious, and that's why this thread is necessary: so we can discuss the incidence and feasability of third-party interfaces in depth. I may be proven wrong in the process, but that's ok. I may also be proven right. In the end, it's still Toady's decision.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 30, 2008, 11:13:31 am
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 30, 2008, 11:15:41 am
In the end, it's still Toady's decision.

Yeah, hopefully Toady will reply in this thread, Im really wondering what will he say, even tho I am almost certain that what will he post.  ;)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 11:33:16 am
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.
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.

It's probably possible to create a whole functioning third-party interface as it is right now, it's just pretty complex and requires a lot of memory fiddling.

Plus, what isitanos said...

Here's another advantage of third-party development: if a third-party client becomes popular, it can show Toady which kind of interface people really like, and he can start to integrate some of the ideas (or even code, if it's open-source and the third-party clients have to publish their changes) in his official client. Right now, he has to try to figure out beforehand what would be a good interface, and will likely have to go through several interface prototypes before people are even marginally satisfied. Interface design is one of the hardest part of software development...

... is completely true. I work with interfaces (both for web and programs), and creating the interface for complex systems is not an easy task to carry out alone. Many prototypes are usually needed, and user feedback is absolutely necessary to avoid having a very powerful final product with a clunky user interface. With games a good interface is absolutely necessary, and having a good knowledge base to work with (from the modders who already designed and received feedback from their own interfaces) might even make his job easier in the long run as well as make DF more accesible.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Langdon on July 30, 2008, 11:34:14 am
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.

I have a different take on Toady's stance - it's not that he is holding the interface work hostage in order to drum up more donations - it's that he doesn't like working on the interface as much as working on the other arcs. It's a question of motivation - until he's starving and has no other choice, then he'll start doing the parts he finds not as interesting. Until then, he'll keep working on the parts that make him happy, because at the bottom of everything - he's doing this because he loves it. He just happens to love some parts more than the others.

Totally just my opinion, of course. What I feel is that if people do give good, workable, INTERESTING suggestions for the Presentation Arc, he'll try to do his best to implement them ahead of schedule. "Interesting" in that he'll be motivated to implement them alongside the Caravan and Army arcs as they would make parts of the Caravan and Army arcs easier to code.

The other thread (http://www.bay12games.com/forum/index.php?topic=21099.0 (http://www.bay12games.com/forum/index.php?topic=21099.0)) on this subject is probably far more useful, as that has interface mockups and actual, meaty suggestions. This particular thread's title ("losing control of the project") is a little more flame-baity, which probably explains the higher temperature setting.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 30, 2008, 11:35:55 am
First off I'm not going to take you seriously. Why? Because your best attempt at "reasoning" starts off with you insulting your opponent.

Quote
First off, you sir, don't know what you're talking about. Obviously you have no experience at all with software development.

See what you did there?

Quote
I would have expected you to be able to understand English a little better.

None of that insulting the opponent business going on here. Move along now.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 11:44:11 am
Quote from: Sergius
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
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mithaldu on July 30, 2008, 11:45:37 am
To the people complaining about Toady "holding the interface hostage".

Dramatizing things a bit, there are two groups here:

GROUP ONE:

We play it as it is now, we have fun with it and enjoy it. We like what new stuff Toady adds to the gameplay. We donate occasionally and enough to allow him to live.

GROUP TWO:

We would like the game if it were easier to play because :effort:. We don't give a crap about the new stuff because we think the current interface is horrible to play with. We don't donate until the interface is better.

---

Right now there are enough people in GROUP ONE to allow Toady to live. Last i heard he isn't doing the high life on the mounds of cash he receives, but working hard and getting along without having to beg for food.

Right now he is working on keeping these people happy as doing that also makes HIM happy. He ignores GROUP TWO because he is not greedy.

However, when GROUP ONE gets smaller, he will turn to things that will make him unhappy, but will allow him to remain afloat and make both groups happy.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: FlexibleDogma on July 30, 2008, 11:46:46 am
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.  Since Toady has only said one time (that I know of) that he is leery of 3rd party GUIs the OP would have been much better off trying to convince him and members of the community of how it could be a good thing.*

*Note: I'm not saying I speak for the community, nor am I saying the majority is for or against the idea.  I'm just saying that there are a quite a few people around here would have to be convinced it's a good thing and that was the least clunky way I could think to say it.

Related: Jifodus's proof of concept is VERY interesting, and I'm wondering how hard it would be to map everything in the left "game" area to graphic tilesets while leaving the right "text" portions untouched.  If you wanted to go all out it could also catch all the key presses and send them over to DF, and if it noted that the screen was not a game screen it could just show everything in plain text.  A key combination not use by DF as well could tell the program "plain text only right now" as well to catch cases when the program can't figure out it is on a data screen.

Edit: If I type too fast I sometimes forget to finish my sentences.  Did that happen here?  I'll never tell ;).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 11:55:19 am
Quote from: FlexibleDogma
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.

In the future though an open client, perhaps with a reference-style license like the one Microsoft uses for .NET's source, would allow for us to make suggestions on how to change things. But we wouldn't be able to actually do much with the source since he'd keep the parts that make it useful closed (like the actual game logic).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 30, 2008, 11:56:17 am
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.

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.

Quote from: Sergius
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

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.

Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 11:59:56 am
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. :-\
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 30, 2008, 12:04:34 pm
But he started it!!! No fair!
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 30, 2008, 12:53:10 pm
Starting a new thread for the same topic would only anger people again I suppose...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on July 30, 2008, 01:24:02 pm

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 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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 30, 2008, 01:25:08 pm
Starting a new thread for the same topic would only anger people again I suppose...

It would be pointless, and honestly, unless you're a moderator with locking powers, you have no place telling people to stop posting in a thread and use a newer one anyway.

Also where do you get that I'm not discussing the issue at hand? Maybe you didn't bother reading my opening arguments, but that's hardly my fault.

And since we're pointing out inconsistencies, let me point out...

Frobozz: you said:

Quote
Also I obviously never stated he should implement the API during an alpha stage
Yet 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 also don't see how being able to program APIs for a living would make me better at english. I don't even use english in the projects that I work for. That's a pretty bigoted assumption right there (and do you honestly think that writing a few messageboxes and menu options would make me a linguistics expert?)

That's all.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 30, 2008, 01:47:30 pm
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.

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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: FlexibleDogma on July 30, 2008, 01:56:19 pm
...
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)

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Nukeitall on July 30, 2008, 01:58:37 pm
I maintain that moderation will become..needed..at some point.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 02:01:25 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 30, 2008, 02:02:08 pm
...
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)

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 apologize.  That's very true.  We should all take care not to overgeneralize--but I get easily lost in this massive thread, and any internet argument eventually bogs down in petty nonsense and misinterpretations of each side.  To rephrase then, -some- of the "Let us mod now!" crowd is sounding that way to me.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sergius on July 30, 2008, 02:03:52 pm
I maintain that moderation will become..needed..at some point.

Good moderation, yes. Which doesn't mean quelling every thread that isn't the perfect model of civility and cooperation and kissy unicorns and rainbows and happiness for everyone.

A (good) moderator's job is to:
-Stop people from spamming
-Stop people from trolling
-Stop people from derailing threads (this is generally handled in a benign way: a threadsplit)

Only the most conservative forums have their moderators jump at the first sign of dissent or swearing.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jamuk on July 30, 2008, 02:12:40 pm
So far it seems as if all 11 pages have presented nothing but modifications of the same argument.
People who support toady's previous statements and his decision that he would rather not risk third party interfaces taking control of the game, and people saying that it won't happen.
I doubt toady wouldn't admit a third party interface COULD work wonders for his game.   But it also COULD cause lots of damage to the community that supports it.  We know that it is possible for third party interfaces to work wonders for dwarf fortress.  But, there is RISK involved in this. 

WE DON'T KNOW what exact effect that a third party interface system would have on the df community.
There is no possible way to know... and so by doing so Toady would be gambling on the community that has supported him and his ideas faithfully for years.

Have you ever thought that he just doesn't want to take the risk?  I mean have a heart, you can't possibly believe that there is absolutely no chance of what Toady has fortold to come true.  You may believe that the risks are worth it, but then again you have not spent years on this game.  That would be the equivalent of betting your house on a poker game.  Sure you may be very skilled at poker, but what about that small chance you will lose?  It is still there.  And Toady has the potential to cause damage to the years worth of work he has done.  You may not see the risk, but I doubt you have thought about it as much as Toady has since he started his game.  He just doesn't want to risk it.  Don't force him.  Maybe Toady doesn't want to lose years of work and the community he has built during it.

It is about risk and how much you are willing to bet against that risk.
We have made no large commitments to the project and will lose very little.  Therefore we believe that the risk is worth it for the chance of improving the game rapidly.
However Toady has commited years of his life to this game.  He stands to lose a lot.

Would you take plastic surgery if there was a .01% chance of death?  I wouldn't.  It isn't worth it.
You want Toady to perform that surgery on his game?  He would be gambling with years of his life for a pretty cover, and one that would come eventually if he just took his time.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: FlexibleDogma on July 30, 2008, 02:15:44 pm
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.

Agreed that increased moderation will become necessary as time goes on, but that happens with the growth of any online community.  I doubt anyone should be banned out of hand unless they start posting links to myreallycoolsite.example.com*, but some folks could use the occasional cooling off period from time to time.  The problem with being a mod is you get a ton of messages along the lines of "SOANDSO said something I disagree with, ban him!" and they get a ton of sycophants who suck up to you all the time while acting like THEY are the boss instead  ("Ooooh, wait till Urist McModerator sees this post!  You should just remove it now!")

However, having an active moderator who pops his head in from time to time going "Hey guys, could you keep this on topic?" can help keep discussions from turning into !!discussions!!. 

*Fun factoid: example.com/org/net are reserved, so nothing can ever live there.  Go ahead and try it out: www.example.com
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 30, 2008, 02:21:35 pm
Let's try to keep all the flaming out of this, ok? There's a lot of misunderstanding and not ready the context going on.

I may have been wrong in starting the thread on two topics at the same time. It did cause a lot of trolling. But as things are, currently we are discussing two things:

SUMMARY OF THE CURRENT TOPICS (also posted on page 1)

1. Would third-party interfaces hurt or help DF and Toady, and in what aspects?
- Donations
- Fan base/User adoption
- Toady being able to concentrate on what he likes doing
- Better interface in the short and long run

My personal opinion: third-party interfaces will only please (and increase a bit) the hardcore fanbase Toady relies on for a living, and allow him to spend more time on developing all the gameplay features he's planning. On top of that, those interfaces will be a testing ground for what interface suits better DF, and then Toady can implement his own by picking what he likes left and right.

2. What's the best technical way to allow third-party interfaces?
- Let people hack at the game as it is now
- Client-server separations through sockets (seems inefficient and hard to achieve, from some comments)
- Client-server separation through making the client or server a DLL
- If we admit that a client-server-like separation is best, is it better to have a documented public API to the server, or make the client open-source so it's kind of self-documenting.

My personal opinion (after reading many interesting advices on this thread): the best way to go would be a client-server separation through making the client (interface part) or server (game logic part) a DLL. Since Toady fears that maintaining an API for people will be too much work, I think a self-documenting open-source client would be a good solution. Things will break between versions (as they do now), but since Toady will have his own working client as an example, third-party ones will be easily and quickly updated. Lastly I suggest a license similar to the GPL for the client, so that Toady has full access to the third-party interface source code, and can integrate whatever he wants in his reference version without asking permission to anybody.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 02:22:18 pm
FlexibleDogma: I know that full well. I was a moderator in a pretty big wargaming forum, used to get the occasional "HELP! I'm losing an argument!" messages, too.

Anyway, we could use toning down the drama a little. We are throwing ideas around impersonally, whether they'll be implemented or not, and why. I know 99% of what's here will never happen (the skin support idea might end up implemented, I guess), but this thread is more of a knowledge repository for this subject instead of a "modders manifesto".

Well, it would work better as a reference thread if things hadn't warmed up so much.  ::)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on July 30, 2008, 02:25:13 pm
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?

I'm not going to respond to every point, because honestly, continuing this silly little flame war when I'm just trying to voice an opinion is silly. I'll say two things.

1. Listen to the audio interviews. Toady himself tells us that an interface overhaul is the #1 request.

2. The point of modders if they can change a game without the dev doing anything. Further, they can change a game without even changing the source code. It's win-win for everyone. The only reason Toady is NOT is because of control and money. I'm not making accusations, he's stated as much himself.

And that's just the thing. I'm not making accusations. I'm simply responding to things Toady has already said.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 30, 2008, 02:35:57 pm
Quote
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.

No accusations there?  If you say so.

If Toady was a greedy bastard, he'd stripmine the community for a bunch of indifferently talented artists and insert amateurish anime graphics all over everything.  He'd remove the more demanding sandbox aspects of the game to go for the mouth-breather audience, and insert a bunch of scripted encounters and a lame fantasy paint-by-numbers plot.  Next he'd -charge for use of the game- instead of offering it for free.  Next, he'd have his little art-slaves scrawl up vomitous ads to plaster all over the internet, and DF would become another unoriginal crappy indie game that's just like every other.

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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jamuk on July 30, 2008, 02:37:48 pm
Sir Penguin, maybe money isn't his only objective.  It may have an impact on which thing he works on first if he sees that support for the game is dwindling, but it doesn't necessarily mean that it is his sole focus.  If he had the choice between giving up years of work, and a couple thousand dollars a month, I doubt he would choose the money.  People are not one sided no matter how simple things would be if it were true.  Just because he likes having a few thousand dollars a month doesn't mean he relies on it.

Also, noone has come up with any counterargument to my post yet? I had hoped someone would at least pretend I said something useful  :'(
Spoiler (click to show/hide)

Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 30, 2008, 02:44:29 pm
I wanted to add this to what I posted above:

People are making worst-case scenarios, such as Toady losing all his work and the project failing and so on.

I personally believe that third-party interface clients would only help, not hurt, Dwarf Fortress.

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.

In the case of an open-source client, the license could specify that Toady can use any code from derivative works without publishing his changes. Basically, people using the client source code would have to share copyrights with Toady. This would allow Tarn to use any source code from third-party clients he sees fit, but revert the license to closed-source for any future version at any time. Not that I think it will be necessary, but you can't be too safe in a case like this.

@Jamuk:

I think this addresses in part what you were saying. You know, I wouldn't be surprised if there was a higher than .01% of dying from plastic surgery. And we do everyday activities that are in fact rather dangerous, like driving. Sorry, I don't have the exact danger statistics. The question is more: we know that there's a risk, but is the risk small enough and the reward big enough to undertake this project? Toady has admitted taking pretty big risks when he made the switch to 3D and also in his recent work on World Gen: those were two long spells of development without many updates, and the second one didn't carry many rewards for fortress mode players. So he's not afraid of risk per se. If he was, he wouldn't have dropped his job even before receiving a single donation for DF.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on July 30, 2008, 02:48:22 pm
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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 02:51:27 pm
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?
Isn't that what they already do?



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.

I don't think the way he's taking things is very sound business. Of course, he has a very flexible plan and schedule, but relying on donations while more or less ignoring requests from a considerable part of the userbase (lots of people got at least a small beef with the interface) just doesn't sound right. As the game gets more and more complex, the basic interface becomes more and more inappropriate (like searching stuff in the stocks or reassigning jobs when you're at 150+ dwarves), so the interface can't lag too much behind the content.

I don't want to boss Toady around, but I suggest he tackles at least some of the interface problems and requests as he develops the Army and Caravan Arcs. The option to mass-build walls and floors was a stroke of genius and much welcomed by the userbase, more fixes/additions to the interface like that, such as unifying and simplifying controls by default, would make waiting for the Presentation Arc (where everything changes, I guess?) much more enjoyable, as the game, although graphically simplistic as usual, wouldn't be so awkward to play. Plus it would help keeping new players interested long enough to become habitual players and possible donators.

Of course, he might not be interested in doing interface at all. In which case the modders, using whatever tools at hand, would most likely take over that front. And that's not 100% good either. Figure this: as soon as the Presentation Arc comes around, the comparisons of functionality between vanilla DF and the third-party tools like Companion and Foreman will immediatelly start popping up. So the lack of good interface right now might cause acceptance problems later ("DwarfSuperTool does this much better! Why don't you do it like they do?!").
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Nikov on July 30, 2008, 02:55:42 pm
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.

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.

P.S.  Do you see what I did in my post? I wrote an entire post without using the word "you". Its a very polite way to write in an argument a debate because then you won't put words into people's mouths.

P.S.S. A reader may notice my previous post scriptum utilized the word "you", and thus created the impression I was accusing all other readers of appearing to put words into other's mouths. This action was deliberate in order to drive home a rhetorical point.

P.P.S. Is it Post Post Scriptum or Post Scriptum Something?

Appendix: I know I could wiki that but I've wasted enough time already.

Appendix B: Now I'm just pushing the joke*.

*: Get it?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on July 30, 2008, 02:56:43 pm
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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 02:59:17 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 30, 2008, 03:05:21 pm
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?

I think Toady could revert to the current third-party hacking difficulty by reverting to closed source and changing the source code quite a bit. He could reintegrate everything in a monolithic EXE. Hell, he could even obfuscate his binary (though I don't know much about those techniques). Of course he can't completely prevent people to make third-party clients like the ones that currently exists. Even though, if he officially (and therefore legally) forbade doing this, I doubt many people would disobey. True (read: donating) fans would be unlikely to use tools that don't have Toady's "benediction".

Remember, this is a worst-case scenario.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on July 30, 2008, 03:18:23 pm
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.

Which is why I think the community is probably going to destroy his soul from the inside out.

It's like Frankenstein or something.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 30, 2008, 03:33:52 pm

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.

Well, maybe attacking was the wrong word. I just wanted to point out that the topic of this thread wasn't about whether to criticize Toady for his actions, because I feared that bringing this issue into this thread would derail it further, independent of whether it is an legitimate issue.

As for your actual point, I and I think most others simply disagree. You say he is egoistic because he wants full control of the project, and that he cares too much about the money.

About the first issue, well this might actually be true in a sense. He's not mother Teresa, it's his work, and if he has a choice he probably wants to make a (basic) living from it. Although I have to say, DF is so much a single man's creation, that you could say that what is best for Toady is in the end best for DF and everyone who plays it anyway.

But that he is in for the money, this I just don't understand. He is in for it in so far that he wants to live from making the game, but apart from that? Or is that already too much greed in your opinion?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 03:40:48 pm
Quote from: Omega2
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Gaulgath on July 30, 2008, 03:45:37 pm
Personally, I think adding in tutorials and better documentation would help keep beginners better than interface tweaks and improvements. Toady could create the best interface in the world, but that doesn't matter if newbies have no idea what to do or how to start. (Which is not to say he shouldn't tackle both at the same time or whatever)

And certainly DF can have a great interface without coding from the community, it would just take longer. Honestly, I think I would rather wait that extra time rather than put Toady in an uncomfortable  position where he fears losing control of the project he has spent years working.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 03:57:16 pm
Well, he sort of lost some control over the project already.

People are allowed to create their own tilesets and mods. Those things also break when new versions show up, so players who use them exclusively end up not playing the new versions until the modders catch up.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 30, 2008, 04:17:47 pm
Quote from: Omega2
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.

Well, I think we can be sure that he will do gradual improvements over time, just as he did with the mass dumping recently. For this it's best the community just gathers suggestions for improvements along this line, as of course already happens... the top 10 suggestions thread e.g. seems a very good example.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tamren on July 30, 2008, 04:21:50 pm
I think some people don't understand how good a thing we have going here.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 30, 2008, 04:30:40 pm
Quote from: dreiche2
For this it's best the community just gathers suggestions for improvements along this line
Agreed. 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.

Quote from: Tamren
I think some people don't understand how good a thing we have going here.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 30, 2008, 04:42:31 pm
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..]] ::)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 30, 2008, 05:15:08 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tamren on July 30, 2008, 05:36:11 pm
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!

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 30, 2008, 05:46:09 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: XmasApe on July 30, 2008, 07:59:09 pm
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.
Well, he certainly finds himself in good - or at least prolific - company.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 30, 2008, 08:11:21 pm
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!

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.
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.

The idea was presented to Toady.  Some of us back the idea, offering some tips and guidance to hope that Toady decides to take on some of those ideas when he sits down to work out the logistics of the interface and appearance arc.

The problem arises though, when people suddenly declare that the OP is trying to "steal [the game] from him (http://www.bay12games.com/forum/index.php?topic=21806.msg234801#msg234801)" and that they think "Toady should [not] worry about this (http://www.bay12games.com/forum/index.php?topic=21806.msg234831#msg234831)" without providing any constructive feedback on the idea, how it could be better worked out or how they'd prefer Toady proceed.  They start off by classifying the OP as a "two bit programmer (http://www.bay12games.com/forum/index.php?topic=21806.msg234892#msg234892)" for asking that any part of the client be opened up and outright declare that we should wait for an interface enhancement that even Toady apparently (http://www.bay12games.com/forum/index.php?topic=21099.msg228012#msg228012) hasn't really decided the direction of yet.  Some people offered actual alternatives (http://www.bay12games.com/forum/index.php?topic=21806.msg234937#msg234937) to anyone that wished to enhance their experience now, but others continued down the path of classifying anyone that gave half a thought about Open Sourcing anything as a wild animal "froth[ing] at the mouth" (http://www.bay12games.com/forum/index.php?topic=21806.msg234963#msg234963).  I of course made an improper move by pointing out this thought (http://www.bay12games.com/forum/index.php?topic=21806.msg235086#msg235086) and am myself attacked because I was spewing "disingenuous rhetorical tricks" and "stereotyping" (http://www.bay12games.com/forum/index.php?topic=21806.msg235151#msg235151)??  Some even go so far as to say that "[open sourcing] 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. (http://www.bay12games.com/forum/index.php?topic=21806.msg235175#msg235175)" and that "[we are]breathing down his neck all the time" by posting a thread on a forum...  :o  Of course, we can't leave sleeping dogs lie, so it continues on for pages and pages on how we should "Wait until he [completes the interface], THEN complain about the result so he can improve it." (http://www.bay12games.com/forum/index.php?topic=21806.msg235252#msg235252) instead of offering advice up front.

I could go on for another page or so, but nobody is clearly listening.  The naysayers continue to harass those looking to inspire or guide Toady.  Maybe even help him decide what could happen with the interface changes, what it could take to do it and that it's not the end of the world to experiment in different avenues.  To the naysayers, there is only one solution to the problems facing the game.  Ignore the problems and wait while berating anyone that would DARE try to assist, guide, teach, or suggest that Toady listen to them.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tamren on July 30, 2008, 09:16:13 pm
Playing the wounded bird is not going to cut it. The OP and his supporters forfeited all right to be surprised and or angry about the public response the moment they posted in a PUBLIC forum.

Were not all here to agree with you, the point of a forum is to support the exchange of opposing views. If the majority on this board think third party interfaces are a bad idea. Well guess what. The majority of people on this board think third party interfaces are a bad idea. Nothing more, nothing less.

Our opinions matter squat, so don't let them affect you. In the end its not our decision to make whether or not changes to the game are made. That sole power rests with Toady, whom you are free to contact directly. At the very least you would probably receive a polite "no".

On the other hand, were you to post in the suggestions forum. That forum has a far more specific code of etiquette which generally puts a lid on the asshattery and the non-constructive criticism.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Toady One on July 30, 2008, 09:25:55 pm
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.

Which for me (and granted, I'm picking a recent post -- I've read the thread, but don't remember when this came up first in this thread) is along the lines of what Jamuk said.  I'm being asked to assume risk.  I don't accept assessments of the risk as extraordinarily slight -- I've seen no sound basis for those assessments here.  I also don't think the currently proposed licensing/obfuscation method of putting the cat back into the bag would work -- with a principal downside being that it requires me to turn into an asshole who, after initially sanctioning the process, breaks everything that people have been working on.  Publishing an API and then trying to reel it back in just seems completely unworkable and irresponsible to me.  So the point is to assess risk upfront and then make a decision I can live with.

And right now, I have no idea what would happen.  This isn't the same as leaving my math job or adding the Z coordinate.  The first was a decision I had to make personally for my quality of life, and the second was a calculated risk which I didn't really have strong misgivings about (though some people are still pro-2D version, I think I can get most of them what they want over time in terms of gameplay difficulty, etc., though it'll never feel like it's quite on that rail again most likely).  Do I accept that third parties could improve the interface?  Of course.  Do I think I could do better than a third party myself, even over time?  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).  So, initially, there's some attraction to the third party interface idea.

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.  If someone, as a potential donor, thinks that's unreasonably selfish, that person shouldn't send me any more money than he or she thinks I've deserved for his or her enjoyment, just like everybody else.  Despite my dedication to this project, I'm unwilling to sacrifice my enjoyment of working on it for anything, including its quality or even its future release if it comes down to that.  That should be plainly obvious.  I'm not a slave.  Of course I do some things I don't like working on, with the interface and more.  I fulfill requests for features I'm not going to use myself.  However, again, the current proposal is of a different order of magnitude, with the potential of ruining it for me, and the end result is completely uncertain.

Given what I've seen here and there, it seems like a full third party interface might develop even without my involvement (rather than the various utilities we have now), but in that case, despite the same issues that might come up, at least it won't be a situation of my own creation that I feel a strong obligation to deal with, although the pressure would still be there.

Incidentally, in the proposed model, I still don't think I'd be able to bring code back in to the core project -- the first Kobold Quest port attempt showed that people bringing in code don't necessarily check or care about the licenses of the code they are swiping, and I can't assume that responsibility for them (it has stuff from Wine which shouldn't have been there).  Problems come up here with tilesets and so on too -- I know there've been a few cases where a contributor used somebody else's art and then it was put in a game, causing some legal trouble, though I don't have them at my immediate disposal.

I may have missed a lot, both problems I'm not thinking of and ways to handle them, since this gets complicated and is, due to lack of information, somewhat unspecified, but that's what I've got right now.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Syreal on July 30, 2008, 09:30:28 pm


That sole power rests with Toady

(http://www.newyorknighttrain.com/wp/wp-content/uploads/2007/06/soulpower69zr1.jpg)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mithaldu on July 30, 2008, 09:59:51 pm
Toady, one thing that might need being addressed: How do you feel about suggestions to the interface?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Toady One on July 30, 2008, 10:06:36 pm
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]

There are now some very good threads going on, and there are more specifics than usual, and that's all good.  I should be able to alleviate a lot of those problems at some point.  I've been holding off on certain things like the arrows vs /*-+ stuff and the q/t/k stuff and the UHKM stuff because when I go through and gut the screens, changes there would be lost.  So I need to do the gutting (eg getting rid of the 80x25 requirement, etc), which I think I can do in pieces, without visible changes, as the rest of the game progresses.  Beginning that process is on the short term list, along with the yellow dev next stuff.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mithaldu on July 30, 2008, 10:14:50 pm
Apologies for missing that, and thanks for the answer. :)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jamuk on July 30, 2008, 10:15:18 pm
Yay! I was right! WOOT!

 :-X I must apologize for that immature outburst, I just could not resist expressing my happiness at being correct, because I like to be right.

And also, um, and also, um... nevermind.

Damn I wanted to come up with something beneficial to say in addition to my gloating but I can't think of anything...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Toady One on July 30, 2008, 10:20:17 pm
Apologies for missing that, and thanks for the answer. :)

It wasn't hard to miss among those other words, he he he.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 30, 2008, 10:26:31 pm
We can report posts?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 10:32:01 pm
We can report posts?
There should be a "Report to Moderator" link on the bottom-right of every post.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Langdon on July 30, 2008, 10:33:08 pm
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.

Sorry if you thought I was accusing you of "presuming any personal entitlement". I'm just taking issue with your statement that interface is the most important issue with the DF project. Sure, its the "#1 most requested feature" but there are some of us who feel the interface is fine as it is, and feel that it is steadily improving (just not as fast as other features, such as the general world gen code).

Toady does sneak in some improvements from time to time, such as the multiple floor/wall construction and the d-b forbid/melt/dump area designation menu. It's just I feel that huge, sweeping changes to the code to accomodate third-party interfaces (APIs, DLLs, etc) will severely impact Toady's coding time (read: take him away from playing with the fun army and caravan arc code) to the point that it may delay the next few releases.

Yes, I am being selfish here. I want him to hit his stated goal of releasing a new version every month or so, as I believe he said he does not want to go several months between releases as with 38c and 39a.

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>


And again, my opinion differs from yours. In a perfect world, Toady would not have to live off donations. In this world, having "other gamers, with donation money burning their pockets, walk by and say "So what?"" is not important, in fact is not an issue. In this perfect world, Toady would keep coding DF even if nobody else but his brother played it.

In the real world, of course, Toady does have to satisfy at least some of his user base, the portion that donates regularly. In my opinion, again, what you (or I) think is "best for Dwarf Fortress" may not be, is probably not what Toady thinks is "best for Dwarf Fortress".

I've been there. I've been in two-year projects that reach a point where I can't drum up enough enthusiasm/faith/motivation to write one more line of code. Like Toady, I've also quit a steady paycheck to go off and live in relative poverty in order to do what I love. I know where he's coming from, and I know that the compulsion to code, the fey mood, if you will, is dependent largely on how much enthusiasm you have for the project, for the cool results, for the fun parts.

I don't think many commercial programmers (the ones I know at any rate) have ever grasped this concept, that you code not because it's your job, not because you need to eat... but because you can't sleep until you've gone to your workstation and bled out your latest wonderful idea onto the screen. Right now, for Toady, those ideas all have to do with the caravan and army arcs, but some small interface improvements do pop up from time to time.

Of course, I'm not comparing myself to Toady, as I would never have been able to work on a single project for as long as he has, but I think I understand, at least partly, his reluctance to give up his baby, his life's work.

Counterstrike is a mod that has far outstripped it's parent game, Half-Life. Now imagine what if Half-Life was an indie game, with its creator dependent on donations for his primary income. How would Indie Valve feel if some kid came in with this cool mod that everybody was playing, and only a few people donated to you because they liked Gordon Freeman's adventures? Most players would be donating to the Counterstrike guy. Doesn't matter if the base Half-Life donators gave enough for you to make a decent living - you'd still feel somebody had hijacked your work, had ridden to fame and fortune on your shoulders, on your work.

edit: Toady posted. Damn, I type too slow. :-P
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 30, 2008, 10:34:05 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Cave King on July 30, 2008, 10:34:52 pm
If Toady stopped making DF (which he never will) I would donate loads of money to him to keep making it.
Thing is I have no way to donate otherwise I would have already.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 10:36:08 pm
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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on July 30, 2008, 10:38:04 pm
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?

I'm just screwing with you, I know there's a report button. My first question was more of sarcastic rhetoric than anything.


Also, if someone reported one of Toady's posts, would the forum implode?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 30, 2008, 10:39:21 pm
Ah.

Okay.

As for reporting Toady's posts... don't be silly! Obviously, that would happen only if someone reported the post AND divided by zero at the same time! :P
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Toady One on July 31, 2008, 12:33:14 am
Somebody reported one of my "chill out" posts because they wanted the argument to keep going, he he he.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 31, 2008, 12:37:08 am
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.

Hmm. 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 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. But sincerely, thanks for posting, and especially for explaining your position in such a detailed way.

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.

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.

Oh, and by the way: thank you for this great game and keep having fun developing it  ;) .
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tamren on July 31, 2008, 01:28:28 am
*claps hands* well that settles things. Time for pie!  ;D
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 31, 2008, 02:52:57 am
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.

I guess we might be better off concentrating on suggestions for actual interface improvements. Possibly, when the memory hackers create a prototype for an interface, that would change things again.

I'd also like to point out that Toady made a long and apparently thoughtful reply, where probably everyone could find parts of their argument somewhere, and not a simple "I've said it already and now shut up". I think that shows that the discussion could have been much more "chilled" from the start with no need for people getting so worked up.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mr.Person on July 31, 2008, 04:21:44 am
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 don't think it would be in Toady's best intrests to go client-server or make an API or whatever right now, though. It might be best to do that kind of thing when he's working on the Presentation stuff more intensly. At that point, hopefully the 3rd party interfaces would be less needed, so the bitching and moaning that compatability is broken would be reduced. That may not be the best use of Toady's time.. but whatever.

Toady, I think you're underestimating your ability to ignore people. On the other hand, I think some people are overestimating how much extra cash allowing 3rd party interfaces would bring in. With many things on the internet, most of the users are going to be using the product vanilla simply because they don't know alternatives exist.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 31, 2008, 04:30:49 am
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.


Well, I guess the point is that Toady would be unhappy with the situation - as he said in his post: Either he works with the 3rd party people and is unhappy, or he doesn't but still feels the pressure etc. and is unhappy too. So yeah, he *could* ignore it, but he doesn't like the situation. Toady is not a big coopeation after all, but much more intimate with his user base.

Or that's what I understand.

edit: typo
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 31, 2008, 08:08:11 am

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]
Title: Re: Third party interfaces and "Losing control of the project"
Post by: DJ on July 31, 2008, 08:16:08 am
Even though I'd very much like to see 3rd party interfaces, I completely understand Toady's position on the subject. There is a lot on the stake, and long-term gains aren't great enough to justify taking this risk.

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).

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 31, 2008, 08:22:24 am

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]

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.

Alright I think I made my point. Shut up dreiche2!  ;)

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).

That's true, discussing about and making suggestions for how to organise interface and engine could still be useful even if Toady only uses it for himself (so no open source/ pubilc API/ scripting interface then of course).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anu Necunoscut on July 31, 2008, 09:05:19 am
Well, I'd like to say to everyone I disagreed with or unfairly misinterpreted in this thread:  I don't doubt the generosity and respect behind your requests.  if I got frothy, combative or personal it's my own fault, and I apologize.  Presumably the reason this happens is because we all care so much about the game.  I try to only take issue with arguments presented and not the people presenting them, which is a good general rule for debate on the internets.  :-P

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.

Plus some authors feel such a personal attachment to their work, they want to code every significant line.  To make another flawed analogy, Calvin and Hobbes creator Bill Watterson often fought with his syndicate over this issue, as the latter viewed his refusal to license his characters as non-sensical.  Licensing would have brought more money and (arguably) popularity for the strip, and Watterson's concerns about playing factory foreman to a group of hired artists that would produce the merchandise seemed frustrating and obtuse.  It's not necessarily selfish to keep control over all major aspects of your own creation, especially when your method of distribution and your dialogues with the community are -anything- but selfish.  Hopefully the equivalent of bootleg "Calvin pisses on x" bumper-stickers doesn't show up with regard to DF to fill the void.  :-)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 31, 2008, 09:12:54 am
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.

Well said, Anu. I guess everyone wants to see DF v1.0 one day. Toady knows what he would like to do, and what not. Its not worth to have some user created interfaces if theres a 0.0001% chance even, that Toady might get pissed/loose control because of a related problem, and stop working on DF.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on July 31, 2008, 09:50:24 am
Quote from: dreiche2
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.

Quote from: Toady
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Blacken on July 31, 2008, 10:00:21 am
Quote
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 rate
If 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.)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 31, 2008, 10:36:10 am
Quote
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 rate
If 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.

What about Battle for Wesnoth? It's pretty much a bazaar, and it's a wonderful game.
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.

Quote
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.)

Please cut the bodyguard stuff. Toady is obviously open to (peaceful) discussion, and I didn't read "leave me alone" anywhere in his post or between the lines. The conclusion of his post suggests that he's interested to know if he missed anything.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Blacken on July 31, 2008, 12:45:07 pm
Quote
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.

Quote
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.

Quote
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: FlexibleDogma on July 31, 2008, 01:06:51 pm
Quote
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.

I seriously doubt the lack of a fully-featured 3rd party GUI is holding anyone back from creating a DF replacement engine.   :P
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 31, 2008, 01:32:07 pm
Quote
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.

I seriously doubt the lack of a fully-featured 3rd party GUI is holding anyone back from creating a DF replacement engine.   :P
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.

I could have gone on about how I think that the world should be a server, the interfaces should be separated into adventure and build interfaces and all kinds of other fun stuff, but that's neither here nor there.

The idea that somehow the separation of the interface is keeping people from making their own DF clones is ridiculous.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on July 31, 2008, 03:43:17 pm
Quote
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.

It's a fun game with very nice graphics, that keeps improving despite (or because?) the big mess that the forums are sometimes. Anyways, if open-source development is always bad and inefficient as you seem to think, then Toady doesn't have anything to fear from open-source third-party clients isn't it? They'll be so bad that nobody'll want to use them. I don't see the point you're trying to make.

Quote
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.

This just goes to show that, no matter how carefully you word your post to show that you're suggesting and not demanding, no matter how much you try to stick to the facts, and so on, someone somewhere will think what you wrote is offensive. You really have a weird concept of "respect". Am I supposed to magically agree to everything Toady says the second he posts, and also suddenly understand all his motivations and all his reasonings? If you read my post, it's pretty plain I'm pointing out things that he might not have considered, and I'm interested to have details on some things he said.

Overall this over-protective attitude toward Toady is really annoying. If someone was insulting him on the forum, I'd certainly be among the ones who step up to tell that someone to shut up. But since I'm politely suggesting some things, he's just free to ignore me if he wants. You're just crowding this thread with useless posts, and 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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on July 31, 2008, 04:09:43 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on July 31, 2008, 04:30:12 pm
Cant you guys just stop this flaming?  ::)
I guess the situation is pretty clear now that even Toady has replied in this topic. All of you can make suggestions regarding the interface instead of this flaming.

PS.
Wesnoth... It was open source from the start, the devs have stated that it is basically a game what the community will build up, and that is what happened. It was a very bad example isitanos.

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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on July 31, 2008, 06:14:33 pm
isitanos, if it makes you feel better, I'm fully with you that you are not disrespectful, and you're being attacked harshly all the time unnecessarily.

I just wanted to get this out now, because yeah this thread might get locked because some people still act agitated.

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?

I think we got your opinion on that this thread should be closed by now (I got it by page 7 already).

Edit ps: Btw, pretty crazy how big this thread got so quickly hu?  :) Record?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Langdon on July 31, 2008, 09:04:16 pm
Quote from: dreiche2
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.

You do know that he would have chimed in eventually, even without all the flaming? it's that there were too many posts in too short a span of time that it seems he took his sweet time getting here, but in truth, barely a day had elapsed between thread start and full on insult-mode, and another day before he responded. Assuming he checks the forums at the same time every day, he responded pretty quickly for someone who isn't doing forum moderation full time.

Edit: replace "checks the forums" with "checks reported posts"...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Toady One on July 31, 2008, 09:19:41 pm
A... am I going to have to convict people of failure to chill?  Let's just, Baby, relax!  Ain't no thing.


I tried hard to put myself in your shoes and see things from your point of view, but apparently I failed to understand one thing (correct me if I'm wrong): the general atmosphere of the forums and feedback you receive from players is an integral part of your happiness. I was imagining that you could just let the mess settle down by itself after every release, but since I am not this forum's moderator, I can't really tell how it feels to have a big mess of threads about stuff not working.

It generally sucks to have a bunch of people complaining that things don't work, especially when there's something I can do about, that is, work with the interface modders more closely, having in this scenario sanctioned third party interfaces and released a public API.  It's the pressure that would make me unhappy.  It's good when the forum people are happy, but that wasn't what I was getting at so much.

Quote
When you speak of pressure, are you picturing direct pressure? I have a hard time imagining people screaming at you on the forums, except maybe for the occasional moron that can be ignored. Wouldn't people rather be putting pressure on the third-party developers to update their interface ASAP? But maybe you'd feel pressure nevertheless because you dislike seeing that people cannot play the game.

There would be direct pressure on me to work with third party developers -- this isn't about screaming.  This thread itself is direct pressure to work with third party developers (or at least get the ball rolling).  That isn't to say I disagree about you posting it.  I'm simply stating what it is, and I think that yes, there'd be a lot more of this, a lot more I'd have to reply to, and a lot of...  pressure.  Additionally, I'm not just talking about external pressure, in fact, principally not -- having created the situation, I would feel some obligation to make it run as smoothly as possible, and I would rapidly become irritated by this, because it's some of my least favorite kinds of work.

Quote
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]

He he, of course not.  It's worse actually -- more parties to work with.

Quote
Lastly, I may have a good way of mitigating the breakage of third-party clients at every release, without requiring your direct involvement. Assuming that you develop your own open-source interface at the same time as your closed-source server, you would likely publish your interface changes to a public SVN server. You would probably do it incrementally, at the rate of one or several commits a day - akin to backing up your work whenever you've made a step. In that case, you can bet that enthusiastic developers will watch those changes keenly, to see what's going on with the interface. This means that third-party client makers will already know that moving "dwarven armies around on the world map, with a tactical view and various options" is coming for the next version (from your very detailed dev notes), so they'll have time to plan which kind of interface they want to provide for that. And since they'll see the necessary code changes evolve gradually, because you'll always need an up-to-date interface for bugfixing, they'll be able to follow closely your development. They might have to adapt to your last minute changes, but otherwise I believe that the days of bugfixing prior to release could be enough for some of them to finalize their clients on time.
Now of course, you have to feel comfortable with that way of working.

Yeah, this somewhat mitigates breakage with those third parties that are active and approaching the situation with some dedication, but the trade-off of working with my day-to-day changes under that sort of scrutiny is definitely a minus for me, and I don't think it could really happen in a vacuum without questions about changes and so on, or without me feeling like I have to provide some sort of documentation as I add things.  I don't know if that sounds like quibbling, but I can't easily overstate how much I hate managing code or collaborating on code or anything along those lines.

Additionally, I think breakages would still happen, especially when staff leave projects hanging (work obligations, got tired of it, vacations, etc.), and it wouldn't change the fundamental situation I'm imagining, although in the case of project abandonment or delays with staffing, where there isn't pressure to work with the (missing) people in question, it's more the pressure to incorporate changes back into the base API, which as I stated in my previous long post, I wouldn't be able to do without potential legal problems.


I don't mean to write as if I'm sure about any of this, but once I drop this bomb in my project, I can see every day becoming "oh man, what a goddamn hassle" instead of what I've got now, which has less of that.  Again, I think the OP is justified in starting this thread, so I'm not raising that as an issue, but I've also spent some hours in here, reading posts and composing these replies.  That stuff just starts to magnify, and I'll either end up ignoring people I don't feel like I should be ignoring, or not ignoring people to the detriment of the core game itself and my own well-being.


What I would like to hear from Toady is what kind of graphics he has in mind for when he gets to the interface overhaul. That way we could at least prepare some sprites ahead of time and have nearly complete graphics sets as soon as the version with the new interface comes out. I personally waste a lot of my free time doodling in GIMP, so I might as well do something useful.

Depending on the stage of the interface overhaul, ultimately I'm going to be support 2D tilesets (probably in dimensions of multiples of 4 because I'm lazy with image file headers).  So if you want to draw up some 32x32s or something, you won't be wasting your time, I think.  It should be fairly straightforward to support single z-slice isometric stuff as well, once I get that going, since I'd just have to change the print locations and print order, though transparency decisions are probably annoying, and it's slightly more annoying to get multilayer isometric stuff going, since people are going to want various options about display there, so I don't really have a clear opinion on the future of isometric.  The support for a resizeable viewport/window is definite, but nothing has been decided on layering there (for instance, critters walking over grass tiles, that kind of thing -- people will want more and more out of this system, such as inventory and wound displays, and I'm not sure where lines will be drawn, or where it will bog down, anyway).

Quote from: dreiche2
yeah but did the whole negativy and hostility bring anything beneficial here?
What did it do beneficial? It finally caused Toady to step in and give us a detailed explanation of his point of view thus I guess the best way to get him to respond is to insult one another. Or just report posts.

In case you weren't joking, I wouldn't overstate the value of the report.  I was already following this thread and was planning a reply.  The report got me to come in a day early or so, since things were starting to get sort of silly.  And they still are.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Puzzlemaker on July 31, 2008, 09:39:55 pm
Wait; this thread is -still- going?

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: XmasApe on July 31, 2008, 09:59:43 pm
Wait; this thread is -still- going?

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.
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 31, 2008, 10:01:30 pm
Now this is amusing.

Toady, who (at least according to some people here) has all the reasons to be angry/ frustrated/ annoyed, is being perfectly civil and understanding about the whole issue, providing rather interesting developer insight while at it.

Some of his "defenders", on the other hand...  :D
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Puzzlemaker on July 31, 2008, 10:05:55 pm
Wait; this thread is -still- going?

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.
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 posted 15 minutes after Toady did, so no, I didn't bump it.

I also don't disapprove of this thread as a basic concept, but I do disapprove of a lot of the content in this thread.

Also, don't call it The Precious, it's creepy.  Seriously.

@ Omega2:  I think that might be directed at me, so... sorry?  I didn't mean to make it sound angry or whatever.  Maybe I used too many bolds.  Oftentimes I find subtly is lost on the internet without using a huge wall of text, though.

But the amount of, well... Ego-centric posts is really getting to me.  A lot.  Inform me if I start sounding angry/annoyed, though.  I need to get better at that.

Edit:  Also, people need to stop treating him like some sort of superhuman.  Come on now.

I swear, people idolize him in a desperate attempt to make it mutual so they can get what they want.  It's generally creepy and weird.  Stop it.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on July 31, 2008, 10:16:00 pm
Some of his "defenders", on the other hand...  :D

My thoughts exactly. It's like he didn't even read the posts, just thought, "omg, toady under attack? most post general blanket statement!"

Anyhow, Toady, I understand where you're coming from much better than I did before, and that's because you took time out of your day (night) to tell us. And I love that about you, and indie development in general. But I can't help but feel that your need to please is not only unfounded, but I don't think anyone will ever point a finger at you. The only one thinking you'd be responsible is...well...you.

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.

Two very different ways to approach modders. Yet the outcome is the same. Players know what players want. By allowing them to do so, even if it's limited, it can only IMPROVE both your game, AND your developer's image and renown. The only thing you DON'T gain is the responsibility to work with 3rd parties. Not even Bethesda will provide hands on help. They understand they're doing gamers a service, and gamers understand this as well.

This has turned out much longer than I expected, so I'll stop. Point is, you have everything to gain from this. And you will not lose control over the project - not by a long shot. Honestly, if you just gave us some tools/insight, then never touched it again, and entire new set of awesome things will flourish, and you don't have to do a damn thing. It's all benefits.

I think that what it comes down to. We're only asking that you understand this thing has an amazing number of pros with a very limited number of cons.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Puzzlemaker on July 31, 2008, 10:20:41 pm
SirPenguin, I have one thing to add to your post.  Yeah, it has a lot of Pros, but it also has a very large Con; it requires a lot of work to put together even a basic grid for addons and interfaces to be put in, if I understand correctly.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on July 31, 2008, 10:31:56 pm
Agreed. The initial effort is a bitch. But you can rest assured that all the community is asking for is the ability to turn clay into things. They're not asking for you to actually make anything, just provide the clay.

How's that for an obscure analogy?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 31, 2008, 10:34:47 pm
Who knows? Considering how some of the modders here are working right now, the clay could simply be some extra documentation on memory addresses. Those guys are pretty resourceful. ;)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Puzzlemaker on July 31, 2008, 10:37:18 pm
And I guess an IDE would be a Kiln...

What kind of clay are we talking about here?  Probably harder clay, I would think... clay with a large sand ratio...

And maybe it would be imported clay... from Asia... of course, then you would have to deal with PIRATES!  I wonder what that could represent...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on July 31, 2008, 10:43:17 pm
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...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Puzzlemaker on July 31, 2008, 10:46:05 pm
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...

Not enough Pirates, methinks...
Title: Re: Third party interfaces and "Losing control of the project"
Post by: valcon on August 01, 2008, 12:45:14 am
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. 
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on August 01, 2008, 04:56:55 am
Quote from: SirPenguin link=topic=21806.msg238737#msg238737
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.

Yeah, but again, the thing is not so much that either of these situations could work, but that Toady doesn't *like*  the working conditions of either. Not to actively work for interface modders, nor just opening the interface up and then ignoring large parts of the community while constantly feeling pressure to work with them. And I for my part can surely understand this, especially the second situation. In case of the first, I guess when Toady feels so wary of the cooperation situation, then yeah he should avoid it (as far as he can, that is), because again in case of DF I think clearly what is best for Toady is in the end best for DF.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: TheSpaceMan on August 01, 2008, 05:35:30 am
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.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on August 01, 2008, 08:09:11 am
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.

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.
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?"

The person what created the UI would have to update the memory locations and it would be the same situation as updating a third party client to accommodate the changes in the API.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Puzzlemaker on August 01, 2008, 08:54:31 am
I am failing to follow some of the logic here.

How does not making an interface make it so he will lose control of the project?  That sounds more like a veiled threat then anything else.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on August 01, 2008, 09:12:48 am

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.

Well, exactly, he is not supporting this tools *at all*, so he can (so far) ignore them. But adding official third-party support code-wise would create a situation more akin to what he have now with the raws, and there is whole sub-forum associated with that type of modding after all.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on August 01, 2008, 09:17:10 am
And people seem quite willing to do trial and error while modding DF, so there is even less need for official support: just give them the basic information and they'll figure everything else out by testing it.


By the way, can we stop with the accusations? They just throw people on the defensive and start flame wars.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: TheSpaceMan on August 01, 2008, 09:17:59 am
Yeah third party libs are bad if you want to keep controll.

Part 1: What I mean is simply stating that "not adding a gui will make him loose controll becouse some one else will do it" makes no sense if you have any programing experience. You can do hacks and plugins and bots and cheats, but adding a new gui (esentialy rewriting the game without the source) is nothing some one do becouse you "don't like the current system". Specialy not while the game is still work in progress (if it was realeased and no more updates it would be another story)

Part 2: Anyone who likes DF and have any experience with programing understands the amount of work Toady has put into this. No one with that experience who think straight would atempt to do a replacement hack on his work.

Any one with the shortsightnes to try this would lack the experience and fail missaberly while Armok eat their soul.

Thats my 5 cents atleast.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on August 01, 2008, 09:50:38 am
The difference is abstraction...

If Toady created an API/interface to the program then he himself feels he needs to document and maintain that interface.  The op specifically covered that by stating that he could create an interface that was the "basic" interface and open source it allowing it to be the documentation and wherewithal to creating other interfaces.  Those dedicated to Toady's image of the game could stay with his interface and others can go off and use the third party interfaces.  Just like the tile/graphic sets do now, they can wait for the author to update their tiles or use Toady's client.

Alternatively, without a "common" interface/API, if Toady were to change something and it affected a memory location he can plead that he never intended to have tools at all.  In which case, he should obfuscate the memory allocation (and there are several methods for doing this.)  But right now, he can plead ignorance (and no, that wasn't an attack, just an appropriate word) to the fact that he cannot be responsible or aware of any breakage to third party tools.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Anikki on August 01, 2008, 10:09:22 am
DF is a book, not a comic strip.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Exponent on August 01, 2008, 10:09:41 am
It seems that central to this topic is the issue of psychology:  particular features of Toady's personality dissuade him from taking certain actions that some of us (including myself) wish that he would take.  Some of us, were we in his shoes, could actually follow through on some of the suggestions in this thread while not experiencing the same psychological effects that Toady would; we are all simply different people with different personality quirks.  (However, to counter-balance this statement, so that people don't accuse me of criticizing Toady, some of these same people might not have been able to do things that Toady has done, again due to differences in personality.)

Toady has said that if he were to purposefully aid third-party interface developers, he would feel obligated to continue aiding them, even if the original intention was for the aid to be a one-time deal.  If he obeys this feeling, he has less fun working on DF.  If he ignores this feeling, he has less fun working on DF.  I can understand this perspective (whether or not I would myself experience it), and it isn't a matter of good or bad arguments or reasoning.  It's primarily emotional/psychological, and there's not much that can be done about it, unless Toady himself decided that it was a character flaw that is serious enough that he is motivated to work to overcome it.  I don't suspect he'll come to this conclusion any time soon, and I don't blame him.  I have plenty of quirks myself that inconvenience other people but that I still don't wish to "fix" (assuming it is correct to call them "broken" in the first place).

Admittedly, I really really really wish that Toady didn't have this particular psychological feature, because I'd really like to see (and perhaps work on) some third party interfaces.  But I don't always get what I wish for; that's life.  And I don't think there is really any rational grounds to justify to Toady that he should change.  So I suppose I'm willing to accept his stance and move on.

Now if anyone can come up with some clever ideas that do not require Toady to purposefully aid third-party interface developers, but that Toady is nonetheless comfortable with, then by all means, we should discuss it.  But it seems as though any ideas that require that Toady do anything at all to purposefully aid them (whether it is large or small) are (unfortunately, from my perspective) dead ends for now.  There is not much benefit to be had from discussing them.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Jamuk on August 01, 2008, 10:27:27 am

The risk he would be taking by endorsing these people would not be a one time thing, as some people seem to think.  It would likely happen over and over again, and Toady would not be able to talk to them and explain that he wants to work alone, because people are irrational.  He has already attempted to do this once in this topic and it failed miserably because people are still trying to push their points of views around.

It isn't some psychological disorder that causes him to avoid open sourcing and aiding third party interfaces.  It is topics like this one that go on for huge lengths of time because people think that they know what is best for his game and that he doesn't.  What's to say that if he does start having community made interfaces that they won't use that against him?  People are already making threatening remarks about  how even if he doesn't allow other people to make the interface that people will just hack his code and do it on their own.  I mean this topic is the shining example as to why NOT to allow people to work on the interface.

If he did help make an API what is to say that people wouldn't use that as an argument to do it again and again?
"Well it didn't cause any problems this time, nothing could go wrong!" is one response he would likely get over and over again.

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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: DJ on August 01, 2008, 10:33:31 am
If we can't have an open source interface, then the next best thing is a flexible interface. So I'm hereby asking Toady to please try to make one when he has time and inspiration to work on the interface.

In particular, I'd like to see fully adjustable display size when it comes to screen dimensions in tiles. Another neat thing would be adjustable buttons, as seen in Black Isle's games such as Icewind Dale. Ideally, we'd be able to drag and drop buttons where we want them and hide them if we want to. Full mouse support is implied. Throw in support for macros and reading from external files (which can store stuff like constructions blueprints) and I'll be a happy man.

Of course, all this is a lot of work so I reckon it'd best be implemented bit by bit over a long period of time.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on August 01, 2008, 10:37:13 am
Regardless of psychological factors or Toady not giving any 3rd party support, there is a very important question to be asked:

What draws the line between "good" hacking and "bad" hacking in DF?

Because we already have a proof of concept in this very thread that captures the graphics output of DF. Plus Dwarf Companion and Foreman already add features to the interface that aren't there in the original game, via memory hacking. Theoretically, it would be possible to play DF with its window showing only the map, and all the menus and secondary info (stocks, stats and so on) floating in tabs in a 3rd party application. Would that be too much?

That is all I'm interested in, frankly: top-down 2d is perfect for me, I don't need any fancy graphics. But I'd really like to see more information than the interface provides, without needing to pause the game or go through a few screens and keyboard taps every frame just to see how my Axelord is faring against a goblin ambush.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on August 01, 2008, 10:55:22 am
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?

Toady has, in this thread, stated that

1. He doesn't mind at least the intention of this thread,
2. that people should chill. (...)

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on August 01, 2008, 11:31:13 am
Quote from: isitanos
Lastly, I may have a good way of mitigating the breakage of third-party clients at every release, without requiring your direct involvement. Assuming that you develop your own open-source interface at the same time as your closed-source server, you would likely publish your interface changes to a public SVN server. You would probably do it incrementally, at the rate of one or several commits a day - akin to backing up your work whenever you've made a step. In that case, you can bet that enthusiastic developers will watch those changes keenly, to see what's going on with the interface. This means that third-party client makers will already know that moving "dwarven armies around on the world map, with a tactical view and various options" is coming for the next version (from your very detailed dev notes), so they'll have time to plan which kind of interface they want to provide for that. And since they'll see the necessary code changes evolve gradually, because you'll always need an up-to-date interface for bugfixing, they'll be able to follow closely your development. They might have to adapt to your last minute changes, but otherwise I believe that the days of bugfixing prior to release could be enough for some of them to finalize their clients on time.
Now of course, you have to feel comfortable with that way of working.

Yeah, this somewhat mitigates breakage with those third parties that are active and approaching the situation with some dedication, but the trade-off of working with my day-to-day changes under that sort of scrutiny is definitely a minus for me, and I don't think it could really happen in a vacuum without questions about changes and so on, or without me feeling like I have to provide some sort of documentation as I add things.  I don't know if that sounds like quibbling, but I can't easily overstate how much I hate managing code or collaborating on code or anything along those lines.

Additionally, I think breakages would still happen, especially when staff leave projects hanging (work obligations, got tired of it, vacations, etc.), and it wouldn't change the fundamental situation I'm imagining, although in the case of project abandonment or delays with staffing, where there isn't pressure to work with the (missing) people in question, it's more the pressure to incorporate changes back into the base API, which as I stated in my previous long post, I wouldn't be able to do without potential legal problems.

Yeah, I had the feeling you might not work under scrutiny like that. And as you say people would likely ask lots of questions (about every line of code) and it could get annoying fast.
Some people don't mind it though, so it was kind of hard to know if your dislike for working with other folks went to that extent.

Quote from: Toady One
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.

Frankly, I appreciate your overall attitude. Thanks for taking the time to explain your position, I can now much better imagine the situation you'd feel in.
This is really more a question of personality (more or less as Exponent is saying) than anything else, and I respect your personality and your preferred way of working.

I'll post some links to your two replies on the first page of this thread, so that people don't have to wade through pages of flame wars text to find your answer.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Sindai on August 01, 2008, 11:40:16 am
What draws the line between "good" hacking and "bad" hacking in DF?

There is no line. All hacking is good because without multiplayer modifying the game can never ruin someone else's fun.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on August 01, 2008, 11:46:39 am
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.

 ;D
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on August 01, 2008, 11:53:26 am
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.
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.

There wouldn't be any key input and it would simply be an alternative view (though stuffing keys is entirely possible)... but it's definitely getting into that gray area everyone seems to be concerned with.  The question I ask myself is whether I should continue my tests or what I should do next.  My method is obviously not the most ideal, but I want to see my surrounding better and this is the only solution I have right now.

This is in no way a threat, (for those of you thinking...) but I tire of the interface and in order to keep playing I'm willing to go through this myself.  Of course, if/when I get done I'm not going to keep it to myself.

Why don't I create my own DF then?  It boils down to world generation.  I can make games, interfaces, and all that.  Where I lack talent is developing and generating content, art and assets.  Maybe I just extract DF worlds and make my own game using the maps.  I'm not sure what course I plan on going right now.  The above interface hack was my first test.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: TheSpaceMan on August 01, 2008, 11:58:31 am
I think a bad hack would be something that seriosuly change the direction of the flow of the game, can't come up with a good example and i can't see anyone pass the line yet.

A example would be using work done by Toady and claiming it as your own or as a whole. All the small parts of the game arn't that hard to make for anyone with a bit of programming knowledge. But it breaks down to the fact that all this tiny things work together and the game is playable. The size of the thing and it seems connected and even more so in the future.

I am glad to do my small things and try to provide tools for open content to users. I will even implment a "total conversion" button in on of the tools for creatures metals och plants where you just specicify some values and all this can already be done with the data provided without breaking or destroying any of Toadys hard work.

Effecting the world is one thing trying to hack in entirely new content or stealing is another.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on August 01, 2008, 12:00:00 pm
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.

From what I remember of the Bethesda forums, this isn't strictly true. Apart from the main accusations ("Oblivion is lamer than Morrowind" and "You're cheap because you want us to pay $5.00 for a small addon"), they also get accused of not supporting the modders enough (usually because of some bugs/limitations in the scripting that they never fix). Also, when a modder comes up with something clever, you often see posts saying "Bethesda are so dumb, how comes they didn't put this in the game".  ::)

Of course the more mature audience of this game and Toady's excellent communication with his fans would likely (and already do) prevent this kind of behavior.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: TheSpaceMan on August 01, 2008, 12:03:14 pm
I must add the fact that I would love to "hack" the world generation and try to implement my own stuff, but if i have that urge I could code it myself and implement in to a game myself anyway so it's not such a big deal.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on August 01, 2008, 12:32:12 pm
What draws the line between "good" hacking and "bad" hacking in DF?

Maybe I am wording this post a bit harsh but, does it really matter?

Discussions like "What is good and bad hacking?", in my opinion, are started mainly because there's a small amount of guilt in doing it regardless, and people generally don't want to feel like they are being douchebags.

Everyone can jibber jabber, wax philosophical, and try to draw a line on what is considered "good" hacking and "bad" hacking in the community, but in the end the people that are working on their own applications for this game are going to defend themselves and say what they are doing is legitimate; even if said application is something that the developers aren't necessarily comfortable with.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on August 01, 2008, 01:32:56 pm
It does matter, actually. Imagine this:

Dwarf Fortress becomes more and more complex, receiving the occasional interface updates just to keep up with its features. At some point, someone comes up with a really powerful program using memory hacking. This program is so good, no one but the hardcore ASCII-forever-and-Toady-for-prez (humour intended) players can or want to play without it. 75% of the userbase (hypothetical number) is then reliant on this very popular 3rd party application that breaks pretty much everytime the game is updated, generating enormous pressure on both the modder (who might not mind doing it) and Toady (who probably minds) to keep things running smoothly, even though they won't cooperate directly.

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.

So, yes: discussion on what should and should not be done must happen early in the development. Players absolutely hate it when something they like is taken away from them (for whatever reasons there would be), so it's better not to let them become spoiled with things that might need to be removed later on.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on August 01, 2008, 01:45:26 pm
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.

And either way it's still going to happen, which is why I don't really see the point in discussing it. If the community agrees that certain aspects of memory hacking and application development "aren't cool", the people developing those applications aren't going to say, "Darn" and scrap the project. Same with banning the content, if it was banned a community would pop up somewhere.

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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on August 01, 2008, 01:57:24 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on August 01, 2008, 02:31:39 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on August 01, 2008, 02:57:43 pm
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.)

I point to any MMO Emulator project as an example.  They exist.  They allow people to use the interface written for the MMO and yet they don't draw millions of people away from the MMO.  And how prolific do you actually thing WoW Glider is?  I'd argue that it's likely a very select few people that actually run it, but it's influence is greater than most other hacks simply because of it's nature.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on August 01, 2008, 03:05:50 pm
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.)

Which proves my point, why bother discussing good/bad hacking when the Internet is going to do whatever the hell it wants anyway?

But I guess this is going to turn into a debate about whether or not debating good/bad hacking is worthwhile. :(
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on August 01, 2008, 03:28:57 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Omega2 on August 01, 2008, 03:39:55 pm
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.
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Zironic on August 01, 2008, 03:49:57 pm
 I think this whole issue has been blown out of proportion. Saying that the interface is a main driving factor for the departure of a large % of new players is wholy ignorant of what Dwarf Fortress has come to represent.

 This game in it's whole represents a fortress ( ahah irony) against the growing casual market and a citadel of hope for the crashing hardcore game development. I have come to love difficult games, and I oft to stick to them much more when I am stuck than other easier games. And the idea that DF needs an interface change to help increase player base - when the current base is strong - and grows slowly and stabily.

 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.

 In fact, the interface is probably the main factor in saving us from the flood of casual gamer takeover - or dumbing down. The minute every person who doesn't like the hard learning curve the game is known for sees that the older interface which contains it's own learning curve has been dumbed down for the masses, what is stopping them asking for the game play to be more simplified at the start to provide for an easier game entrance.

 Don't pressure Toady for this, he has always made the best decisions when it comes to his game, which he graciously provides to us for free. He works slowly - steadily and effectively. He chooses to follow our suggestions at his own whim, and for us to demand him to change gears completely to focus on a less important factor ( unless interface overrides gameplay ) when he focuses on what drives most of us to play ( Gameplay and Complexity ).

 It is completely true in this case, that the "silent majority" who doesn't complain, who supports via small suggestions and bug reports (pays there taxes), and donates without fan fair, easily tops the loud minority in this forum.

 If you dislike the game's interface, that is fine, however do not pressure Toady to change it, in a method that will encourage speed and easy-use over stability and support. I dislike many things. I wish there was more fluid dynamics and I think the environmental life dynamics could be updated, however I remain quiet. Toady ultimately has to code, and ultimately so far, from what I think we all have seen, since we are here, he has done a damn fine job of it.

 Screw interfaces if it causes such pain for Toady. He is not a slave, He is not your personal toy. He is a human being which devotes his life to provide us a product, rarely given. Look at Will Wright's Spore, and how far it has been simplified to fit into the more casual market- which disgusts the hardcore gamer in me.  The minute Toady begins making things easier and less complex -thus less rewarding to master and use, is the minute, we will lose the hardcore -donating- stable base, and start gaining the less stable larger more vocal casual base.

Don't demand, Ask. Don't scream, be reasonable. And most of all - Trust Toady.

The minute we begin saying something is to hard for us to handle, is the minute we need to question if DF is the game for us. I want Quality over Quanity. If it takes Toady two years to produce a viable and stable interface that pleases all, then so be it, because I know, that time will be spent wisely and usefully, not unrationaly and broken like the masses demand.

 This is not a discussion over good hacking versus bad hacking, it is a discussion over trusting toady or becoming greedy.

Donate if you can, Play when you want, and Be supportive.

Or Shut up and leave.

Toady is like the vast herd of buffalo that went extinct because extreme demand and the lack of control of said demand. Think before you speak (or Type) and remember what DF is. A game for the Gamers who cherish difficulty and reward, in which Losing is Fun.

Not a game were you can jump in for 4 minutes and accomplish alot, but a game were you can jump in for 4 minutes get absorbed and spend 4 hours in it.

Long live Hardcore DF and the Toady that runs it!
Title: Re: Third party interfaces and "Losing control of the project"
Post by: dreiche2 on August 01, 2008, 03:55:57 pm
I give up.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on August 01, 2008, 04:00:53 pm
" I think this whole issue has been blown out of proportion. Saying that the interface is a main driving factor for the departure of a large % of new players is wholy ignorant of what Dwarf Fortress has come to represent."

Oh?

"(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)"

That quote is from Toady himself. From this topic. Just a few pages ago.

Think, then post. And for the love of god, amount of words <<<<<<<<<<<<<< quality of said words.

I'm with dreiche2 on this one.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on August 01, 2008, 06:32:01 pm
Quote from: Zironic
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.

Quote from: Zironic
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).

Quote from: Zironic
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.

Quote from: Zironic
Donate if you can, Play when you want, and Be supportive.

Or Shut up and leave.
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?

Frankly I don't see why people insist on telling us to stop asking Toady for a new interface and/or third-party interface support. Like Toady himself said earlier, with the level of hacks some people are achieving, a third-party interface is likely to happen a some point whether he supports it or not.

Like he said, he doesn't really want to go down the route of third-party interfaces. So if he doesn't want to, he doesn't have to. Its his decision. But last I knew he didn't have any problems with us offering suggestions. Thus if he doesn't have a problem, why do you?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tamren on August 01, 2008, 06:45:47 pm
Just a friendly reminder. "being chill" is also negated by the following:
- Arguments for arguments sake
- Destroying the context of other people posts by snipping it to bits
- Raising controversy over the form and function of what people say, rather than the intended meaning.

There are several valid lines of conversation in this topic. But lumping them all together in here tangles them up into a useless mess. For topics relating to ethics and not existing DF content, new posts should be made to separate the issues. Those discussing ways to improve the game should migrate to the suggestions forum.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Reasonableman on August 01, 2008, 06:57:01 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Retro42 on August 01, 2008, 07:21:03 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Torak on August 01, 2008, 07:50:17 pm
I swear I saw toady post what should have ended this entire debate 5 pages ago.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on August 01, 2008, 09:32:20 pm
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.

No. More like restoring a rare, classic car, taking pictures of it, and getting mad when someone photoshops it a different color.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on August 01, 2008, 09:42:29 pm
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. ::)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Langdon on August 01, 2008, 09:47:02 pm
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.

I think (from what I understand of Toady's posts in this thread) that he will "lose control" because he will be pressured to support the front end in some way, as there would be increased demand from players on these forums. For example, whenever he breaks that front end with a new version, he is afraid he will be unable to ignore the flood of screaming and whining on the forums, and he will be forced to put aside the code he wants to work on in favor of adjusting DF to work better with the third-party interface. 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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Keiseth on August 01, 2008, 10:14:56 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: isitanos on August 01, 2008, 10:45:04 pm
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.

I wouldn't call myself a "long-term player", especially compared to some people on this forum, but I started playing this game some months before the 3d version came out.

I don't think you're being really imaginative about what could be improved in this interface. I actually like ASCII or symbolic graphics in general, and I find most commands in DF pretty efficient once you've memorized them. However, there are always some irritating small things that Toady takes forever to fix because he's working on something more important, and because it's not his priority. For instance, here are some of the things driving me crazy right now:
- The small view window that's not made for square tiles, and forces you to have a larger screen than 1024x768 if you want to use 16x16 tiles.
- The game pausing every 2 min whenever you are mining, because you discovered mica for the 10 000th time.
- You can't zoom to the event an announcement informs you about
- You can't put a squad on or off-duty from the 'x' (squad) view.

I could make a much larger list, but that's not the point: with third-party interface development, this kind of little problem would be fixed in a matter of days, instead of months like now. Got it? And some cool and almost indispensable functionalities like those of Dwarf Foreman would be integrated with the interface, and so on. The kind of features that help enjoying more your game, and make it less of a chore.

Now I have already stated that I understand Toady's point of view: he's not interested by all these advantages if it ruins his enjoyment of his project. But stop implying that those wishing for 3rd party interfaces are either noobs or have lost their minds.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Lathana on August 01, 2008, 11:37:12 pm
Well, reading through all that was fun.

I'm trying to stay chilled. Honest. I'm just a player of DF, I'm not a coder or a programmer or a hard-core DF nut who's been playing since version 0.21.93.19c or whatever.

Just some guy.

When I started playing DF , getting used to the ASCII was hard. Then came the Z-level, and that was harder to adjust to.  Then I loaded up a few mods, some graphics and tilesets, and voila, this was much easier, easier to get into. Then I started playing with modbase and whoa, totally neat.

DComp and DForeman , later still. Neat tools.

Guess what? To me, all the third party crap in the world wasn't as cool as the first time I loaded up the new legends screen, or drew my own world,  or saw one of my abandoned forts form up as a new group.

All that came from Toady.

Part of me sees what the pro-"open source" camp is saying. They don't want to ruin the game, and they want to make it better. But what underlies that argument seems to be "it's going to happen anyway, stop doing it your way and open it up now". That no matter what, eventually third party mods are going to be popular enough that they may strip a lot of the userbase away.

On the other hand, part of me sees what the "wait for Toady" camp is saying. I don't *need* Dwarf Forreman or Dwarf Companion. I don't need the mods. Hell, I don't even need the tilesets , I can figure it out.

The fun comes from the game, that Toady made.

If anything, I think it's a bit depressing that Toady has thrown so much time and effort into this and everyone is bickering about what they want to see. Personally, I'm the sort of guy who sits back and waits to see where he takes things. The interface hasn't been a problem for me, so I'm probably biased.

The point is made that "third party people would fix lots of problems quickly". Granted. The point is made that "third party people would cause Toady a lot of problems". This is what people keep blithely skipping over.

What are you people pushing for third party interfaces going to do if you're wrong? If it gets to be such a hassle for Toady that he simply says "forget it" and throws in the towel?

Title: Re: Third party interfaces and "Losing control of the project"
Post by: Momaw on August 01, 2008, 11:42:01 pm
I was randomly pulled into this topic from IRC so I'll just rivet my 0.02$ to the end and call it good.

I fully support Toady's right to decide the future of his game in every aspect.  Those who would challenge his absolute authority need to remember that 1.) this is his baby  2.) this is his baby. In other words, we are all guests in his developmental house, and his word is law. He's in this for the fun of making it, to see a fantasy made real.  He's not in it to kiss ass with people he's never met and become world famous for starting the most popular designed-by-committee game engine.

Toady doesn't need to justify his decision, and we don't need to like it.  Those are the facts.  Those who would wail and rend their garments over his refusal to meet their demands need to reassess the value of their opinion as non-commercial consumers.  The correct viewpoint to approach Dwarf Fortress is:  "Hey Toady, that looks awesome! Do you mind if we play too?"

For those who think they can do it better, they are as ever free to do so;  starting from scratch.

:)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: RavingManiac on August 02, 2008, 05:09:12 am
My 2 cents:

This thread should be locked before it gets out of control
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Spelguru on August 02, 2008, 05:28:45 am
I call your two cents and raise with another two cents:
Please, lock this thread. Or nuke it.
Spoiler (click to show/hide)
It can't really go uphill from here. It has fallen down a pit with flat walls.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Tormy on August 02, 2008, 05:50:28 am
My 2 cents:

This thread should be locked before it gets out of control

Thats what Im saying since page 7.  ::)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Mithaldu on August 02, 2008, 06:41:53 am
There's actually one other very good reason why Toady shouldn't implement any APIs like this right now:

Doing so would lock them in and bring most experimentation to a grinding halt. Instead people have to be way more creative in what they do and have to get at the memory themselves and think up new ways how to handle it. The telnet experiment is a good example of this.

When things go on like this, Toady will have a broad range of 3rd party interfaces in a year or so and can then pick and choose which to support (in a way of HIS choosing and if he decides to) or even take ideas from them.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Langdon on August 02, 2008, 10:46:51 am
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).
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on August 02, 2008, 06:32:27 pm
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Langdon on August 02, 2008, 11:46:54 pm
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.

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. I don't pretend to know if Toady found this extra work onerous, but in my opinion, this is a clear case of Toady changing his plans in order to cater to a third-party addition that had become so popular, a significant segment of the playerbase felt the game was unplayable without it.

I am not against third party utilities, but I am against anything (be it utilities, APIs or interface specs) that generates additional work for Toady and delays the progression of core features like the army and caravan arcs.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on August 03, 2008, 12:10:12 am
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.

I mean, it's like my fantasy world of cake decorators.  The chef won't tell the cake decorators what shape, size or color the cake is.  They will only receive the box that the cake is in when the cake is shipped to the client.  Okay sure, the decorator could decorate the box, but it's not going to be as cool, or efficient as decorating the cake itself or practicing with a real cake until they get it just right.  When the customer gets the cake, they will see a pretty box and think it's really cool.  Then they open the box to see a cake that has no decoration.  Now, if the chef were to hand out cake shaped molds, the decorators could practice with all kinds of things to make the best looking and functional cake that is also fitting for the occasion.  Unfortunately, the decorators have to guess what the cake looks like, draw fake designs and fabricate something purely on speculation. ;)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Neonivek on August 03, 2008, 12:44:18 am
Quote
It 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 personally don't know what to say on this subject other then to say that Toady pretty much has the right of way no matter what he decides. Though he should expect to end up being at least 50% disapointed since as we know, Disapointment comes and disapointment goes but internet disapointment is heatseeking!
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Andir on August 03, 2008, 01:01:02 am
Quote
It 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.)
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Davion on August 03, 2008, 11:07:48 am
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.)

So then continue to suggest interface improvements, because it doesn't sound like Toady is going to be opening up the interface to third-parties any time soon.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on August 03, 2008, 12:49:29 pm
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.

Did Toady ever say that? I doubt it, considering the release notes. Toady's "regional prospector" was released in the 39d version. He only did a bugfix of it in 39e.

...and lastly, his side project began on the 24th, and the latest release was the 23rd, just as planned. He didn't have to put off anything at all.

All in all I don't think what you said makes any sense.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Kindjie on August 03, 2008, 01:39:56 pm
I don't see why Toady needs to open up an API for the interface to improve...? I also completely understand why he wouldn't want to do it.

The following three things are all that's really needed to make the game more friendly:

These don't change the game in any fundamental way but would make the jump in for new players a lot smoother. Maybe a few releases from now the game will be more stable in its feature set, and Toady can look at adding more things mouse users expect - like buttons that look/act like buttons, etc.

Adding 3D seems silly. Who's going to create all the assets? What would it add to the game? Extra interface overhead for camera control... The game just wasn't design with true 3D in mind. Similarly for isometric. You rotate the grid to get... what? A counterintuitive keyboard to cursor movement relationship?

Honestly, I can see why people are asking for an open API, but why not just create a list of considered features you'd like to see? The hacked 3D party utilities are still going to be there.

EDIT: And one more thing - 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? How much time should he spend creating this API instead of adding features? Supporting it? In the DF wiki, which interfaces will be covered for new players? 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?
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Frobozz on August 03, 2008, 02:34:31 pm
Quote from: Kindjie
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.

Quote from: Kindjie
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.

Quote from: Kindjie
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.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: SirPenguin on August 03, 2008, 05:22:45 pm
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?

Uh, why do you think that? Toady is a math professor turned programmer. He himself has stated he's self taught. Then you have plenty of CoSci majors here (at least one including me) who probably have a better idea on how to get an GUI working than him.

He is an AMAZING programmer all things considered, but better, he's an amazing planner. He and his brother both. That's why DF is so successful, he has a clear and well documented path. And all the math portions of the game, such as pathfinding and world gen, are all fantastic. But that's under the hood. Hell, all of math is under the hood.

Toady is great, but he's not great at everything. No one is. The alternative to hiring 'staff' is to let the community fiddle and tinker. That's all we're (I'm) saying.
Title: Re: Third party interfaces and "Losing control of the project"
Post by: Kindjie on August 04, 2008, 05:42:22 pm
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.

Of course. In fact I'm playing Evil Genius right now which is similar in that regard. The difference is that those projects had comparatively large budgets with dozens of people working on them. You need coders to implement an animation system. Riggers, texture artists, modelers, and so forth. Dungeon Keeper let you take over a minion in first person view, which (besides marketing) was the reason it was 2.5D (3D w/2d sprites). Other games, like Evil Genius, save memory by storing skeletal animation data instead of pages and pages of 2D animation.

Dwarf fortress has at least two things that make 3D more complicated: 1) multiple z-levels, and 2) hundreds of tiny objects that are easily obscured by each other and walls. That's assuming a team could find and coordinate enough artists to generate the required content.

Like I said in my original post, you'd spend a lot of resources on something that will only add interface overhead.



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 did, and I think most people will be underwhelmed. I'd expect a similar thread to this one, actually. (EDIT: I haven't tried it, but just using Win32's PostMessage() should give you this already.) And if you actually wanted access to his data then you'll run into all the issues people have already brought up. Furthermore, you're almost certainly going to run into performance issues because clients will be forced to compromise with their algorithms or ask Toady for more features.



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.

By qualified I mean has studied/experience in design. If you think implementing an interface is the same as designing one then you're wrong. Any programmer can implement an interface; it's trivial in most modern IDEs. It's quite another thing to design a good one. Just look at all the crap software interfaces that are out there!

In fact, a good way of coming up with a bad interface is to presume you know what the user wants. A good way of coming up with a good interface is to iteratively develop a series of prototypes while gathering user feedback. Which is pretty much what Toady's been doing and why I suggest we create a list of things we'd like to see instead of whining for something he's already considered.

I'd just like to add that I don't strictly disagree with third party interfaces; I just think time and resources could be spent more effectively elsewhere.