Bay 12 Games Forum

Please login or register.

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

Author Topic: Abstracted Interface: Redux  (Read 13393 times)

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Abstracted Interface: Redux
« Reply #30 on: June 21, 2015, 08:07:33 pm »

Not to detract from your larger point, but actually, stockpile lists have gotten a lot better, lately, as you have that search function, and you can "f"orbid only the things you search for.  Hence, you can separate out the fat from the tallow in the food stockpile by just punching in "tallow" and then hitting "f". 

(I'm not sure if this is only because of DFHack, though, because like heck I'm ever going back to playing vanilla again...)

But anyway, Toady just plain doesn't seem to like thinking about Interface much at all, as evidenced by continuing problems with "data invisibility", where pretty much the only way to even know what is going on is through memory hacks, as Toady doesn't even seem to make that many developer tools to let himself see the data.  (Meaning that memory hackers often find out what's going wrong when Toady doesn't, because Toady never made a tool to test his own work...) A lot of the tools that Toady does create wind up being added into the game, anyway, like the Arena mode and the follow button.

To a certain degree, Toady's been showing some improvements, at least, although there are intermittent backslides. 

Beehives, for example, actually tell you what each option does on the screen where you make those choices.  BRAVO, TOADY! THAT! DO THAT MORE! But then, there's animals that do not mate because of issues with commitment, and not being willing to "marry" another goose, which is a totally invisible, but completely major game feature.  While we're at it, the fact that, unlike beehives, it's impossible to find a simple "do not harvest eggs from this nestbox" feature, that force most players to have to notice when eggs are laid before dwarves rush in to put them in the food pile...
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Abstracted Interface: Redux
« Reply #31 on: June 22, 2015, 01:43:27 am »

Not to detract from your larger point, but actually, stockpile lists have gotten a lot better, lately, as you have that search function, and you can "f"orbid only the things you search for.  Hence, you can separate out the fat from the tallow in the food stockpile by just punching in "tallow" and then hitting "f". 

(I'm not sure if this is only because of DFHack, though, because like heck I'm ever going back to playing vanilla again...)
It is.
Quote
The search plugin adds search to the Stocks, Animals, Trading, Stockpile, Noble (assignment candidates), Military (position candidates), Burrows (unit list), Rooms, Announcements, Job List and Unit List screens.
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

bcmpinc

  • Bay Watcher
    • View Profile
Re: Abstracted Interface: Redux
« Reply #32 on: June 22, 2015, 06:35:13 am »

Shortcuts provided by dfhack can usually be recognized by their hotkey being red, rather than green. It makes me wonder how popular dwarf fortress would have been if dfhack did not exist. Or dwarf therapist, or tilesets.

Based on the quote below, tilesets is apparently also a feature that was implemented by Baughn.
Fun fact: Toady hated coding the UI so he had somebody else code it for him once. It's a single exception that unlikely to happen ever again, but it's some useless trivia that's fun to think about.
You're thinking of the graphics. Toady open-sourced them for some OpenGL upgrades, which brought about the SDL version with Mac and Linux compatibility, multithreading and tilesets.

Though, Toady's lack of interest in the user interface, combined with how protective he is about Dwarf Fortress, I've little hope that the interface is ever going to improve. Maybe our only chance would be to take the same route as openttd did with transport tycoon deluxe, and openrct2 is currently on. Though it is a hell of a lot of work, which is made worse by the fact that the game is still being updated.

Edit: Apparently, mifki has already done amazing work on writing a new user interface from scratch for the iPhone: http://www.bay12forums.com/smf/index.php?topic=145944.0 (watch the movie).
« Last Edit: June 22, 2015, 01:15:51 pm by bcmpinc »
Logged

lethosor

  • Bay Watcher
    • View Profile
Re: Abstracted Interface: Redux
« Reply #33 on: June 22, 2015, 09:37:48 pm »

Yeah, that uses DFHack extensively (and something similar wouldn't be hard to implement with DFHack currently).

Toady's main concern about exposing APIs in the past has been maintaining backwards compatibility - in order to make 3rd-party UIs feasible, he'd have to expose a lot of in-game information, and changes to that would break things that rely on it. Some people tend to refuse to play DF without their favorite utilities, so breaking changes could result in opposition regardless of their content. That's probably less of an issue currently, with the number of people working on DFHack that are experienced with handling these types of changes (to an extent, at least - a complete 3rd-party UI would require a lot more work to update).
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Abstracted Interface: Redux
« Reply #34 on: June 22, 2015, 10:16:50 pm »

Considering how much it breaks anyway, I'm not entirely sure if an official API would be much worse, heh.

bcmpinc

  • Bay Watcher
    • View Profile
Re: Abstracted Interface: Redux
« Reply #35 on: June 23, 2015, 04:25:18 pm »

Considering how much it breaks anyway, I'm not entirely sure if an official API would be much worse, heh.
Yeah. It makes me wonder though, how do you keep up your motivation required to work on mods and utilities if Toady is going to break compatibility anyway in the next release, and you have to work under the most horrible condition (requiring reverse engineering) to fix it?

If there was an official API, it would certainly be a lot easier to fix compatibility after each update. Which also means that there would be a lot more people capable of fixing the compatibility. However, I would expect that the API would have similar issues as the current UI, meaning that memory hacking remains necessary.

The user interface has been a constant source of complaints (and flame wars) for the last 9 years now. It would be naive to think that pressuring Toady to care about the interface is going to change that. The more I read up on Toady's opinion on an abstract interface, the more I'm getting convinced that it (or something equivalent) is never going to happen and I should just forget about Dwarf Fortress and pickup openttd again, or something else. It is not as much that Toady is afraid of breaking backwards compatibility, he is just afraid that when it happens he will feel pressured into fixing it by all the users complaining that their favorite third party tool is no longer working. And he believes that fixing implies cooperating with the third party developers, which he does not want, possibly because it has made him unhappy in the past.
I don't want to work with other people.

Making DF open source, either with Toady's unlikely cooperation, through the tedious work of decompilation or by rewriting it from scratch, seems to be the most likely way to tackle the user interface problem once and for all. It provides full access to the game's internals, without having to rely on memory hacking. People that annoyingly complain about incompatibility can be told to go fix it themselves: "it's open source". Despite being discussed a lot on the forum, it is actually quite hard to find anything on Toady's opinion on releasing the source code to DF. I found the following ancient post though:
(B) If donations were to somehow allow us to devote the entire day every day to making games, that would be Beyond Quality. [...]
(2) Source is released, unrestricted.
(2i) If there's enough interest, variants occur, people eventually add graphics and do other things and so on.  Despite these being founded on years of B12 effort and perhaps only differing in cosmetic ways, B12 donations dry up.  (B) is unattainable.
(2ii) If there isn't enough interest for this to happen, then (B) was unattainable to begin with.
Despite the source not having been released, (2i) still happened, however, contrary to what Toady expected, B12 is receiving more donations than ever. I cannot say how releasing the source code would affect that, though I expect it to be better than when it becomes open source through other means. At least it would create a huge burst of renewed interest in DF.

I also find it odd that Toady's goal seems to be the programming itself, as he seems to care little about actually finishing the game, playing the game, monetary gain, or the players.
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Abstracted Interface: Redux
« Reply #36 on: June 23, 2015, 04:27:38 pm »

2i definitely did not happen. You misunderstand what he meant. He means things like Khazad, attempted forks of Dwarf Fortress under different names that purport to fix the game. No such thing actually exists by any reasonable definition of the word "exist" right now.

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Abstracted Interface: Redux
« Reply #37 on: June 23, 2015, 07:11:52 pm »

And while making your own game from scratch is fine and all, (See: Gnomoria,) there's a massive ethical (and legal) question about stealing the source code and trying to make your "own" game from it. 

Rather, I think it better to just nudge Toady towards practices that don't require people memory-hack the game to fix the Interface to begin with...
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Abstracted Interface: Redux
« Reply #38 on: June 23, 2015, 07:12:57 pm »

Thus my usage of the word "fork" instead of "clone" (I.E something explicitly building off of DF's source).

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Abstracted Interface: Redux
« Reply #39 on: June 23, 2015, 07:23:51 pm »

Thus my usage of the word "fork" instead of "clone" (I.E something explicitly building off of DF's source).

I was referring to this:

Making DF open source, either with Toady's unlikely cooperation, through the tedious work of decompilation or by rewriting it from scratch, seems to be the most likely way to tackle the user interface problem once and for all.
(Bolding for emphasis.)
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

bcmpinc

  • Bay Watcher
    • View Profile
Re: Abstracted Interface: Redux
« Reply #40 on: June 23, 2015, 07:57:34 pm »

2i definitely did not happen. You misunderstand what he meant. He means things like Khazad, attempted forks of Dwarf Fortress under different names that purport to fix the game. No such thing actually exists by any reasonable definition of the word "exist" right now.

I was more thinking of variants like lazy newb pack, DF starterpack, macnewbie and also things like stonesense or the iPhone client. If DF where to become open source, more of that would happen. I consider that a good thing and hope that Toady sees it as a good thing as well.

I don't know about Khazad. There is one by peterix: http://sourceforge.net/projects/khazad/, which is just a viewer, kind of like stonesense. I've also found https://github.com/ImpalerWrG/Khazad, which definitely tries to be a DF clone and is still somewhat alive, but not much of a fork.

If it was someone trying to get attention by shamelessly taking Toady's work and presenting it as their own, yeah thats bad. I've seen it happen once with minetest (an open-source minecraft clone), where someone shamelessly pretended to be as important as the original developer. It sucks when that happens, even when the person doing it is quickly caught and burned. Such forks are short-lived though. If they had the knowledge to keep the fork alive, they did not have to steal it in the first place.
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Abstracted Interface: Redux
« Reply #41 on: June 23, 2015, 08:08:26 pm »

yeah, forgot to post the history behind that

2i definitely did not happen. You misunderstand what he meant. He means things like Khazad, attempted forks of Dwarf Fortress under different names that purport to fix the game. No such thing actually exists by any reasonable definition of the word "exist" right now.

I was more thinking of variants like lazy newb pack, DF starterpack, macnewbie and also things like stonesense or the iPhone client. If DF where to become open source, more of that would happen. I consider that a good thing and hope that Toady sees it as a good thing as well.

But that's not what Toady was thinking. Those are not variants, they are repacks. the "add graphics" etc. comment was before DF actually had graphics support.

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Abstracted Interface: Redux
« Reply #42 on: June 24, 2015, 12:28:17 am »

Yeah, for a while, Impaler's name was wielded as a cudgel against anyone arguing that Toady should be making interface changes, because obviously, anyone who says Toady should behave differently is committing heresy and is a thief... 

Still, saying that we should look to Khazad as an example is not a good argument.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Abstracted Interface: Redux
« Reply #43 on: June 24, 2015, 12:56:23 am »

I'm only using it as an example of what was likely meant with the thing Toady said would happen there.

expwnent

  • Bay Watcher
    • View Profile
Re: Abstracted Interface: Redux
« Reply #44 on: June 25, 2015, 11:11:33 am »

Making it open source does not solve the problem, and telling people to fix it themselves is not a solution because only a small subset of players have the necessary skill to both program and know the game and user interface design well enough to design a good interface. It's never going to happen anyway. Toady has said many times that he's not going to make it open source.

I think people would be surprised how much is currently possible with DFHack. One ambitious person with a lot of free time could probably redo most of the whole interface. We know how to directly paint tiles to the screen, create new viewscreens, listen for keyboard input, etc. People have added search buttons to existing viewscreens before. Quietust even made a simplified version of Dwarf Therapist in-game.
Logged
Pages: 1 2 [3] 4 5 6