Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4 5 ... 21

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

RPharazon

  • Bay Watcher
  • [SEVERONBREAKS]
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #30 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.
Logged
Quote
<Zaratustra> DF -is- a complex version of the sims
<Zaratustra> except instead of purchasing new sofas
<Zaratustra> you die

Syreal

  • Bay Watcher
  • Grand Master Magma Bather
    • View Profile
    • Syreal Games
Re: Third party interfaces and "Losing control of the project"
« Reply #31 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?
Logged
You die in the heat.

Andir

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

Mithaldu

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

Nukeitall

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

Frobozz

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #35 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. The author was an 18 year old who also was a fan of a GCS called 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.
« Last Edit: July 28, 2008, 10:53:35 pm by Frobozz »
Logged

Andir

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

isitanos

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

Omega2

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

Jifodus

  • Bay Watcher
  • Resident Lurker
    • View Profile
    • Dwarf Fortress Projects
Re: Third party interfaces and "Losing control of the project"
« Reply #39 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?
Logged

isitanos

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

Mr.Person

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #41 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.
Logged
Youtube video of the year, all years.
Hmm...I've never been a big fan of CCGs - I mean, I did and still do collect Pokemon cards, but I never got heavily into the battling and trading thing.

By definition that makes you a fan since you still buy them.

Angry Lawyer

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

dreiche2

  • Bay Watcher
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #43 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.  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
 
« Last Edit: July 29, 2008, 05:43:17 am by dreiche2 »
Logged

Omega2

  • Bay Watcher
  • Too productive for his own good
    • View Profile
Re: Third party interfaces and "Losing control of the project"
« Reply #44 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.
Logged
Fire in the disco! Fire in the disco! Fire in the dining hall!
Pages: 1 2 [3] 4 5 ... 21