Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 7 8 [9] 10 11 ... 21

Author Topic: Third party interfaces and "Losing control of the project"  (Read 139537 times)

Tormy

  • Bay Watcher
  • I shall not pass?
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #120 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.
Logged

Kazindir

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #121 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? ;)
Logged

Tormy

  • Bay Watcher
  • I shall not pass?
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #122 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.
Logged

Andir

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #123 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?
Logged
"Having faith" that the bridge will not fall, implies that the bridge itself isn't that trustworthy. It's not that different from "I pray that the bridge will hold my weight."

Omega2

  • Bay Watcher
  • Too productive for his own good
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #124 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.
Logged
Fire in the disco! Fire in the disco! Fire in the dining hall!

Frobozz

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #125 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.
« Last Edit: July 30, 2008, 08:14:31 am by Frobozz »
Logged

Andir

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #126 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
Logged
"Having faith" that the bridge will not fall, implies that the bridge itself isn't that trustworthy. It's not that different from "I pray that the bridge will hold my weight."

Omega2

  • Bay Watcher
  • Too productive for his own good
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #127 on: July 30, 2008, 08:20:20 am »

So that's just intercepting the graphical commands and rendering them by itself? Mhm...

Brilliant.  ;D
Logged
Fire in the disco! Fire in the disco! Fire in the dining hall!

Frobozz

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #128 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.
« Last Edit: July 30, 2008, 08:25:02 am by Frobozz »
Logged

ervill

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #129 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.
« Last Edit: July 30, 2008, 08:34:39 am by ervill »
Logged

Davion

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #130 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.
« Last Edit: July 30, 2008, 09:42:10 am by Davion »
Logged

Sergius

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #131 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!
Logged

isitanos

  • Bay Watcher
  • Seasonal river flood nostalgic
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #132 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...
Logged

Sergius

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #133 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.
Logged

Langdon

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #134 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).
Logged
Pages: 1 ... 7 8 [9] 10 11 ... 21