Bay 12 Games Forum

Please login or register.

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

Author Topic: Dwarf Fortress in 3D !!SCIENCE!!  (Read 11157 times)

Dragonchampion

  • Bay Watcher
    • View Profile
Dwarf Fortress in 3D !!SCIENCE!!
« on: December 02, 2010, 09:34:13 pm »

Greetings, everyone.

No, this thread is not a thread saying we have to have a 3d version. Nor it is saying I cannot play without 3D, I play very well, thanks. This thread is merely going to analyze the concepts and how to do 3D, and see if it is possible. It will also show the people out there why we can or cannot have 3D in Dwarf fortress as it currently is.

First of all, we have CPU issues. Everyone gets FPS issues at a high level of dwarves, with the amount of pathing going on. This, coupled with the fact that it would also be having to render the 3D animations, would mean that it would be EXTREMELY hard to do without crashing most computers.
Analysis: CPU issues will be a major issue with a 3D version. Maybe if it is optimized, but not until then.

Second, we have the current Z-levels, which number in to the hundreds. This will also cause a slowdown, especially when moving between Z levels, as the game would have to render every single item in sight with the 3D interface.
Analysis: Another CPU hog, and another reason no.

Third and finally, we have the issues of enemies and monsters. As everyone knows, we have HUNDREDS of different monsters and titans and sentients, randing rom the simple dwarf to the massive, randomly-generated forgotten beasts. The amount of time and CPU issues this would cause when the game tries to load a single mob would be astronomical, and probably crash all but the highest class computers. For instance... what happens when a forgotten beast made of water and six horns appears? The game would have to find the 3D sprite for horns, then find the sprite for water skin, and then, depending on how the monster looks, would have to warp the skin to make it look like the description- all in a matter of seconds after you see the message pop up.
Analysis: Yet another CPU issue. The amount of sprites required for the different animals and beasts in DF would probably be around 10-15 gigs, if I am thinking correctly.

Conclusive Analysis:
Currently, with the system Dwarf Fortress uses today, it is impossible for it to have a 3D engine; the graphics requirements would be much too great. Even the best computers would keel over and die when explosed to the amount of items and generated terrain and beasts in dwwarf fortress. Personally, I am surprised it can even handle it as ASCII art. Toady is just awesome like that I guess.
Logged

Acperience

  • Bay Watcher
  • Introjection
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #1 on: December 02, 2010, 09:41:21 pm »

Personally I just want to see my architecture in 3D, every creature could be different colored spheres for all I care.
Logged

languard

  • Bay Watcher
  • Meep
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #2 on: December 02, 2010, 11:32:46 pm »

You are wrong :)  When I have more time tomorrow I'll rip apart your analysis in detail.
Logged
He's now moping around, doing Armok knows what. As far as I can tell he's just going to stay there, in the party room. Forever.
Given our relationship thus far, I can genuinely say the party has just begun for me. - Captain Mayday,

Frosty_Dorf

  • Bay Watcher
  • Dabbling DFer, Legendary Lazy, Proficient Sleeper
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #3 on: December 02, 2010, 11:35:40 pm »

this thread makes me cry, at least give us cheesy low grade '99 EQ graphics to work with.
Logged

honestly, that was a ragequit moment.  The friggin thief just walked on past and grabbed it.  There were like 100+ floors yet to be placed.
My computer struggled to load all the demons.  Then, next frame, I check the unit list....
The last.... 4+ pages.... all demons.

612DwarfAvenue

  • Bay Watcher
  • Voice actor.
    • View Profile
    • TESnexus profile, has my voice acting portfolio.
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #4 on: December 02, 2010, 11:37:24 pm »

Lol, i bet the NASA supercomputer could run DF in 3D.
Logged
My voice acting portfolio.
Centration. Similar to Spacestation 13, but in 3D and first-person. Sounds damn awesome.
NanoTrasen Exploratory Team: SS13 in DF.

DuckBoy2

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #5 on: December 02, 2010, 11:42:22 pm »

I think I disagree with two thirds (maybe 2 and a half thirds) of everything the OP said.

To the first, we definitely do have CPU issues.  However, CPU issues can come from a number of different bottlenecks, I seriously doubt any modern computer is choking on drawing the tiles themselves, maybe on looking up what to draw in the tiles, but not on the drawing of the letters.    This should be especially true after the OpenGL optimizations.  Many computations in 3D graphics can be offloaded to the GPU as well, which could mean that with a proper implementation, the CPU would not have to struggle any more with graphics than it does today. 

To the second, there are standard ways of dealing with very large 3D scenes.  Look to Bethesda Softworks' Oblivion.  Their game world is HUGE, they handle this by splitting the world into with doors (portals), so that at any time you only need to render a small portion.  They handle this by not showing objects beyond a certain distance when you're outside, and there are standard data structures for storing objects in the game world that allow fast lookup of which objects are within some distance.  Odds seem good they also perform many other standard optimizations: culling based on which way the camera is pointed (frustum culling), reduce the number of triangles used to render objects far in the distance or otherwise unimportant to the scene (level of detail).  I am not saying that a 3D implementation could be just as fast as a 2D one viewing the same area, but I think it is unfair to say that simply by having to show that 3rd dimension it would be doomed to failure.

To the third, it truly does depend on what level of detail people find acceptable.  This is one of the most dangerous areas of going 3D in my opinion.  We accept a letter S as a giant cave spider, but we might or might not accept a large floating 3D S as a giant cave spider.  I think if the 3D world were basically a blank grid, we would accept the floating 3D S, but if the terrain basically looked like modern AAA PS3 games, we would complain about the unrealistic cave spiders.  As the realism of certain aspects of gameplay goes up, it tends to set a higher and higher standard on the others, sometimes impossibly high ones.  As an example, everybody knows and loves mario in all his 16 bit glory, but a lot of people found some of the newer Japanese lifelike androids incredibly creepy, because they were realistic, but also just a tad bit off.  I'm not explaining it that well, but the theory is on wikipedia, its called the Uncanny Valley.  I guess my point is, generating 3D meshes for every letter would be a ridiculously simple task, generating 3D animated ragdoll giant cave spiders of every shape and size would take hundreds of artist and programmer hours, first creating a base mesh, then writing tools to generate different characteristics on it.  Since we're currently looking at the letter S though, I think there could be a middle ground that many of us would find acceptable.  As to your analysis, I don't believe it would be a CPU issue, though hard drive space could quickly become an issue as soon as non procedural meshes and textures became involved, and if the game becomes too large, Toady would have a rather difficult time maintaining his free download servers (gogo bittorrent?) 



As to your final analysis: 
I don't know enough about the system dwarf fortress uses to store its data.  The fact pathing is possible at all in large worlds suggests Toady has chosen good data structures in many aspects of the game.  That does not mean those structures are optimized in any way for 3D graphics, but it doesn't instantly make them terrible for it either.  Frustum culling, raytracing, depth sorting, level of detail all take different amounts of time with different underlying structures.  If the world really is a 3 dimensional array as it appears to be, raytracing, frustum culling, and depth sorting would be fairly fast, not optimal by any means, but not slow enough to make a 3D engine unworkable. 

Graphics requirements being too great may have referred to CPU and GPU constraints.  I don't believe that is the case.  I do agree that artists and programmers working to construct every creature and item in the world would be a ridiculously time consuming process however. 

As to Toady being just awesome like that, at least we have something we can agree on :)
Logged

Dragonchampion

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #6 on: December 03, 2010, 01:39:47 am »

Thanks for all the corrections, guys. Was exactly what I wanted to hear.

I hope one day soon someone invents at least basic 3D gameplay (not visualizers, actual 3D gameplay) with little to no lag.

Thanks again for the detailed responses!  :D
Logged

Dorfus

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #7 on: December 03, 2010, 04:54:54 am »

The efficiency isn't necessarily an issue for 3D. For a start, I believe DF is currently single threaded (rendering and all). Moving to a two-threaded architecture with one thread handling game logic and another handling the drawing would have practically no performance impact.

The main barrier to 3D is the feel of the game, I think. It would be extremely difficult to model DF on anything other than a grid, and that means any 3D rendering would either have to be aligned to the grid or, if it was free motion, you'd just see a bunch of creatures and objects ailgned in a grid. This is expected in 2D games but looks mightily odd in 3D ones nowadays.

I think 3D would spoil the game, since we're all used to such a high standard of 3D. The only place for 3D is visualizers, I feel - everyone wants a complete view of their magma tower in glorious 3D but I don't think it's practical to play the game in 3D as the entire game is set up for 2D.
Logged

Candlejack

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #8 on: December 03, 2010, 05:04:25 am »

A simple 3D environment where everything is rendered as cubes with tiles textured on would make it much easier to see everything. Fancy graphics don't matter.
Logged

Kamamura

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #9 on: December 03, 2010, 05:41:14 am »

Urist McDrunk says:"Tsss... hic... to hell wiff you hana...ana... analysh... hic... why... wide... wild ...gosh... I mean... gush... nuffin... more, Mister, ye... ye hear me? hrrrr.... zzzzz....snore....".

Urist McDrunk cancels 3D rendering performance impact analysis: interrupted by falling under the table.
Logged
The entire content consists of senseless murder, a pile of faceless naked women and zero regard for human life in general, all in the service of the protagonist's base impulses. It is clearly a cry for help from a neglected, self absorbed and disempowered juvenile badly in need of affectionate guidance. What a sad, sad display.

Dragonchampion

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #10 on: December 03, 2010, 05:54:23 am »

Urist McDrunk says:"Tsss... hic... to hell wiff you hana...ana... analysh... hic... why... wide... wild ...gosh... I mean... gush... nuffin... more, Mister, ye... ye hear me? hrrrr.... zzzzz....snore....".

Urist McDrunk cancels 3D rendering performance impact analysis: interrupted by falling under the table.

Complete a total win!  :D
Logged

Encased in burning magma

  • Bay Watcher
  • Nekkid
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #11 on: December 03, 2010, 07:14:59 am »

A simple 3D environment where everything is rendered as cubes with tiles textured on would make it much easier to see everything. Fancy graphics don't matter.

Plus it's very easy to not draw what is not seen.
Logged
[MILL_CHILD:ONLY_IF_GOOD_REASON]

lolghurt

  • Bay Watcher
  • [PREFSTRING:failures]
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #12 on: December 03, 2010, 07:52:19 am »

I am here to refute your arguements because while they may have some truth, your analysis arrives at the wrong conclusions in some parts
First of all, we have CPU issues. Everyone gets FPS issues at a high level of dwarves, with the amount of pathing going on. This, coupled with the fact that it would also be having to render the 3D animations, would mean that it would be EXTREMELY hard to do without crashing most computers.
Analysis: CPU issues will be a major issue with a 3D version. Maybe if it is optimized, but not until then.
3D animations aren't actually all that hard. It depends on realism. Seriously. Low-polycount dwarves. I don't really see what this has to do with the CPU instead of, say, graphics cards.
Second, we have the current Z-levels, which number in to the hundreds. This will also cause a slowdown, especially when moving between Z levels, as the game would have to render every single item in sight with the 3D interface.
Analysis: Another CPU hog, and another reason no.
You're going in the wrong direction here I think. The problem would not be "we have to render a ton of z-levels" but "How do we see through the floors/walls in the underground system you have?
Third and finally, we have the issues of enemies and monsters. As everyone knows, we have HUNDREDS of different monsters and titans and sentients, randing rom the simple dwarf to the massive, randomly-generated forgotten beasts. The amount of time and CPU issues this would cause when the game tries to load a single mob would be astronomical, and probably crash all but the highest class computers. For instance... what happens when a forgotten beast made of water and six horns appears? The game would have to find the 3D sprite for horns, then find the sprite for water skin, and then, depending on how the monster looks, would have to warp the skin to make it look like the description- all in a matter of seconds after you see the message pop up.
Analysis: Yet another CPU issue. The amount of sprites required for the different animals and beasts in DF would probably be around 10-15 gigs, if I am thinking correctly.
NO WHAT THE FUCK IS WRONG WITH YOU. SERIOUSLY. YOU ARE USING THE WRONG FUCKING TERMINOLOGY HERE. One, if you use a png wrap-skin, you have about 100kb per creature (overestimating). Two, the problem would lie in the amount of RAM you have, as when faced with textures, the cpu asks for the template. For fast access for rendering, the textures/sounds/whatever else you want to add will be in the RAM.

Plus it's very easy to not draw what is not seen.
The problem I immediately see with a 3D DF is that what is not seen could obscure the view of what should be perfectly visible.

And I think I'm done releasing my anger. Sorry if I seem like an asshole in this post.
Logged
Quote from: acetech09 date=1343968486
It's probably made from baby bone, with a handle of baby leather. Probably uses the leg bones wound together for the handle, the pelvis for the handle/pick joint, and the pick is the spine.

But that's all in theory, of course. Not like I've made a pick out of my own 5 month old baby before.

orbcontrolled

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #13 on: December 03, 2010, 08:24:31 am »

Going by your analysis, it is impossible for any modern game to be rendered in 3D.

Have you tried running stonesense and DF side by side yet?

P.S. Also, don't use the word !!SCIENCE!! for this. Your analysis isn't nearly awesome enough to deserve it. This is -science- at best.
« Last Edit: December 03, 2010, 08:26:55 am by orbcontrolled »
Logged

Demki

  • Bay Watcher
    • View Profile
Re: Dwarf Fortress in 3D !!SCIENCE!!
« Reply #14 on: December 03, 2010, 08:39:41 am »

a simple 3D ascii would also be nice if you ask me(floating characters for mobs, everything else flat/stuck to ground).
No need for cheesy animations!
Logged
Pages: [1] 2 3 4