Bay 12 Games Forum

Please login or register.

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

Author Topic: The Tile Reuse Problem And Proposed Solution.  (Read 4453 times)

lxnt

  • Bay Watcher
    • View Profile
    • pm:full_graphics
Re: The Tile Reuse Problem And Proposed Solution.
« Reply #15 on: June 22, 2014, 07:26:55 am »

Quote
the buffer isn't supposed to be a complete and accurate snapshot of the world. It's just a frame. Two-three z-levels, only the top item out of the heap, etc.
Right, which is WHY you'd be handicapping graphics artists from doing much of anything interesting.
An overhauls like this needs to be... an overhaul. Allowing people to do 3D, allowing them to show all z levels in clever ways, allowing them to depict crowds of creatures, allowing possibly even knowing trajectory vectors to show arcs fluidly if they want, etc.

You severely underestimate what having the limits do to the creativity. And what having no limits do to release deadlines.

Simply solving tile re-use is absolutely not worth all this effort on its own, IMO. In fact it's something I would sort of actively not want, considering how much of a sticking point this is with Toady, and the likelihood we won't get the chance to bother him twice about it successfully, you might be locking us in to no other improvements for a long time.

An overhaul as you would prefer requires total re-architecture and then rewrite of all the code. It is not possible to skip that and have any meaningful fps while exporting better part of the world to the renderer, each frame.

You could always just do both and have an init.ini option to choose "engine only displays 2-3 z level snapshots" versus "engine displays all z level snapshot" etc. for 2-3 different options.

Sure, this point should be configurable. 10 z-levels and a mid-level machine begins to struggle even without per-frame processing, just displaying map dumps - this has been tested. So I guess most people will set that to about 3.

GavJ

  • Bay Watcher
    • View Profile
Re: The Tile Reuse Problem And Proposed Solution.
« Reply #16 on: June 22, 2014, 04:21:33 pm »

Quote
An overhaul as you would prefer requires total re-architecture and then rewrite of all the code. It is not possible to skip that and have any meaningful fps while exporting better part of the world to the renderer, each frame.
I didn't mean exporting the world to the renderer every frame. It's having the world available to the renderer every frame.

You only need to get (or maintain "serverside") changes. And in the case of screen scrolling, two scalar offset value bytes.

rewriting or grabbing every tile every frame for no reason is silly. I mean I understand that he might have done that (did he?) as a stopgap measure since this is still alpha or whatever. But even doing that for 3 z levels every frame would be significantly slower than maintaining the whole world the correct, optimized way.

And if you do something like octree, you can get every better still, but that is surely not necessary for our tiny DF worlds.

Quote
You severely underestimate what having the limits do to the creativity.
Yes, severely underestimate the harm, perhaps.

Tools giving you limits is not a good thing, sorry just no. Years and years modding for minecraft creative communities. Everybody always says this, and then 5 minutes after you release new tools that remove limits, the exact same people go "OMG THIS IS AWESOME WHY DIDN'T WE ALWAYS HAVE THIS" and proceed to go create a burst of stuff and then never mention it again or complain ever again. And from then on, you see a lot more variety as different people branch out in different directions. Then the next time, they think it's a terrible idea again, and then again 5 minutes after release, "OMG THIS IS AWESOME" and then another burst and more long term variety.

This argument seems especially strange to me when you consider that pretty much every major traditional art medium has almost no limits from modern technology. You can get 40 million different colors of paints with different drying times and 40 million brushes and applications techniques and canvas types and sizes with a 5 minute drive to Blick. And you can supplement with hundreds of types of multimedia if you don't want to be bound to the canvas.

Do painters go "oh shit we don't have enough limitations anymore, we give up!"? No, they go make a dizzying array of awesome stuff that's much more individualistic and varying and interesting than if you had only given everybody one brush and yellow and black paint only, and 8x10 canvases...
« Last Edit: June 22, 2014, 04:30:06 pm by GavJ »
Logged
Cauliflower Labs – Geologically realistic world generator devblog

Dwarf fortress in 50 words: You start with seven alcoholic, manic-depressive dwarves. You build a fortress in the wilderness where EVERYTHING tries to kill you, including your own dwarves. Usually, your chief imports are immigrants, beer, and optimism. Your chief exports are misery, limestone violins, forest fires, elf tallow soap, and carved kitten bone.

GavJ

  • Bay Watcher
    • View Profile
Re: The Tile Reuse Problem And Proposed Solution.
« Reply #17 on: June 22, 2014, 04:26:24 pm »

Note that in minecraft, for example of comparison, the server actually does send the entire world to the client, out to the view horizon, which is about 250 blocks away radius by default.

So that's 128 z levels (I think they've raised it recently, but whatever) x 500 x500 = 3.2 million blocks shared, even between multiplayers on a server. On the one I played on, we routinely had 50 people online with almost no lag, most of whom were spread out thus requiring separate sets of world chunks to stay loaded. I think we usually had about 50,000,000 blocks in play. No problem, because it sends changes, not the entire world again every frame...... If you teleport, then you can see the whole world reload from scratch, which takes maybe 5-10 seconds (so you can extrapolate how large of changes you could get every frame without skipping a beat)

Versus DF standard embark = 64x64x150ish = 614,000, no sharing with other players.
« Last Edit: June 22, 2014, 04:29:19 pm by GavJ »
Logged
Cauliflower Labs – Geologically realistic world generator devblog

Dwarf fortress in 50 words: You start with seven alcoholic, manic-depressive dwarves. You build a fortress in the wilderness where EVERYTHING tries to kill you, including your own dwarves. Usually, your chief imports are immigrants, beer, and optimism. Your chief exports are misery, limestone violins, forest fires, elf tallow soap, and carved kitten bone.
Pages: 1 [2]