Bay 12 Games Forum

Please login or register.

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

Author Topic: Re: DF Eternal Suggestion Voting  (Read 2524 times)

Exponent

  • Bay Watcher
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #15 on: March 15, 2009, 10:56:26 am »

I think the best way the whole problem could be solved would be to rearrange the code so that UI code is separate and communicates with the rest of the game via controllers. This would allow for third party devs from the community to do the tedious and uninteresting work of designing a proper interface.

Unfortunately (for those of us who would be willing to create a third-party UI), it has already been discussed, and Toady wasn't very interested in the idea.  See here, in case you haven't already.
Logged

H

  • Bay Watcher
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #16 on: March 15, 2009, 02:19:27 pm »

The problem is that finalizing any sort of decent interface for the game can be risky, in my opinion, if there's so much content left to be done. After all, it's hard to design an interface if you don't know half of what you're designing it for, and it would take a lot of extra effort if he had to gut the whole thing again later.

Leaving the UI of a game until the end is a really really bad idea.  The UI is not just something that is tacked onto a program; the UI is the only connection between the player and the engine, and thus it has as large of a role in how the game is played and enjoyed as the engine does.  The reason above ground structures aren't very common, for example, is in part because the UI for building them is so inconvenient.

There are a number of aspects of DF that I'm simply not sure a good UI could ever be designed for.  Which means that something about the way the user interacts with these features will have to change, which means that something about the way the game is played will have to change.  And that's not the sort of thing that should be left to the end.  Let me give some examples:

Job assignment:

Currently the UI for determining which jobs a dwarf does is an embarrassing mess.  To turn on or off a job you have to scroll through a huge unordered list.  Because the list is not in alphabetical order (or some other logical order) turning on or off a job essentially means reading through every page of that list again and again until you end up memorizing the positions of certain common jobs.  Would ordering the list make for a better UI?  Yes, but there would still be problems.  The sheer length of the list is an issue, even if it were ordered and could be manipulated with the mouse.  One way to get around the list is job profiles.  Instead of changing what a dwarf does by changing their individual jobs the player could instead select a job profile for them (out of a much smaller number).  Having to mess with the full list could become an issue only when editing a job profile, which would be much less frequent.  Or, alternatively, the job list could be broken up into groups (such as stoneworking, woodworking, food preparation, etc).  The list of these groups could be a manageable length.  The player would then have the option to turn on or off all jobs within the groups, or to go into the group and make changes to some of the jobs.

Both UI solutions change how the game is played.  In both solutions it would be rare to have a dwarf with just one job. It would also be common for some jobs to always be found together (such as fishing and fish cleaning).  Thus a more sensible treatment of job priorities would be required.  Time sensitive tasks, like trading and butchering, would have to be preferred over others.  Additionally, there would have to be some preference for job rotation, lest all the fisher/masons (to pick an arbitrary example) spend all their time fishing and none of their time making cabinets.  That's one example of how a sensible UI can lead to changes in how the game is played.

Mining:

Mining is another good example of how the UI has an impact on how the game is played.  In this case the relevant UI decision is the top-down method of display.  This encourages horizontal construction because it is easier to visualize how everything on that level fits together.  Furthermore it is easy to designate passages in a horizontal direction for digging.  In contrast vertical shafts are more difficult to designate, and it is hard to keep track of where rooms are in the level above and below.  Together this encourages building fortresses that have a minimum level of vertical connectedness, and which have their major rooms on only a few levels.  This is not a problem so much as an illustration of how the UI can have an impact on how the game is played.  If the UI encouraged creating vertical fortresses then the extremely shallow depth limit would be a problem; currently it's not because of the UI.  Again, a late change in the UI to make building vertical fortresses easier could mandate raising the depth limit significantly, which might in turn would require a better way of storing the map data than in a giant 3-dimensional array (which is a memory waster, given that most tiles stored in it have nothing interesting going on in them).  So that's another example of how the UI can affect how the game is played, which can in turn affect how the engine is designed.

Concluding remarks:
Because the UI is the only thing the user is interacting with (i.e they don't interact with the engine itself, no matter how nice), and because it has a large effect on how the game is played, the UI should be considered to be just as important as the game engine.  (Note: UI, not graphics.)  Thus the UI should be developed alongside the game, not tacked on at the end as an afterthought.
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Re: DF Eternal Suggestion Voting
« Reply #17 on: March 15, 2009, 03:01:15 pm »

Or, alternatively, the job list could be broken up into groups (such as stoneworking, woodworking, food preparation, etc).  The list of these groups could be a manageable length.  The player would then have the option to turn on or off all jobs within the groups, or to go into the group and make changes to some of the jobs.

This in particular is a good idea.

Concluding remarks:
Because the UI is the only thing the user is interacting with (i.e they don't interact with the engine itself, no matter how nice), and because it has a large effect on how the game is played, the UI should be considered to be just as important as the game engine.  (Note: UI, not graphics.)  Thus the UI should be developed alongside the game, not tacked on at the end as an afterthought.

I wouldn't go so far as to say it's "just as important," but it definitely shouldn't be a tacked-on afterthought either.  A continuing theme in my own (non-game) projects is that the UI reflects back on the rest of the application in unexpected ways, no matter how well you plan.  On the other hand, DF has some exceptional (or at least unusual) UI challenges -- the depth of simulation and the consequently ambiguous granularity of its UI, the clash between player omnipotence/omniscience and player restraint, and of course the fact that it's getting releases even though none of the game is anywhere near "complete."

Combine those factors with the pragmatic consideration that Toady a) doesn't enjoy working on UI and b) needs to stay interested in the project, and the current compromise doesn't look so bad, especially since we are, as I mentioned above, getting the occasional interface upgrade for its own sake, along with a slew of upcoming interface upgrades out of necessity.
« Last Edit: March 15, 2009, 03:05:20 pm by Footkerchief »
Logged

H

  • Bay Watcher
    • View Profile
Re: Re: DF Eternal Suggestion Voting
« Reply #18 on: March 15, 2009, 04:35:47 pm »

pragmatic consideration that Toady a) doesn't enjoy working on UI and b) needs to stay interested in the project

Oh how I love programmer schizophrenia.  The logical conclusion from those two points is that the UI should be refactored into a dll and a generic interface published for it*, effectively allowing someone else to do the "boring" work.  But, alas, our programmer would rather keep a task he hates all to himself, even though he doesn't want to do it.

* It could be generic enough to keep up with any changes in the engine.  For example, data and commands could be exchanged in XML (or some other text format), which would mean that changes simply wouldn't be reflected in an out of date UI dll, not break it.
Logged

praguepride

  • Bay Watcher
  • DF is serious business!
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #19 on: March 15, 2009, 05:39:39 pm »

@Mining makes it hard to do vertical development:

I disagree completely! I always make my fortress a vertical shaft around  a central stair well. I don't have any problems figuring out where rooms are in regards to each other, in fact I find it easier to visualize then a horizontal one. With my vertical one, i have a workshop level, a food production level, a residence level, a tomb level etc. etc.

The UI isn't the biggest issue, it's the steep initial learning curve. Toady has it on the devs to create a tutorial, but otherwise the wiki is the best sort of reference. If the tiles are confusing, there's plenty of 3rd party tilesets to download, but personally I <3 the ascii look, it really makes me feel like I'm playing an awesome old-school game.

I'm glad that Toady isn't hung up on graphics because look at how many pretty games are out that are complete shite underneath. You can slap on the best antialias and bloom effects you want, but a shitty game is a shitty game. You can easily mod graphics (again, see all the different tilesets) but modding in content is a bit tougher. Toady is working on expanding existing content to allow even more mods and so on and so on.
Logged
Man, dwarves are such a**holes!

Even automatic genocide would be a better approach

Jackrabbit

  • Bay Watcher
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #20 on: March 15, 2009, 05:49:17 pm »

But I think that very investment blinds you to the actual main problem with the game.

I don't care about any of the other suggestions in your survey.  Right now, for me, the game is completely unplayable because I can't tell WTF is going on.  It doesn't matter to me whether you can castrate cats or build staircases out of rope because I can't figure out how to tell if I own any cats or how to build staircases.  (Well, okay, NOW I do, but I had to come online to look up *how to access the menu*.)  It can't possibly be news to you that the interface is completely opaque and the learning curve is a 90 degree vertical cliff for the first 2-3 hours.

This point is very true and valid but I take issue with you claiming the game is unplayable. With so many people on the forums who can play it and understand the interface, it is an enormous difficulty but not impossible.

Other than this small nitpick, I agree wholeheartedly. I hope you eventually get either a graphics pack or the will to invest the stupid amount of time necessary (I don't know how I caught on so quickly. Maybe I watched the matrix to many times) so you don't miss out on this fantastic game.
Logged

Duke 2.0

  • Bay Watcher
  • [CONQUISTADOR:BIRD]
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #21 on: March 15, 2009, 07:06:16 pm »

 I don't think the issue so much is Toady hating making a UI but how he doesn't want to redo it a trillion times over the course of development. This is also why we don't have graphics. He is making the framework right now, with a few extra little things to show what it can do and make it a bit playable. This is no stage for polish.

 While I could argue that the DF interface is good enough that you would not be forced to use a third party program to play the game, I can see how it could evolve later on to dependency on the third party program. Then Toady would have to work on this program when the developer stops working on it. I can see how that would be horrendous.

 Still, as far as roguelikes go DF is rather nice with it's UI, mainly how it tells you every command you can do in Fortress mode.
Logged
Buck up friendo, we're all on the level here.
I would bet money Andrew has edited things retroactively, except I can't prove anything because it was edited retroactively.
MIERDO MILLAS DE VIBORAS FURIOSAS PARA ESTRANGULARTE MUERTO

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Re: DF Eternal Suggestion Voting
« Reply #22 on: March 15, 2009, 07:39:30 pm »

I don't think the issue so much is Toady hating making a UI but how he doesn't want to redo it a trillion times over the course of development. This is also why we don't have graphics. He is making the framework right now, with a few extra little things to show what it can do and make it a bit playable. This is no stage for polish.

I'm not sure I agree entirely.  Full tile support, for instance, would be more or less orthogonal to all other aspects of development if it followed the model of the current tile support, i.e. it would not be rendered obsolete by the addition of X or the overhauling of Y. 
Logged

H

  • Bay Watcher
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #23 on: March 15, 2009, 07:44:37 pm »

While I could argue that the DF interface is good enough that you would not be forced to use a third party program to play the game, I can see how it could evolve later on to dependency on the third party program. Then Toady would have to work on this program when the developer stops working on it. I can see how that would be horrendous.

I'm not sure how this could ever happen.  First Toady will always have to be working on some UI, at the very least to test any new features he wants to add.  If a third party develops a really nice UI he might just start building off of that; then no problems of the sort you are worried about will ever arise.  But suppose that he stubbornly sticks to developing his own and, by your hypothesis, inferior UI (why would he do that?) in parallel to the better one.  And suppose the better one gets dropped for some reason and no one else takes up working on improvements (again, I can't see how this would be possible if a) lots of people still like the game and b) it really is better).  Even then we would be no worse off than we are now, because we would have the choice of using Toady's version, like we do now, or using a nicer, but out of date, UI.  Either way we aren't worse off than we are now; indeed, because of the choice we are strictly better off.  And that's in a worse-case situation I can't see actually arising.
Logged

praguepride

  • Bay Watcher
  • DF is serious business!
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #24 on: March 15, 2009, 09:07:10 pm »

I'd like to point out that technically, DF is still in alpha phase, which generally speaking with most games is based around hardcore content. Most games don't get serious UI overhauls until beta (or even mid-beta with WAR)
Logged
Man, dwarves are such a**holes!

Even automatic genocide would be a better approach

G-Flex

  • Bay Watcher
    • View Profile
Re: Re: DF Eternal Suggestion Voting
« Reply #25 on: March 16, 2009, 01:06:41 am »

I don't think the issue so much is Toady hating making a UI but how he doesn't want to redo it a trillion times over the course of development. This is also why we don't have graphics. He is making the framework right now, with a few extra little things to show what it can do and make it a bit playable. This is no stage for polish.

I'm not sure I agree entirely.  Full tile support, for instance, would be more or less orthogonal to all other aspects of development if it followed the model of the current tile support, i.e. it would not be rendered obsolete by the addition of X or the overhauling of Y. 

Not necessarily.

How do you have full tile support, for instance, when creatures and other objects end up being randomly generated sometimes? In that case, it certainly can't assume that every single creature has its own graphic (which, incidentally, is actually kind of possible now).
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Re: DF Eternal Suggestion Voting
« Reply #26 on: March 16, 2009, 01:18:40 am »

Not necessarily.

How do you have full tile support, for instance, when creatures and other objects end up being randomly generated sometimes? In that case, it certainly can't assume that every single creature has its own graphic (which, incidentally, is actually kind of possible now).

Interesting point.  Hmm... from what Toady's said about the likely form of random generation, it might involve generation of new raw files that can then be further tweaked etc.  That would technically allow the same kind of creature graphics, but yeah, graphics packs as we know them wouldn't ever be useful for randomly generated creatures.

Still, we already have creature graphics, so there won't really be any wasted effort there.  Random minerals and objects are definitely a long ways off, and at any rate there'll always be a stock world full of stock creatures, items, minerals, plants, etc. worth making graphics for. 
Logged

G-Flex

  • Bay Watcher
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #27 on: March 16, 2009, 02:54:09 am »

Oh, of course. I was just trying to illustrate the point that new things come along that you might not anticipate, which might break whatever UI elements are already in place.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

praguepride

  • Bay Watcher
  • DF is serious business!
    • View Profile
Re: DF Eternal Suggestion Voting
« Reply #28 on: March 16, 2009, 05:18:51 am »

Crusader Kings had an awesome "genetic inheritence" bit of code. Basically a child would "randomly" inherit traits from their parents so their resulting portrait would have their father's eyes or their grandomther's chin etc. etc.

It used it by construction long "genetic seed" strings that were semi-random variables composed of a randomized combination of the parents. Different seed combinations resulted in black/blonde/red hair etc. etc.
Logged
Man, dwarves are such a**holes!

Even automatic genocide would be a better approach

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Re: DF Eternal Suggestion Voting
« Reply #29 on: March 16, 2009, 06:19:13 am »

Crusader Kings had an awesome "genetic inheritence" bit of code. Basically a child would "randomly" inherit traits from their parents so their resulting portrait would have their father's eyes or their grandomther's chin etc. etc.

It used it by construction long "genetic seed" strings that were semi-random variables composed of a randomized combination of the parents. Different seed combinations resulted in black/blonde/red hair etc. etc.

Wrong thread?  At any rate, basic inheritance of physical characteristics has already been implemented for the next version.
Logged
Pages: 1 [2] 3