Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: UI suggestion(s)  (Read 980 times)


  • Escaped Lunatic
    • View Profile
UI suggestion(s)
« on: May 22, 2011, 12:11:56 pm »

First post, so sorry if it is already discussed somewhere else.

1) Script API. This could make life much easier for newbies since they could just grab a specific helper program (or set of), and more experianced users could write up their own programs to help them out with a specific job (say, repeatedly proccessing quarry bush leaves or brewing alcohol). One idea for implementation would be that each script would require a dwarf to execute (kind of like replacing their default AI with a user-written one).
1a) Use Lua for the scripting language. Their website gives plenty of reasons why, and other projects (Vendetta Online and Awesome Window Manager come to mind) have used it to great effect.

2) User-definable UI. The idea of making the menu system a little more intuitive has been passed around I'm sure, and giving the user (some) control over the UI can also help cover edge cases where a standard GUI might fail.
2a) Expanded hotkeys would fit under this heading, and defining hotkeys for some task (mass dumping) could save keystrokes and allow players to spend less time paused and more time watching their dwarves.

For a much more complex (and probably much more flexible) suggestion:

3) Seperate the game core and the UI entirely. Using a client/server model should allow for a plethora of new interfaces, such as 3D, graphic 2d (isometric), and framebuffer in Linux (I havn't seen the frame buffer driver listed in the init.txt file work).
DF2010 on Linux (Arch 64-bit multilib)
Games I have had fun with: 1 lost to goblin ambush


  • Bay Watcher
  • murbleblarg
    • View Profile
Re: UI suggestion(s)
« Reply #1 on: May 22, 2011, 02:15:15 pm »

I'd suggest going through Footkerchief's post on the subject before going any futher so that you at least get an idea of what's been discussed before (and believe me, it has been discussed before :D):

Here's a nice summary of Toady's thoughts on adding scripting / third party interfaces (at least I haven't seen anything newer) compiler by Footkerchief. Take a look through it:

Anyway, yes, this has been suggested before and Toady has made a couple direct responses.  Any supporters of the idea should definitely read these:

Spoiler: response (click to show/hide)

Spoiler: followup (click to show/hide)

Also some earlier stuff:

Spoiler: part 1 (click to show/hide)

Spoiler: part 2 (click to show/hide)

Made it this far?  Here are previous threads we've had (and I probably missed some):

A Client/Server Architecture (But not for multiplayer)
Third party interfaces and "Losing control of the project" (the earlier quotes are from here)
The direction of the Interface
Scripting API
External API for helper applications
Embedded UI scripting (the latter quotes are from here)
(Note: Added the thread titles to the links)

Long story short: Toady doesn't want to do it. You're not alone in thinking that it would be useful, but in the end this is Toady's project and what he says goes.
You may think I'm crazy / And I think you may be right
But life is ever so much more fun / If you are the crazy one

My blog: Photography, Programming, Writing
Novels: A Sea of Stars, Confession


  • Escaped Lunatic
    • View Profile
Re: UI suggestion(s)
« Reply #2 on: May 26, 2011, 05:01:06 pm »

I think that explains everything. Thanks for the detailed response.
DF2010 on Linux (Arch 64-bit multilib)
Games I have had fun with: 1 lost to goblin ambush