Bay 12 Games Forum

Dwarf Fortress => DF Modding => Topic started by: Solifuge on May 01, 2009, 11:37:07 pm

Title: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on May 01, 2009, 11:37:07 pm
Current Poll: Which of the following is your favorite Ramp Style?
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/NewRamps.gif?t=1254730747)



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:

(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricGUI.png?t=1241235708)

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?
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Il Palazzo 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: KilgoreTrout 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Andir 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: MrWiggles 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?
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Ampersand 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Impaler[WrG] 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
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Muz 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
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Solifuge 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Impaler[WrG] 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Ampersand 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Impaler[WrG] 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.
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Ampersand on May 02, 2009, 04:26:47 am
Ohh, a reveal feature? Does it break Magma stuff like reveal usually does?
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: Errol 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.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge 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
Title: Re: Isometric 3D GUI for DF [Discussion]
Post by: LegoLord on May 02, 2009, 04:50:49 pm
Ohh, a reveal feature? Does it break Magma stuff like reveal usually does?
My guess, looking at how it works, no.  Tweak flags tiles as revealed, whereas that is supposed to read the tiles and display them, I think.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Vattic on May 02, 2009, 05:32:27 pm
Nice little mock-up there reminds me of when I did some pixel art, argh its got loads of compression artefacts though.

Hopefully when viewing the z-level you are in your mock-up anything above that level shouldn't normally be visible and the walls on the same level should be 1/3 of the size or lower so you can see behind them. It could be an option to show/hide them like this. On that note the same would apply to the ground itself, again having an option would be nice, being able to toggle both constructed walls and natural walls could be separate options.

I'd do a load more mock-ups showing you what I mean if the original can be supplied without the compression artefacts, not sure why there are artefacts with .png though.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on May 02, 2009, 06:11:01 pm
Piping inputs back into DF is straightforward, as Mithaldu's Lifevis (http://www.veoh.com/browse/videos/category/gaming/watch/v16314761MGwKDQR7) demonstrates.  The difficult part is going to be synchronizing the menu state of your interface with DF's own.  For example, when the user is selecting building materials for a rock wall, what items should show up in the list?  Depending on how DF stores its menu state, there might or might not be an easy way to figure it out.  The worst case -- having to duplicate large amounts of DF's internal menu logic -- is ugly beyond the point of feasibility.

We probably need an opinion from someone who's worked on DF memory hacking, although I'm not sure any of them ever attempted to analyze menu states.

That mockup is money, though.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Idiom on May 02, 2009, 07:23:15 pm
Though Toady doesn't want to work with third party for improving the game, it appears he may be slowly forced to if these kind of user advancements continue. Seriously. He might just consider scrapping the display on his end entirely and just have it crunch the numbers to be interpreted by third party displays.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LegoLord on May 02, 2009, 07:30:55 pm
Or go Syler on them like he did with Regional Prospector.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Ampersand on May 02, 2009, 07:32:28 pm
I doubt that would ever happen. Toady doesn't want to become dependent on a third party to do any specific part of the game, which is why he doesn't want to work with anyone, but I don't think that he's specifically against third parties doing this sort of thing just because they feel like it.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on May 02, 2009, 11:20:48 pm
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel4.png)(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel3.png) Z-Level 4 and Cutaway
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel3-1.png)(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel2.png) Z-Level 3 and Cutaway
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel2-1.png)(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel1.png) Z-Level 2 and Cutaway
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel1-1.png)(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricZLevel0.png) Z-Level 1 and Cutaway

(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricTilesExample.png) Rotating the Map 90° for Visibility
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on May 03, 2009, 12:03:33 am
Good lord that is beautiful.  It would be really hard to make ramps and stairs look that good though.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on May 03, 2009, 12:25:33 am
Good lord that is beautiful.  It would be really hard to make ramps and stairs look that good though.
Thanks for the compliment! On the note of ramps and stairs, I don't see making them respect local terrain being that hard... besides, a lot of 3D engines already take ramp direction into account, and stairs are a logical extension.

The thing I'm having trouble with is how to properly represent half-completed Staircases, and showing Up-Down Stairs. I wish Toady had just simplified them into a single "Stairs" object as with Ramps, rather than the whole 2-part thing, where Down Stairs act as a Floor, and Up Stairs act as a Tile.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Vattic on May 03, 2009, 12:53:01 am
Ah fantastic no need for me to make some mock-ups describing what I meant. I will be interested to see how this progresses.

One of the 3D fortress viewers used a spiral staircase for the x designation, an alternative is to cut the stairs in two, so you can see stairs going down and going up, you'd have to get the renderer to change any < or > stairs that connect to a x to display half versions of < and >. Hope you see how I mean.

I made a very quick edit to one of your images to give you the gist, I apologise beforehand for its sloppiness.

(http://i42.tinypic.com/27zd9gw.gif)

So basically:
Code: [Select]
¬
 ¬
  ¬
───
  ⌐
 ⌐

All on one tile. It's one possible solution anyway.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: MrWiggles on May 03, 2009, 02:09:20 am
This does look great.

What color pallet are you sticking to?

Is orthoclose and gold still going to be interchangeable?

Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Ampersand on May 03, 2009, 02:16:22 am
Honestly, I'd be happy with the color palette used in the mock ups. The problem with 3D viewers is always going to be that they're never going to look great from -every- angle. At least with the Isometric method, everything will look exactly as it's meant to from a given rotation.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on May 03, 2009, 04:22:26 am
Honestly, I'd be happy with the color palette used in the mock ups. The problem with 3D viewers is always going to be that they're never going to look great from -every- angle. At least with the Isometric method, everything will look exactly as it's meant to from a given rotation.

Yeah.  Plus, I would hope this viewer would include the ability to read PNGs for its own isometric tiles (i.e. allow custom isometric tilesets), as well as scan DF's graphics folder to snag creature graphics.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Ampersand on May 03, 2009, 05:41:18 am
That would be absolutely incredible, and absolutely possible.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Errol on May 03, 2009, 07:08:25 am
Just posting to say that this topic brought me to an entirely different task. So, I open the DF.exe with a hexviewer to see whether, by chance, the code is still legible... no chance. I do, however, see the menu strings and stuff.

Now I'm currently translating Dwarf Fortress to German. It will probably be ugly and is most definitely a shitload of hard work. But it's getting done =)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on May 03, 2009, 10:06:58 am
Just posting to say that this topic brought me to an entirely different task. So, I open the DF.exe with a hexviewer to see whether, by chance, the code is still legible... no chance. I do, however, see the menu strings and stuff.

Now I'm currently translating Dwarf Fortress to German. It will probably be ugly and is most definitely a shitload of hard work. But it's getting done =)

Glad to inspire you, Errol! That sounds great too!

Hmmm, this gets me thinking; I wonder if there are ways to retrieve what lines of text DF is looking for; if so, you can potentially figure out what menus the program is in.

Aren't there programs like Dwarf Foreman that pass both standard and non-standard commands back to Dwarves, and can change the makeup of individual tiles? I thought I'd read about one such program which also retrieved the full combat text as you see in Adventure Mode, and displayed it.

If that is possible, retrieving Text shouldn't be any problem at all, and what menu text is being retrieved may make it possible to reconstruct possible menu choices. Does anyone know what program I'm talking about, and know if it is possible?
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: HonkyPunch on May 03, 2009, 11:23:30 am
This is very nice.
I had a similar idea, but i cannot match your talent-ed-ness so hell yes!
I think it'd be pretty sweet if the game had Derek Yu's Spelunky style sprites, where everything is kind of cute looking, but can horribly horribly maim you.
:D
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: AncientEnemy on May 03, 2009, 03:44:42 pm
I'm no programmer, but something I've always wondered about; wouldn't one method of doing this be to use a custom tileset in DF (designed to be easily recognizable to the GUI program), and have the GUI program quite literally 'look at' the DF window to get its information? the boxes around the edge of the DF window would provide a reference point, and keeping track of which menu was open/where the cursor is would be simple. Obviously alot of objects would still look like other objects (trees and drawbridges etc) but I don't think there's going to be a way around that without toady providing more graphical support. You'd only be able to view activity on the current z-level, but the GUI could 'remember' the layout of the other z-levels.

Would such a method be technically feasible? I know text recognition can be resource intensive but since the tileset would be pre-defined, and could be simplified down to 'braille' (each tile could essentially just be dots conveying the 'number' of the tile), the system wouldn't have to do any guesswork.

I really do hope there's a decent graphical frontend for DF someday. I certainly mean no disrespect to the people who love ascii, and I do like using my imagination, but for me there's just an irresistible charm about isometric rpg graphics.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Ampersand on May 03, 2009, 03:59:18 pm
While technically possible, that would probably require a much more intensive program with image recognition software running inside of it. Would just slow things down, really.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LegoLord on May 03, 2009, 06:01:25 pm
I believe the utility was Dwarf Companion, Solifuge.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: 0x517A5D on May 03, 2009, 06:23:32 pm
Now I'm currently translating Dwarf Fortress to German. It will probably be ugly and is most definitely a shitload of hard work. But it's getting done =)

One of the bigger problems in doing a translation is that often the target language's phrases are longer than the English ones.  This is especially common in German, as it is a wordy, agglutinative language.

The utility German Menu -- Deutch Menue (http://dffd.wimbli.com/file.php?id=913) shows one way around that, by allocating entirely new memory and changing the string pointers in the code.

That utility is open source under the MIT license -- feel free to do whatever you like with it. 

The other problem in doing a translation is that the strings in DF are "merged" -- that is, when multiple pieces of code use the same string, they all point to a single copy of that string.  The above utility does not solve that.  (I have some thoughts on a solution, but nothing written.)

The third problem, which I have no ideas on solving, is phrase ordering.  If the target language has different noun/verb ordering, for instance, most of the sentences which are built from multiple pieces (e.g. a piece of text, then a dwarf name, then another piece of text) will be ungrammatical.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Hydra on May 04, 2009, 05:13:44 am
Just saw the image in another thread, and I just want to point out that this is just totally totally awesome! Pretty and cute!

I certainly hope Toady will consider moving to something like this!

Regarding the programming: it would be a pain to build something like this that interfaces with DF, reads the memory all the time, and then sends it commands. This should just be 'inside' DF.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Vince on May 04, 2009, 07:32:45 am
I'm no programmer, but something I've always wondered about; wouldn't one method of doing this be to use a custom tileset in DF (designed to be easily recognizable to the GUI program), and have the GUI program quite literally 'look at' the DF window to get its information?

I thought the data of your whole embark location is stored in your memory. You just read that out and visualize it. Every input from the GUI would have to be forwarded to DF, tough.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: AxelDominatoR on May 04, 2009, 08:20:20 am
A method would be to "inject" the graphical isometric engine code into the DF executable, substituting the calls to the "ascii" standard renderer with calls to the Iso renderer. That would require a major understanding of DF rendering engine internals, but is feasible. Hard, but feasible.

Mmm, Kobold Quest still uses the same engine as DF? If yes, it's opensource and one could take a look at it to ease the search for the right instructions in the DF executable.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Andir on May 04, 2009, 08:49:37 am
A method would be to "inject" the graphical isometric engine code into the DF executable, substituting the calls to the "ascii" standard renderer with calls to the Iso renderer. That would require a major understanding of DF rendering engine internals, but is feasible. Hard, but feasible.

Mmm, Kobold Quest still uses the same engine as DF? If yes, it's opensource and one could take a look at it to ease the search for the right instructions in the DF executable.
The graphics have been completely reworked through the new OpenGL/SDL 40d# versions linked in the News links up top.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: AxelDominatoR on May 04, 2009, 09:39:52 am
Battle Champs, then?
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Errol on May 04, 2009, 09:49:23 am
Now I'm currently translating Dwarf Fortress to German. It will probably be ugly and is most definitely a shitload of hard work. But it's getting done =)

One of the bigger problems in doing a translation is that often the target language's phrases are longer than the English ones.  This is especially common in German, as it is a wordy, agglutinative language.

>>I am working my way around it by abridging which, in some cases, provides garbled stuff, but the goal of the project is not to provide a perfect translation, just an (mostly) understandable one. But, pretty much, I am building that entire project on one of my unproven assumptions, so it may just as well go haywire.

The utility German Menu -- Deutch Menue (http://dffd.wimbli.com/file.php?id=913) shows one way around that, by allocating entirely new memory and changing the string pointers in the code.

>>Above my league.

That utility is open source under the MIT license -- feel free to do whatever you like with it. 

The other problem in doing a translation is that the strings in DF are "merged" -- that is, when multiple pieces of code use the same string, they all point to a single copy of that string.  The above utility does not solve that.  (I have some thoughts on a solution, but nothing written.)

>> Nothing I can do about.

The third problem, which I have no ideas on solving, is phrase ordering.  If the target language has different noun/verb ordering, for instance, most of the sentences which are built from multiple pieces (e.g. a piece of text, then a dwarf name, then another piece of text) will be ungrammatical.

>>That is, I most probably won't be able to solve the grammar problems. But if you can make out the meaning, it's okay for me.

So, I just tried my work up to this point out. Turns out, a) doing strings longer than the original english string length seems to mess the system up. A shame.
And b) there seems to be a hardcoded plural somewhere, which is also looking uglier than I'd tolerate. Alas, I didn't figure out how to convert the hex into legible code I'd be able to hack into, so I'm pretty much stuck.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Puck on May 04, 2009, 11:28:46 am
Sheesh, I wouldnt care if I could NOT send any input from that pseudo 3d output back to DF.

I'd be all happy in the pants already if lifevis looked like the screenshot in the first post.

Seriously gimme that SNES feeling on screen 2 while I play DF. rather yesterday than today, its THAT cool.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: DgnBiscuit on May 04, 2009, 01:11:51 pm
I seem to remember once seeing something that seemed to indicate the DF wasn't particularly good at using multicore processors, i.e. it put all it's load on one core. If that's still true, I don't think you'd have to worry much about slowing down DF with the 3D graphics if you could figure out which CPU DF is using and load balance on the others. As for menus, etc..., I don't think I'd mind just having them displayed the same way; just do a direct pass-through. Cursor navigation for designations might get hairy though....

-D.B.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Ampersand on May 04, 2009, 05:29:30 pm
By that you mean, it doesn't use multiple cores at all. It merely sticks in one processor with one thread.

So, yeah, a third party program would have no problem running secondary to it on another core, but not everyone has that capability.

Secondly, there are other bottlenecks. Dwarf Fortress eats a large amount of RAM, and the SDL versions do depend a bit on the video card as well.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Akhier the Dragon hearted on May 04, 2009, 09:56:09 pm
this looks so awesome. the graphics remind me of the game xcom: UFO defense which was another awesome game.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Hydra on May 05, 2009, 09:22:19 am
I thought the data of your whole embark location is stored in your memory. You just read that out and visualize it. Every input from the GUI would have to be forwarded to DF, tough.

Actually no. The whole location is divided in 16x16 blocks for every Z level. If you haven't 'touched' a certain block, it's not loaded into memory yet. You can force this by designating a large zone for mining on the bottom Z level, and then undesignating it. That's why you need to do that for tools like Reveal, the data simply isn't there yet.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Hydra on May 05, 2009, 09:26:20 am
A method would be to "inject" the graphical isometric engine code into the DF executable, substituting the calls to the "ascii" standard renderer with calls to the Iso renderer. That would require a major understanding of DF rendering engine internals, but is feasible. Hard, but feasible.

I'm sorry, but that's not feasable, it's close to impossible. Instead of dreaming up all kinds of almost-impossible solutions, we need to convince Toady that a graphical overheal should be a higher priority than some of the other stuff he's working on ;)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: AxelDominatoR on May 05, 2009, 09:59:23 am
External hooks to use different rendering engines? That would be less work for Toady than making a new graphical system, and many frontends could be used ( textual, graphical 2d, graphical isometric, etc ).

Let's say a hook for sending input and a few hooks to retrieve location blocks from memory. He should just make a sort of "virtual 3d screen" to be accessible. The current renderer could continue to work as-is right now ( maybe just a parameter to switch rendering entirely off if using an external engine ).

I love isometric art, but it would be cool to be able to play DF over SSH in ncurses, too!
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on May 05, 2009, 02:18:01 pm
For the hypothetical GUI, you could easily select a view mode from the Menu. Mode 1 being 3D Isometric, and  Mode 2 being top-down ala traditional DF, but with full graphics support.

Also, I heard a rumor about the graphics library being made public in the next release, so this may become infinitely more feasible.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on May 05, 2009, 04:31:21 pm
Also, I heard a rumor about the graphics library being made public in the next release, so this may become infinitely more feasible.

It was wrong, or didn't think what you meant.  The rendering code is open-source.  But it's still the same old tiles.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: stormbringer951 on May 06, 2009, 09:38:42 am
this looks so awesome. the graphics remind me of the game xcom: UFO defense which was another awesome game.

Dwarf Fortress + XCOM. Being able to control dwarf squads properly, as well as actually do proper inventory management for your armies in the Army Arc. Mmm....
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: sofakng on May 06, 2009, 02:55:09 pm
This looks absolutely beyond amazing.  Isometric tile games are by far my favorite...

I've been fooling around writing an isometric engine actually and made quite a bit of progress... (mouse-clicking is finished except for stacked objects)

If you don't mind me asking, what pseudo 3d tiling program did you use to create those graphics?

Depending on the language you will be writing this in I might be very interested in helping...
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: 0x517A5D on May 06, 2009, 03:45:25 pm
A method would be to "inject" the graphical isometric engine code into the DF executable, substituting the calls to the "ascii" standard renderer with calls to the Iso renderer. That would require a major understanding of DF rendering engine internals, but is feasible. Hard, but feasible.

Terribly hard.  Trust me on this.  Injected code is hard.

What I think would be feasible is injecting hooks which pass a windows message to the rendering process.  "Hey, I have finished a game frame, so copy my memory now."  Sending a message is easy.

Then stall until they either get a message back (receiving a message is hard, since we would have to hook the game's actual message loop), or wait for a memory location's value to change (easier, but wastes CPU cycles).

Oh, the renderer could put DF to sleep then wake it up again.  No problems there.  And thinking about it, the DF hook should attempt a context change to the renderer immediately after sending its message.  (How?  Sleep(0)?)

The renderer should be multithreaded and "double-buffered" so that it can render from the previous frame while sucking the current frame out of DF.  It should not be a lock-step process.  (Except on a single-core system, which might see minor gains by being lock-step.)

Lots of should's.  I can do a hook as described above, I can't do the other stuff.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: 0x517A5D on May 06, 2009, 03:50:29 pm
One of the bigger problems in doing a translation is that often the target language's phrases are longer than the English ones.  This is especially common in German, as it is a wordy, agglutinative language.

>>I am working my way around it by abridging which, in some cases, provides garbled stuff, but the goal of the project is not to provide a perfect translation, just an (mostly) understandable one. But, pretty much, I am building that entire project on one of my unproven assumptions, so it may just as well go haywire.

The utility German Menu -- Deutch Menue (http://dffd.wimbli.com/file.php?id=913) shows one way around that, by allocating entirely new memory and changing the string pointers in the code.

>>Above my league.

That utility is open source under the MIT license -- feel free to do whatever you like with it. 

The other problem in doing a translation is that the strings in DF are "merged" -- that is, when multiple pieces of code use the same string, they all point to a single copy of that string.  The above utility does not solve that.  (I have some thoughts on a solution, but nothing written.)

>> Nothing I can do about.

The third problem, which I have no ideas on solving, is phrase ordering.  If the target language has different noun/verb ordering, for instance, most of the sentences which are built from multiple pieces (e.g. a piece of text, then a dwarf name, then another piece of text) will be ungrammatical.

>>That is, I most probably won't be able to solve the grammar problems. But if you can make out the meaning, it's okay for me.

So, I just tried my work up to this point out. Turns out, a) doing strings longer than the original english string length seems to mess the system up. A shame.
And b) there seems to be a hardcoded plural somewhere, which is also looking uglier than I'd tolerate. Alas, I didn't figure out how to convert the hex into legible code I'd be able to hack into, so I'm pretty much stuck.

If you can hack C at all, do look at that menu utility.  The actual process editing is fairly well encapsulated.

I really think manual translation by hex-editing the binary on-disk is the wrong way.  It doesn't scale, and it would have to be redone for every new version.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on May 06, 2009, 04:29:53 pm
This looks absolutely beyond amazing.  Isometric tile games are by far my favorite...

I've been fooling around writing an isometric engine actually and made quite a bit of progress... (mouse-clicking is finished except for stacked objects)

If you don't mind me asking, what pseudo 3d tiling program did you use to create those graphics?

Depending on the language you will be writing this in I might be very interested in helping...

I actually created them all by hand, in a pixel-art oriented program (GraphicsGale). The tiling was done by hand as well.

Also, thus far I don't have a programming language of choice, as I can barely program my way out of a paper bag. A few semi-interested folks on IRC have mentioned C++ (the only language I can use semi-effectively). Did you have any ideas?

Here are the tiles I've completed so far, most of which went into the above images. (The dwarves are not my work, however)
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFIsometricTiles.png?t=1241644122)

The big blocks are used for Solid Tiles, and the flat surfaces are used for Floors. Darker tiles are used to signify "Inside" or "Subterranean" tiles. Black Tiles are Unexplored Areas, and Half-Blocks are for cutaway walls. C-Blocks signify whether Constructions can be built on the tile. '!'s are for Strange Moods and Signifiers, and the Bracket-Cube would replace the X cursor.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LegoLord on May 06, 2009, 04:56:45 pm
Cool.  But won't you need to make to make the background in that transparent? (Never mind, stupid question.)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on May 06, 2009, 05:44:22 pm
Cool.  But won't you need to make to make the background in that transparent?

It's fairly obvious from the mockups that he already has transparent backgrounds and only added the cyan for our viewing pleasure.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Impaler[WrG] on May 06, 2009, 05:59:22 pm
Quote
Also, thus far I don't have a programming language of choice, as I can barely program my way out of a paper bag. A few semi-interested folks on IRC have mentioned C++ (the only language I can use semi-effectively). Did you have any ideas?

I'd recommend an SDL engine with heavy use of SDL_Surface for your block pieces.  You don't really need a functioning Camera of anything fancy like I've done with OpenGL, just bliting down surfaces should be all you need.  If you know a little C++ go with that unless you know something else which has a good SDL wrapper like Python and the PyGames library.  I'd also recommend you learn to use Version Control software if you don't yet know any of them, I recommend Subversion cause I know it and its easy to get free copies of it but their are others that are just as good.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: AxelDominatoR on May 06, 2009, 06:53:12 pm
Terribly hard.  Trust me on this.  Injected code is hard.
Hard, but feasible.

Never said it would be easy.  ;)

I have some experience in SDL/OpenGL programming, by the way. Not much free time to start a project on my own but I could help here and there if really needed.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jester on May 06, 2009, 11:04:22 pm
got my fingers crossed that someone could make something like this work.  Ive been playing DF for about 3 years now and think its the best thing to happen to gaming since the invention of pong.  My biggest issue is trying to get other gamers interested.  Standard response is "Jesus christ look at all the stuff you can do, thats awsome!  when it gets a GUI interface let me know."    I love the fact that DF is the product of one mad bastard (basically) with a vision rather than a team who would end up making the same bland crap but the interface we have is always going to be accepted by a small percentage of nutters rather than the general populus.

  Sorry I cant offer anything but moral support, but you get that in spades from me.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: sofakng on May 07, 2009, 03:06:16 pm
Actually, I don't know much about this, but can you read the map information somehow while you play Dwarf Fortress or how was this going to be accomplished?
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on May 07, 2009, 03:18:23 pm
Actually, I don't know much about this, but can you read the map information somehow while you play Dwarf Fortress or how was this going to be accomplished?

Yes, it's already been done with Mithaldu's Lifevis (http://www.bay12games.com/forum/index.php?topic=22013.msg325597#msg325597), which should be tried by anyone interested in discussing the feasibility of this project.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Jifodus on May 08, 2009, 12:26:17 am
A method would be to "inject" the graphical isometric engine code into the DF executable, substituting the calls to the "ascii" standard renderer with calls to the Iso renderer. That would require a major understanding of DF rendering engine internals, but is feasible. Hard, but feasible.

Terribly hard.  Trust me on this.  Injected code is hard.

What I think would be feasible is injecting hooks which pass a windows message to the rendering process.  "Hey, I have finished a game frame, so copy my memory now."  Sending a message is easy.

Then stall until they either get a message back (receiving a message is hard, since we would have to hook the game's actual message loop), or wait for a memory location's value to change (easier, but wastes CPU cycles).

Oh, the renderer could put DF to sleep then wake it up again.  No problems there.  And thinking about it, the DF hook should attempt a context change to the renderer immediately after sending its message.  (How?  Sleep(0)?)

The renderer should be multithreaded and "double-buffered" so that it can render from the previous frame while sucking the current frame out of DF.  It should not be a lock-step process.  (Except on a single-core system, which might see minor gains by being lock-step.)

Lots of should's.  I can do a hook as described above, I can't do the other stuff.
I already have been working on a design idea for this. It is possible to hook the SwapBuffer function, in the SwapBuffer function it snapshots memory and pipes changes to whoever is interested.  I was/am planning on stuffing code for that in my opengl32.dll wrapper.

If/when the renderer gets it's own thread, then it gets much more difficult.  Though from when I last looked at the main loop (pre test versions), there were other points where hooking a function can be done.  In addition, with the new versions, it's probably is much easier to do this type of hooking, because we can create a specially modified SDL.dll that can find out exactly when a new frame starts (e.g. hook SDL_GetTicks which is called at the beginning of each main loop).

No code patching required.

Edit: And the whole reason I was going to post in the first places is that, when you manage to get some code to draw a map to the screen I'll see about finding time to do integration with DF.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: AxelDominatoR on May 08, 2009, 02:51:08 am
Lifevis seems a good starting point to me.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: worldspawn on May 10, 2009, 01:35:35 am
Up down staircase can be a spiral if there's still issues going on with it. I'm halfway decent with C# if people think that may be easier to work with for this. I already have some ideas of how this could go together. My only issue is I don't know how to have it read game data like the other display programs do. If I knew that I could probably meet everyone in the middle and try to create something simple.

I stress maybe, I've been pretty busy at work lately and don't know what kind of free time I'd be able to devote.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on May 17, 2009, 02:57:49 am
We've got some good suggestions and ideas thus far, by the sound of it... but the project needs some measure of organization. Anyone else have ideas on how feasible this is, or more info on Map Reading to share? Also, are any of you interested in collaborating on this project?

I'd really like to see this happen, and judging by the responses, so would a lot of players. Additionally, it'd be great for making this game more accessible for those unfamiliar with Roguelikes and ASCII graphics... and more players means more donations, which means Toady can keep cranking away at DF, and we can keep enjoying the fruits of his labors!

Plus, it'd just look friggin' sweet.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Lap on May 19, 2009, 10:55:14 pm
There's way too much worrying about CPU usage in this thread. Not only will it not take up much, but even if it did it still wouldn't matter. DF uses at most, one processor and most people have more than one. Just assign the visualizer to an unused processor.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jaked122 on May 20, 2009, 04:26:23 pm
A method would be to "inject" the graphical isometric engine code into the DF executable, substituting the calls to the "ascii" standard renderer with calls to the Iso renderer. That would require a major understanding of DF rendering engine internals, but is feasible. Hard, but feasible.

I'm sorry, but that's not feasable, it's close to impossible. Instead of dreaming up all kinds of almost-impossible solutions, we need to convince Toady that a graphical overheal should be a higher priority than some of the other stuff he's working on ;)
please don't pester him, I don't want him to commit suicide from the stress you'd impose on him
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LegoLord on May 20, 2009, 04:47:12 pm
What good would a graphical overhaul do now?  It won't improve gameplay.  What he's doing now will at least set up for gameplay improvements (actually, it has improved gameplay, as we will have proper health care next version).

Since there are people doing stuff like this, Toady doesn't have to waste time on that just yet.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Volfram on May 20, 2009, 08:26:01 pm
Terribly hard.  Trust me on this.  Injected code is hard.
Hard, but feasible.

Never said it would be easy.  ;)

What you're talking about isn't hard.  Adding hooks would be hard.  Your suggestion is akin to saying "why don't we transplant a chicken egg inside of a dog so the dog lays eggs instead of giving live birth."
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: AxelDominatoR on May 21, 2009, 03:39:35 am
Sorry, I think I didn't express myself really well. Wrong terms meaning, mainly.

For "code injection" I actually meant writing code into a DLL that's loaded by DF. Basically what Jifodus said earlier with SDL. Once found the memory location for map tile data in memory we may simply swap rendering routines using a custom-built SDL library.

I meant "hooking" as a separate application attaching to a process and read/write memory, just like most debuggers do nowadays ( under linux using ptrace, for example ).

I know, wrong meaning as I said :)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Rose on June 26, 2009, 07:09:21 am
I fully intend to make some more tiles for this. I'll post back later.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LordZorintrhox on June 26, 2009, 10:40:34 am
Hmm...interesting idea.  And a big one; coding projects like this are complicated and error prone.  You thought seg-faults were bad?  Trying tracking these kind of seg-faults.  Sounds like a nightmare, but obviously people have done similar.

One thing that helps is Toady appears to be a reasonably accomplished programmer; the kind of changes that pop up on the dev log with regularity imply he has structured his code rather well, which I would assume might make a code injection easier, but by no means simple.

A second process would be much easier to handle, and since much of the research into the structure of DF memory, it may even be pretty straight forward to reverse engineer the map.  But here is the problem:

It is glutted, bloated, inelegant, and hackish.  Granted, the very nature of Modding, especially in the good-ol' days, is cracking the game code.  How easy the developer makes this is up to them, and the mere fact that there is enough nerdom on this forum alone to allow things like Dwarf Manager and 3Dwarf to even exist is a testament to both Toady and the community.

But an exterior program spying on the DF memory so it can render a "nicer" 3D or psuedo 3D GUI in real time I don't think helps the game itself much.  Yes, it is cool.  Yes I use 3Dwarf, yes I speak the graces of an ASCII art GUI while at the same time grinding away at graphics sets and tilesets to make the GUI look "nice," but that is because I am a geek.  At the end of the day, it is just a PSD file, just an image that uses what the game already has and does.  Building a huge thing that augments the GUI by spying on the original is cool, but not necessary.  A better investment of our time would be to develop a document specifying what the 3D interface should be, after much discussion and work, and even some prototyping.  The major hurdle in any GUI design is the design phase and the research that goes into it, something that Toady can not do on his own because he simply doesn't have the man power. 

We get away with an all-keyboard interface because that makes sense to us, and the affordances we make as geeks make it okay that the hot key for a floodgate can be any of three different keys.  I think we can safely assume that a great majority of the DF community is used to command-line OS control and programming, including HTML.  This level of arcanity (hah, that should totally be a word) is okay because we are in the trenches dealing with it anyway.  Furthermore, a single developer for a game as complex as DF is not exactly the best person to design a GUI, because he is in the middle of it.  But he is the best person to implement it, especially since this is Toady's livelihood..

So my opinion is that any work in this area should be at least a thought experiment, at most an organized, concerted effort to figure out how the hell one would actually go about controlling a game that seems to be so well suited to 2d layers and not isometric slices.  That way the Bay12 Team has a good starting place at worst, a detailed design document at best.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on June 26, 2009, 08:19:29 pm
...So my opinion is that any work in this area should be at least a thought experiment, at most an organized, concerted effort to figure out how the hell one would actually go about controlling a game that seems to be so well suited to 2d layers and not isometric slices.  That way the Bay12 Team has a good starting place at worst, a detailed design document at best.

I disagree that an external GUI wouldn't be useful. Most obviously, a 3D graphical display would provide visual enjoyment, and would help players plan multi-z-level structures without having to piece them together in their mind like a layer-cake. It also would allow players to use a more advanced and intuitive interface, such as point-and-click commands, context-sensitive menus, windowed 2D site maps, workshop ques, and/or information screens, and so on that would improve the control and accessibility of the program.

Aside from the primary benefits, a graphical interface would help make Dwarf Fortress accessible to a wider audience of players, particularly those who don't know what ASCII or a Roguelike is, but who love strategy games like this. In addition, a wider audience would in turn help Toady keep the project well-funded and going strong, and would help make the game more visually attractive and appealing to the public.

I definitely agree that designing an interface is one of the hardest and most important parts, and a DF GUI should definitely be well planned before undertaking such a project... but I don't think it makes much sense to focus purely on dreaming up a design without ever intending to implement it.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LegoLord on June 26, 2009, 08:23:51 pm
but I don't think it makes much sense to focus purely on dreaming up a design without ever intending to implement it.
Exactly.  Remember the site finder utility?  By LordZ's logic, that utility never should have been made, which doesn't sound like a good thing to me.  Just because Toady might go Syler on a utility is not a reason to give up on actually making it.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LordZorintrhox on June 26, 2009, 10:09:44 pm
Mmm, indeed, the site finder is a critical feature.  And a 3D interface would open it up to more people, but would the fact that you had to install two things scare them off even more effectively?  There is a question: how to package such an application to meet the goal of increasing joe-shmoe appeal?  If that is part of the pros, then it must be packaged as one thing, or at least pose as it.

I speak caution largely because a listener program is, as I said, a hack.  On top of that, it is an interface hack for an ASCII art game that is only on version 0.40, and still full of bugs/gameplay features that could change at any time, and alter how the augmented interface should be designed.  As groovy as it could be, it is most likely a challenge that no one, including myself, would expect to be as hard as it actually is.  Good interfaces always are.

That is a lot of code to throw at a task with so little guarantee and precedent of working, though I am not well read on any similar attempts at such a thing out there already, if there are any save the aforementioned 3Dwarf etc.

So tempting though...seeing all those huge multi-z halls in isometric?  Analysis algorithms for the engraving structs that render an appropriate, though rather vague, image for a given engraving?

...Magma floods in 3D?  Damn, I should stop, might talk myself into it...and probably fail (I am not the most versed coder, for sure; more the graphics guy).
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Chubacca on September 11, 2009, 11:29:49 am
It would be really cool to see some isometric grafics  :)
But all visualizers of DF are 3d (
and I'm really interested in it.

/sorry,bad english
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: tefalo on September 11, 2009, 12:19:56 pm
I just checked the first images, but... THAT.IS.AWESOME.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Khenstot on September 30, 2009, 10:28:29 pm
So, no one's interested in at least trying it out?

Edit:
After looking at the Lifevis sourcecode, I found these:
http://code.google.com/p/dwarvis/source/browse/trunk/lifevis/Lifevis/df_internals.pm (http://code.google.com/p/dwarvis/source/browse/trunk/lifevis/Lifevis/df_internals.pm)

http://code.google.com/p/dwarvis/source/browse/trunk/lifevis/Lifevis/df_offsets.pm (http://code.google.com/p/dwarvis/source/browse/trunk/lifevis/Lifevis/df_offsets.pm)

It's in Perl, but you can easily see the basics of how Lifevis gets the information from DFd40, I suppose, I'm not a programmer.
Here's the project page http://code.google.com/p/dwarvis/source/browse/trunk/lifevis#lifevis/Lifevis (http://code.google.com/p/dwarvis/source/browse/trunk/lifevis#lifevis/Lifevis).
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Johnny Chthonic on October 01, 2009, 05:40:34 pm
I have never used a graphical tileset but I would use the crap out of that GUI.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on October 01, 2009, 08:09:37 pm
I'm still very much interested in seeing this happen, but like a lot of people my programming skills are a bit limited. I've got enough knowledge to recognize possibilities, but not to design this myself.

Still, good finds by Khenstot! We need to get in touch with one of the developers, and start getting a proper discussion in here.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: CobaltKobold on October 02, 2009, 08:52:43 am
Also don't forget that at least some of the output code is out there, though I know Toady REALLY (http://www.bay12games.com/forum/index.php?topic=21806.msg237594#msg237594) doesn't (http://www.bay12games.com/forum/index.php?topic=21806.msg238694#msg238694) want to work with anyone. (Or at least work with everyone. We did get that second code release, after all)

Also, C#? no. Platform compatibility, people.

On the side, Sol, you'd need a few more than two door tiles:
Code: [Select]
.O.  .O.  .O.
OD.  ODO  ODO
...  ...  .O.
and rotations, just to point out the useful ones.
Code: ("Unuseful") [Select]
OO.  OOO
OD.  ODO
...  OOO
I saw one mockup with a strange octagon thing that was supposed to sort-of-work in all cases, but I think just plonking down a square-filling cube might be best.

edit: Mind if I use your tiles and see what I can do about a full tileset, Sol?

Also, on implementation, you're fine with just transposing the grid- hexagonal/triangular(not recommended) can be indexed rectangularly if you're clever. (edit again: One of toady's posts linked abo'e points this out, that (slice) isometric tilesets might go into core with "just an altered draw order needed")
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Deon on October 02, 2009, 11:51:17 am
Can anybody answer me: what's the point in 2d sprites in 3d GUI thread? They are really beautiful (nice job Solifuge), but we'll need 3d objects, not sprites, right?
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Khenstot on October 02, 2009, 01:40:14 pm
Can anybody answer me: what's the point in 2d sprites in 3d GUI thread? They are really beautiful (nice job Solifuge), but we'll need 3d objects, not sprites, right?
Yeah...I think Solifuge meant 2D Isometric GUI, not 3D.

Also, we'll need diferent sized water/magma tiles, to indicate water/lava levels.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on October 02, 2009, 03:50:40 pm
The point behind choosing 2D Isometric (thats what these tiles are) is that it takes infinitely less processor power than 3D, can be run much more easily on older machines, and is easy for members of the community to add to and tweak, which are properties that mesh well with Dwarf Fortress as a whole.

In 2D, players could still create sprites for the Custom Critters they add in, without buying expensive software and studying 3D modeling (It's a lot harder than sprite GFX on MSPaint). After the first Slaves to Armok game, Toady has been avoiding full 3D for good reason, I'd say. Besides, it's an artistic decision on my part; 3D is vastly overrated for its relative power requirements, and lacks the charm of 16 and 32bit sprite graphics.

On the side, Sol, you'd need a few more than two door tiles:
The tileset is far from complete. I'd want different textures and colors for different stone, smoothed, and constructed wall types, boarder tiles to transition between grass and dirt, etc. I'm cranking them out at a slow pace, but more than these are done. My brother slapped together a Simple HTML Map Editor (http://glenholdampf.dynalias.com/files/iso/editor.php) for testing tiles, and just for general mucking around with them too, if anyone wants to play with them.

(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/IsoMapEngine1.png?t=1254514256)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on October 02, 2009, 04:09:38 pm
Solifuge -- while a tile tester is an awesome idea, the tile images aren't showing up on that page.

e: also I love the way you did the ice.  Reminds me of Commander Keen.  I also like how you did the water flowing along the wall -- it would be cool for water to be displayed that way when it has no floor beneath it, and walls on one or two sides.

In the next version, terrain can get spattered or dusted with any material.  That's how blood spatters, snow coverings, etc. are handled now, and it also allows for coverings of granite dust, molten gold, melted lion fat, or whatever else.  The coverings can occur in different amounts, so you might have puddles of blood instead of a small spatter.  Every material has an associated color.  What I'm getting at is that there could also be small sprites that get rendered on the floor (small/med/large liquid/powder), with the material's color swapped in.

Color-swapping (I know there's a better term but I can't remember it) is a technique that Baboonanza has been using to great effect in his 3D visualizer (http://www.bay12games.com/forum/index.php?topic=39541.0) -- the color of microcline, for example, gets dynamically applied to the "rock" texture to create the final texture for microcline rock.  It would certainly come in handy for a 2D isometric visualizer too.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on October 02, 2009, 04:34:10 pm
The site works fine. You have to select them from a text menu on the right. Like I said, the controls are a bit simplistic and wonky, but it's easy enough once you get the hang of it.

Anyway, away from the shiny pretty things for a sec, just what I/O code has been released, and where might one see it?

EDIT: Okay, it only works in Firefox and Safari, apparently.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on October 02, 2009, 04:50:05 pm
Aha, got it.  Any way to load a map after saving it?  I made a little desert island outpost but I hit "Save Map" instead of screenshotting it.

The first I/O source release was here, in the form of Battle Champs. (http://www.bay12games.com/forum/index.php?topic=23442.msg261144#msg261144)  That was released so that people could rework it, so it's outdated by now, probably.  What you really want is the 40d## I/O source, which is probably publicly available.  I'd check but I have to run.

Also, in case you didn't see, I had edited my previous post with some musings that might be of interest.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jonask84 on October 02, 2009, 07:04:54 pm
Hey guys, my first post ever on this forum :)

Have anyone started development on an isometric view yet?
I've seen some screens, not sure if they're mockups or not though.

Anyway, I'm dabbling with some isometrics myself, and using DFhack I made some stuff.
Here's a few pics from development.
I'd love some help on making sprites, if anyone's keen :)

Screendumps:
Spoiler (click to show/hide)
Spoiler (click to show/hide)
Spoiler (click to show/hide)

You can kinda see the progression

Edit: Been looking more at the forums. Seems the image that inspired to do this was made by Solifuge? As you can see, some of the early art work is lifted from one of those pics. Hope I didnt step on anyones toes, they were just meant to be placeholders :)

cheers
- Jonas
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on October 02, 2009, 07:14:56 pm
Welcome to the forum, Jonas.  That looks like a great start.  There are no current 2D isometric visualizers I know of, although the 3D visualizer Khazad (http://www.bay12games.com/forum/index.php?topic=41927.0) has an isometric mode.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jonask84 on October 02, 2009, 09:21:08 pm
Welcome to the forum, Jonas.  That looks like a great start.  There are no current 2D isometric visualizers I know of, although the 3D visualizer Khazad (http://www.bay12games.com/forum/index.php?topic=41927.0) has an isometric mode.

Thanks mate :)

Yeah, I've been trying out Khazad. Love it. It was great for viewing things at a distance, making it ideal for mega projects and such. However, I had problems navigating up close, and I hope fix some of that in my program, so it will be more apt as a game user interface.

That, and also I just have a total fetish for good ol pixelart and isometric games
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Impaler[WrG] on October 02, 2009, 11:37:22 pm
Greetings jonask84, glad to hear your a fan of Khazad, I'd love to get some feedback on any problems/difficulties you experienced so we can try to adress them.  Navagation is a primary concern of mine and a big challenge in 3D space.

I's good to see that progress is being made on a 2D isometric engine.  Though I'm using 3D isometric, the 2D style is certainly a concept that should be explored.  I'ts also good to see that Peterix's dfHack library is getting used, it's really serving the purpose of getting people over the 'hump' of reading data from DF and right into the meat of making a renderer.  Good luck and keep in touch, I imagine we can share design tips and strategies.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Deon on October 03, 2009, 01:24:33 am
The question I've made was about the implementation of 2d sprites, not the actual reason WHY. I agree that sprites would make DF more playable than 3d, but is there any progress on the transformation from 3d to 4-planes-view? Because currently everything in DF is already 3d, so it's possible to extract map info and "span some volume" by adding some height to Z axis by some 3d-building engine and make it visual, like the developers of Khazad, 3dwarf and Visual Fortress have made, but to make it isometric with ability to rotate you will have to write an engine which handles sprites with orientation and apply 2d images on 3d surface anyway, right? So, who currently picked up the coding part, or is it just a concept art thread yet (I hope someone is working on it :))?

Quote
Anyway, I'm dabbling with some isometrics myself, and using DFhack I made some stuff.
Wait, are these already ripped from the game (I mean terrain info), with the objects like trees, and your visualizer builds the picture based on it? If so, great :). At first I was afraid that this is another discussion thread with great ideas, artist and people talking but nobody taking the main role, but if you did it, that's a good starting point :D. Too bad I am a dabbling coder, using python and C here and there without much knowledge, but at least I will be one of those many who will praise your work and offer 2d images/3d models :).
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: CobaltKobold on October 03, 2009, 02:46:24 am
hmm...if DF supported transparency, then 1-layer slicing could indeed just be "draw order and locations" as well as an unusual view selection.
(http://img22.imageshack.us/img22/641/mockupr.png)

Minerals (as current tiles) and ballista arrowheads and dwarves in something that should work so, with letters cut from my 8x8:
(http://img34.imageshack.us/img34/492/isomineralst.png)

...the fg/bg system is too limiting for this, though, I think.

EDIT: Well, now I have written a gimp script that performs the operation in the first image. Using Sol's tileset, 32 tilesize 2 rows 8 cols x-offset 0 y-offset 32:
(http://img44.imageshack.us/img44/6341/outputdemo.png)

edit 2: made andesite tile, flipped fg/bg (but not in raws, so it's inverted) sides could shade while symbol is monocolor, dug out a demonstration (had to hide the stone)-unfortunately, my version doesn't seem to be drawing sharp edges quite right.
Spoiler (click to show/hide)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jonask84 on October 03, 2009, 08:29:24 am
Greetings jonask84, glad to hear your a fan of Khazad, I'd love to get some feedback on any problems/difficulties you experienced so we can try to adress them.  Navagation is a primary concern of mine and a big challenge in 3D space.

I's good to see that progress is being made on a 2D isometric engine.  Though I'm using 3D isometric, the 2D style is certainly a concept that should be explored.  I'ts also good to see that Peterix's dfHack library is getting used, it's really serving the purpose of getting people over the 'hump' of reading data from DF and right into the meat of making a renderer.  Good luck and keep in touch, I imagine we can share design tips and strategies.
Honored to meet you Impaler! Let me tell you straight away I love your code, and let me also extend my thanks for making it so clear and easy to understand :)

I was constantly looking to your Khazad code as I wrote my dfHack interface, it was a great help.

Im sure we have a lot to talk about heh, all kinds technical stuff. I'm using MSVC and their compiler, so I had to do some mad ugly hacking to get dfHack to compile (but now it does!). I like the IDE I guess... For rendering I the allegro 2D gaming library.

Speaking of navigating in a 3D world.. When I played 3D strategy/god games, I found it very useful when you could 'lock' the camera in an isometric perspective. Having full 3D is great for some purposes, but sometimes (esp in strategy top-down views) it can get a bit disorienting? Maybe it would be an idea to introduce a mode that locked the camera angel, and use the keys to pan around instead? I dunno :)

PS. This already seems like a great forum, glad to be here
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: CobaltKobold on October 03, 2009, 09:40:09 am
What you really want is the 40d## I/O source, which is probably publicly available. 
Some code comes with the d## linux version, at least.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: LegoLord on October 03, 2009, 11:27:59 am
hmm...if DF supported transparency
The 40d# versions do.  That's what the deal is with some of the newer tilesets, like PTTGV5.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Andir on October 03, 2009, 11:41:07 am
hmm...if DF supported transparency
The 40d# versions do.  That's what the deal is with some of the newer tilesets, like PTTGV5.
To put it bluntly though... it doesn't matter.  You can't do psuedo isometric because each tile is in the same row.  Where iso requires alternating rows.  Not only that, the tiles are not placed via central coordinates.  Each tile uses an x,y linked to the top/left corner.  I would actually love to see the builds use a center point and align each tile to that.  You could have oversize tiles and allow them to overlap textures for better transitions.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: CobaltKobold on October 03, 2009, 01:14:39 pm
One, look at the full text of what I said. Two, click on the spoiler. For this style tile(north=up-right) what was top left corner of 0,0 is now at (tilesize(rows-1),0) instead of the origin.
in tiles:
(+1, 0) -> (+1/2, +1/4)
(0, +1) -> (-1/2, +1/4)

Like I (and Toady) said: "draw order and locations". Transparency raises the issues of maybe needing to draw the underlying tile as well as unit/item, but if you're drawing anything with an alpha channel (which we can now do) then it just means draw tile then item, if you want to use painter's algorithm:
  1
 2 2
3 3 3, etc.  (With multiple z, you would just do each column bottom to top in that order- but then, you probably want to do occlusion checking, so you're not rendering every single cube each frame)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Impaler[WrG] on October 03, 2009, 04:59:08 pm
[quote author=jonask84 link=topic=35050.msg793688#msg793688
Honored to meet you Impaler! Let me tell you straight away I love your code, and let me also extend my thanks for making it so clear and easy to understand :)

I was constantly looking to your Khazad code as I wrote my dfHack interface, it was a great help.

Im sure we have a lot to talk about heh, all kinds technical stuff. I'm using MSVC and their compiler, so I had to do some mad ugly hacking to get dfHack to compile (but now it does!). I like the IDE I guess... For rendering I the allegro 2D gaming library.

Speaking of navigating in a 3D world.. When I played 3D strategy/god games, I found it very useful when you could 'lock' the camera in an isometric perspective. Having full 3D is great for some purposes, but sometimes (esp in strategy top-down views) it can get a bit disorienting? Maybe it would be an idea to introduce a mode that locked the camera angel, and use the keys to pan around instead? I dunno :)

PS. This already seems like a great forum, glad to be here

[/quote]

Thanks for the complements on my coding style, I try to make it very readable.  I've used MSVC in the past but prefer Code Blocks because it's free, that said we should make an effort to get a MSVC project file in Khazad to make it easy on people who use MSVC.

With regards to 3D navigation, as you know Khazad's camera can tilt changing the angle at which it looks at the ground.  This is normally done with mouse motion in the vertical axis when the left mouse is pressed.  But we have whats called a 'vertical lock mode' in which snaps the camera to looks strait down and ignores the mouse motion that would normally change the tilt, the intent is to somewhat replicate the feeding of playing DF in its current top down state. 

It might be desirable to extend that in principle to locking the camera tilt at any angle, the player simply positioning to camera tilt to their liking and then locking it.  Or a lock to 'equilateral' (when all three axis are of equal length as in your projection) or other similar angles could be included.

Panning is currently done by depressing (but not turning) the mouse wheel and then moving the mouse, this functions very much like a 'grab' on a pdf, moving the mouse the right pans leftward.  It is probably not intuitive enough and having the directional keys pan is a good idea.

I'll give you a heads up when I get these changes made so you can test a snapshot and tell me what you think, likewise I look forward to testing your viewer (which really needs a name by the way).
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jonask84 on October 03, 2009, 06:27:28 pm
Code Blocks eh? I gotta try that out some day.

Didnt know about the wheel panning, glad to hear it's in there :)

Yeah, I guess I do need a name for it. heh gotta think about that one for a bit.

If you PM me your email, I can send you a build if you want to try it out?
I've got another tread going looking for people to alpha it. it looks too shabby to launch right now, that's why im not going public juuust yet :)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Impaler[WrG] on October 03, 2009, 09:47:45 pm
Quote
If you PM me your email

Right under my User name, same as Peterix
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Andir on October 04, 2009, 12:02:38 am
One, look at the full text of what I said. Two, click on the spoiler. For this style tile(north=up-right) what was top left corner of 0,0 is now at (tilesize(rows-1),0) instead of the origin.
in tiles:
(+1, 0) -> (+1/2, +1/4)
(0, +1) -> (-1/2, +1/4)

Like I (and Toady) said: "draw order and locations". Transparency raises the issues of maybe needing to draw the underlying tile as well as unit/item, but if you're drawing anything with an alpha channel (which we can now do) then it just means draw tile then item, if you want to use painter's algorithm:
  1
 2 2
3 3 3, etc.  (With multiple z, you would just do each column bottom to top in that order- but then, you probably want to do occlusion checking, so you're not rendering every single cube each frame)
One, what I was talking about is putting a tile set in the engine as it is now.  It's impossible.  Two, don't talk to me that way.  (it's late, I'm grumpy and your post sounds condescending.)  The game engine would have to change for that to even work.  When it was mentioned that the current engine has transparency, I stated the blunt obvious that it wouldn't work with the tiles as they are now where (0,0) is top/left and not staggered.  You'd need code changes and simply plugging in an isometric looking tile set WILL NOT work.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: CobaltKobold on October 04, 2009, 07:23:27 am
Sorry, I didn't mean to sound condescending. The screenshots show that it doesn't work. (Cavalier projection almost does, since you can pick angle so that nothing would be occluded anyway)

Yes, it would require code changes, I agree.
Title: Re: 3D ISO GUI for DF [Discussion & Development]
Post by: Solifuge on October 05, 2009, 03:35:11 am
These tiles aren't intended for use in the official Dwarf Fortress executable, but as an aftermarket visual enhancer. Discontinue use if experiencing irritability, mood swings, or spontaneous beard growth. This product and these statements are not evaluated by Bay 12 Games, or Tarn Adams.

Also, no more silly arguments, name-calling, or poop-flinging please! The thread is for discussing the feasibility or stupidity of a Graphical Interface to lay on top of the DF executable.


Poll Time! From whatever standpoint you wish, utility, beauty, or otherwise, which of the following ramp styles do you like the best?
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/NewRamps.gif?t=1254730747)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: tefalo on October 05, 2009, 04:41:45 am
Hmm... I pick A. Second place goes to C.
Title: Re: 3D ISO GUI for DF [Discussion & Development]
Post by: Andir on October 05, 2009, 04:41:59 am
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/NewRamps.gif?t=1254730747)
My votes go to A or C ... I'm not a fan of the rotund hills which I will now deem nippills.  (nipple hills)

C is fairly common, and B/D look like they could be hard to differentiate.  What happens to them when you have a valley?  Or the following height map...
Code: [Select]
1111111
1222221
1233321
1232321
1232321
1221221
1111111
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jonask84 on October 05, 2009, 06:19:28 am
This one is always a bitch
Code: [Select]
222
212
111

Single tile ramps, like the one in the middle, is going to be hard. I'm having trouble even visualizing them..
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on October 05, 2009, 08:24:32 am
I've not got all the possible ramp combos done, but I have enough for at least 90% of Ramps in the above styles.

I kinda like the smoothing effect of B and D, particularly because it shows the ramps to the top-right and top-left of the peak, unlike the angled variants. Also, the circular ones (C and D) are personal favorites, if just because it renders much more natural-looking hills. Any love for them?

Also in the process of remastering the tiles:
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/NewIsoWall.gif?t=1254749059)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Rose on October 05, 2009, 09:04:37 am
Looking good, solifuge.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: CobaltKobold on October 05, 2009, 11:26:59 am
Mind you get larger diagonal ramps looking right for C (which has my vote)

4567
3456
2345
1234
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Vince on October 05, 2009, 12:12:03 pm
To be honest, I rather dislike the even space in C and D.
Maybe it's just the mockup - I'd love to see those for four variants in a hilly landscape or something. :)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: CobaltKobold on October 05, 2009, 12:29:07 pm
SC2000 didn't have those spaces, iirc. And yeah, I don't like either.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on October 05, 2009, 12:56:25 pm
Maybe it's just the mockup - I'd love to see those for variants in a hilly landscape or something. :)

This is an interesting point -- it wouldn't be difficult to change the ramp style based on the tile type.  Natural rock/earth could use a "smooth" style like B, and constructed ramps could use a more angular style like A.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Slogo on October 05, 2009, 01:01:39 pm
I think you make a good point about not being able to see the top left and top right ramps in that situation, so I'd vote B but with some adjustments. It seems problematic to not have all ramps in the same direction be the same size/shape.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Vince on October 05, 2009, 01:06:53 pm
Maybe it's just the mockup - I'd love to see those for variants in a hilly landscape or something. :)

This is an interesting point -- it wouldn't be difficult to change the ramp style based on the tile type.  Natural rock/earth could use a "smooth" style like B, and constructed ramps could use a more angular style like A.

I just noticed my typo: I just wanted to see all four variants "in use".

About your idea: I think you should be able to construct both variants, just because ... well just because you can. :D
And some people like full control about their esthetics. I'd second smoothed as default for natural ramps, though.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on October 06, 2009, 03:31:12 am
(http://i12.photobucket.com/albums/a226/Figgin/NewRampsCompare.png?t=1254817623)

There's a comparison of the two most popular styles. The terrain is exactly the same, but each report different bits of information. Also, here's a few more spoilers for the revamped tile set.
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFGUIMockup1.png?t=1254814683)(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFGUIMockup2.png?t=1254814669)
(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFGUIMockup3.png?t=1254814653)(http://i12.photobucket.com/albums/a226/Figgin/Dwarf%20Fortress/DFGUIMockup4.png?t=1254820657)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Impaler[WrG] on October 06, 2009, 03:39:14 am
C seems to me to be more easily understood, good mock-ups though they provide a good contrast.  A might still be desirable for constructed surfaces but C is clearly better on natural hills.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: DennyTom on October 06, 2009, 04:00:47 am
Yes, C is definitely more clear.

Also love the tileset images.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: bluephoenix on October 06, 2009, 04:20:23 am
C looks definitely better now with the new picture, I chose A before I saw it though  :(
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: tefalo on October 06, 2009, 09:01:59 am
C looks like a winner to me, based on that comparison.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: pbheadtemp on October 06, 2009, 09:32:23 am
I like c. it reminds me of sim city 2000... my first ever video game...

good times... although i wish i remembered more... cause I was playing sims city 2000 before i could read... hehe... i just knew the order of the drop down menu that well.

Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Slogo on October 06, 2009, 03:32:56 pm
After seeing the hill mockup A reminds me of an Escher drawing.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on October 06, 2009, 03:51:31 pm
After seeing the hill mockup A reminds me of an Escher drawing.

Yeah, there's something odd going on there.  I think the small brown section on the right should be a parallelogram.  Anyway, C looks better in any case, and better represents how ramps actually work in the game.

Also that revamped tile set is looking HOT.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: nagual678 on October 06, 2009, 04:42:06 pm
Just chiming in to give my support. This needs to happen.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: G-Flex on October 06, 2009, 04:53:00 pm
To me, they all look bad because every single one is going to necessarily end up with severe occlusion problems unless you can set items on the same layer as invisible.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: jonask84 on October 06, 2009, 04:54:17 pm
it IS happening. We're quite a bit on the way already. stay tuned :)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Randominality on October 06, 2009, 06:28:40 pm
it IS happening. We're quite a bit on the way already. stay tuned :)
HURRAH!!!!
I, like others previously, would like to change my vote from A to C after seeing that mockup. Although it would be better still to have A for constructed ramps and C for everything else.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Talvara on October 07, 2009, 02:17:49 pm
*WANT!* (every now and then I receive an incentive to play DF like a madman for a month or two again, The last time were Beefmoo's sprites, I am very sure this one will kick me to play like a madman for at least 4 months!)

<3 to you guys.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Solifuge on October 12, 2009, 07:24:38 pm
Alright, tile revamp the first is done, and with it the first implementation of this here concept. Might I introduce Stonesense, the first Isometric DF Visualizer.

(http://i33.tinypic.com/2mgl4xl.png)
Try it out here: http://www.bay12games.com/forum/index.php?topic=43260.0 (http://www.bay12games.com/forum/index.php?topic=43260.0)

You may direct your awe and wonderment to Jonask84 as well. It shows simple cutaways, as well as layered multi-level terrain and constructions in Pseudo 3D, while using tons less processor power than many 3D visualizers. It can even actively display changes made to the map (for now, this is done by holding the [R]efresh button).
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: DennyTom on October 13, 2009, 01:28:53 am
Looks awesome!

May I suggest one feature? Wall highlighting. Basicaly in your screenshot it is hard to distinguish between walls and floor (bedrooms in top left part of picture). If walls had black (or contrast) border, it would be much easier. You
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: bluephoenix on October 17, 2009, 10:39:09 pm
any updates ??? we cant let this idea/project die
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Cavalcadeofcats on October 17, 2009, 11:06:58 pm
After... five days? I wouldn't worry.

Looking splendid, Solifuge. Keep it up.
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: Footkerchief on October 17, 2009, 11:17:19 pm
any updates ??? we cant let this idea/project die

The project has been released. (http://www.bay12games.com/forum/index.php?topic=43260.0)
Title: Re: 3D GUI for DF [Discussion & Development]
Post by: NewoTigra on November 15, 2009, 01:49:14 pm
This looks rather awesome.

I actually spent 5-10 minutes just staring at the pictures, trying to figure out what GBA game they reminded me of. (Bomberman Advance btw, loved that game).