Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Poll

Which ramp style is your favorite?

A) Angled Square
- 30 (31.3%)
B) Smoothed Square
- 21 (21.9%)
C) Angled Circle
- 39 (40.6%)
D) Smooth Circle
- 6 (6.3%)

Total Members Voted: 95


Pages: [1] 2 3 ... 10

Author Topic: 3D GUI for DF [Discussion & Development]  (Read 54019 times)

Solifuge

  • Bay Watcher
    • View Profile
3D GUI for DF [Discussion & Development]
« on: May 01, 2009, 11:37:07 pm »

Current Poll: Which of the following is your favorite Ramp Style?




I was fiddling around with Isometric Pseudo-3D Tile Graphics this afternoon, and came upon a rather interesting idea. I know that Map Data can be retrieved from Dwarf Fortress, and interpreted (as with the 3Dwarf 3D Fortress Visualizer). Also, as with Macro-Writing Programs, I know that commands can be passed back to Dwarf Fortress program as well.

With this knowledge, and with a strong desire to do some Isometric Tiles, I set about slapping together a mockup of a Dwarf Fortress GUI. The idea is to run the program alongside Dwarf Fortress, interpreting the map data as a graphical display, and interpreting user input (including point-and-click input, such as selecting a Workshop from a drop-down menu, and mousing it over to wherever you wanted it built) back into the Dwarf Fortress program.

I imagine it looking something like this:


What do you think? I know that Graphics are a touchy subject for both players and the development team, and need to be handled with care lest they cheapen the immersiveness of the text. Still, I know this sort of GUI is at least partially feasible, and this example could provide aid in visualizing the complex 3D terrain that makes up DF maps in ways that the top-down ASCII view cannot.

Also, I am an amateur programmer at best, and though I know enough to see potential, I have no idea how to go about retrieving the needed data in order to create a GUI. Does anyone have suggestions or ideas, or perhaps can provide information on how DF Maps are encoded?
« Last Edit: October 05, 2009, 03:55:12 am by Solifuge »
Logged

Il Palazzo

  • Bay Watcher
  • And lo, the Dude did abide. And it was good.
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #1 on: May 01, 2009, 11:59:00 pm »

Looks great. It certainly seems like a good idea. I only wonder how much more processing power would one need to run both DF and such a graphical UI simulatenously.
Logged

KilgoreTrout

  • Bay Watcher
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #2 on: May 02, 2009, 12:22:22 am »

Looks great. If someone were to come up with a way to make this real without making it too tasking on the ol' processor, I would never leave my home again.
Logged

Andir

  • Bay Watcher
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #3 on: May 02, 2009, 12:31:20 am »

Looks great. If someone were to come up with a way to make this real without making it too tasking on the ol' processor, I would never leave my home again.
Quite honestly, the graphics resolution and style depicted above used to be run on 486 class processors.  Today's processors and GPUs could handle that hundredfold.
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."

MrWiggles

  • Bay Watcher
  • Doubt Everything
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #4 on: May 02, 2009, 12:36:22 am »

Couldnt you run the gui just through the graphic card and leave the cpu for the core of the game?
Logged
Doesn't like running from bears = clearly isn't an Eastern European
I'm Making a Mush! Navitas: City Limits ~ Inspired by Dresden Files and SCP.
http://www.bay12forums.com/smf/index.php?topic=113699.msg3470055#msg3470055
http://www.tf2items.com/id/MisterWigggles666#

Ampersand

  • Bay Watcher
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #5 on: May 02, 2009, 01:30:09 am »

Thing is that this program isn't doing any of the actual game work. It's only reading the work done by Dwarf Fortress itself. Everything you would see is an abstraction from the actual game being run except for the graphics. That said, it would probably still need a bit of processing power.

Anyway, yes, I'd love to see this isometric style of interface, but I'm not sure passing commands from the interface to DF is strictly... possible at the moment, if only because no one's hacked the executable that much. Yet.
Logged
!!&!!

Impaler[WrG]

  • Bay Watcher
  • Khazad Project Leader
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #6 on: May 02, 2009, 02:15:33 am »

Are yo aware of my Khazad project, its a similar Isometric concept but allows camera movement in a fully 3D environment rather then from a fixed perspective, I've got a Dwarf Fortress extraction ability and we were just discussing the potential of making the extractor operate more rapidly for semi-real time effect.  In any event I've written it to be very well encapsulated so others could potentially use it too, its all C++ so I hope that's the language you know.

I'm also looking for more programmers so even if your somewhat inexperienced perhaps helping out with this project will help improve your skills.  The thread is over in general discussions, here is the link, at the top you'll see the link to Source Forge ware the code resides.  The Extractor.cpp file can be viewed with SVN browse which has what your looking for.

http://www.bay12games.com/forum/index.php?topic=34633.0
Logged
Khazad the Isometric Fortress Engine
Extract forts from DF, load and save them to file and view them in full 3D

Khazad Home Thread
Khazad v0.0.5 Download

Muz

  • Bay Watcher
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #7 on: May 02, 2009, 02:34:00 am »

OMG that's so cute. I'd certainly give DF to all my friends if it was like that :D
Logged
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.

Solifuge

  • Bay Watcher
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #8 on: May 02, 2009, 02:41:54 am »

I actually just caught the Khazad thread prior to checking here. It seems as though a lot of people want a Graphical Interface of some sort, even if it's just a visualization tool. :)

Impaler: The Khazad project looks nice, but the reason I proposed Pseudo-3D rather than actual 3D is that each 32x32 tile is under 1/2 kb, and being that the display is made up only of a series of flat images, they take a fraction of the processor power that a 3D render, even with just 3-4 vertexes, would. Perhaps if you're having framerate issues, converting to Pseudo-3D Isometric may work well for smooth realtime rendering alongside a CPU-intensive program like DF.

Oh, and I am a C++ user myself, though again I only know the basics.
Logged

Impaler[WrG]

  • Bay Watcher
  • Khazad Project Leader
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #9 on: May 02, 2009, 02:59:19 am »

I find that 3D rendering is not nearly as intensive as it would at first seem, I'm using OpenGL and make good use of display lists, people with good graphics cards can get better then 60 FPS zoomed all the way out on a 6x6 map rendering 175,000 triangles with my terribly ancient video card I get 30 FPS.  And theirs still more optimization to squeeze out.

That said a 2D system fully optimized would indeed be faster but I've felt it would just not be adequate to convey the necessary information.  If your interested in pursuing a 2D strategy please do feel free to make use of the Extractor class in Khazad and I would encourage you to make your code open source as well.
Logged
Khazad the Isometric Fortress Engine
Extract forts from DF, load and save them to file and view them in full 3D

Khazad Home Thread
Khazad v0.0.5 Download

Ampersand

  • Bay Watcher
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #10 on: May 02, 2009, 03:28:47 am »

Meh. I think if anything remotely like what the mock up looks like would be more than adequate. It's even possible to do something kind of like what Khazad does, with the multiple layer rendering if unrevealed tiles are... Well, not revealed.
Logged
!!&!!

Impaler[WrG]

  • Bay Watcher
  • Khazad Project Leader
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #11 on: May 02, 2009, 03:32:53 am »

Quote
if unrevealed tiles are... Well, not revealed.

Their not revealed in Khazad v0.0.3 unless you press (h) to toggle hidden tile revealing.
Logged
Khazad the Isometric Fortress Engine
Extract forts from DF, load and save them to file and view them in full 3D

Khazad Home Thread
Khazad v0.0.5 Download

Ampersand

  • Bay Watcher
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #12 on: May 02, 2009, 04:26:47 am »

Ohh, a reveal feature? Does it break Magma stuff like reveal usually does?
Logged
!!&!!

Errol

  • Bay Watcher
  • Heaven or Hell, Duel 1 -- Let's Rock!
    • View Profile
Re: Isometric 3D GUI for DF [Discussion]
« Reply #13 on: May 02, 2009, 07:58:27 am »

...whoa.... If you ever finish this, may I have your babies?

No, seriously, this looks great (and cute), and you get a bit nostalgic looking at it. It looks like some old-school strategy game. Now, if The Toady One implements something similar to this in the next five years or at least provides the code for the interface so that modders could go over it without too much hassle... my life would be pretty much complete.
Logged
Girls are currently preparing signature, please wait warmly until it is ready.

Solifuge

  • Bay Watcher
    • View Profile
Re: 3D GUI for DF [Discussion & Development]
« Reply #14 on: May 02, 2009, 03:35:55 pm »

As I understand it, Macro Programs can pass simple keyboard commands back to DF to simplify complex procedures. Given that, it stands to reason that you could run a parallel program that could interpret the Map Data, and pass a series of keyboard commands to perform tasks like building a workshop, etc.  The GUI would need to be coded with the same basic rules for constructions, designations, etc.

I can see how this could work, but where I get stuck is in how to implement the idea. I don't know enough about programming to code the working parts, but I know the potential is there.

Is there anyone among you who've worked on DF Macro Programs, know the ins and outs of DF map encoding, or even know enough of a programming language to be able to pass keyboard commands to other applications?

Errol: Thanks. I was trying to stay true to the old-school feel of Dwarf Fortress, so to hear that it came across is good. I've also have a good bit of practice doing low-res pixel art, so that helps a fair bit. :P
« Last Edit: May 02, 2009, 03:46:54 pm by Solifuge »
Logged
Pages: [1] 2 3 ... 10