Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 3 4 [5] 6 7 8

Author Topic: Volume and Mass  (Read 36963 times)

G-Flex

  • Bay Watcher
    • View Profile
Re: Volume and Mass
« Reply #60 on: August 06, 2010, 04:14:19 pm »

That means that either volume or mass would replace what we have for stacks currently with regards to most raw materials.

The rest of your post seems reasonable, but this is seriously pretty disagreeable. Unless you're going to be melting something down, then particle size (for lack of a better term) matters. You're not going to turn gravel into a stone throne the same as you would carving it out of large rock, or make a statue out of it. Size of individual items matters for most applications.


Besides, what happens if you want to, say, pick up and throw the object in adventure mode? All you know is that there's N liters of stone on the ground. Can you just pick off arbitrarily sized chunks without having to break them apart? Can you pick up 3 liters of stone out of a 30-liter pile even if it was all one contiguous chunk before? The game needs to know which discrete objects are actually there.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Volume and Mass
« Reply #61 on: August 06, 2010, 04:43:10 pm »

Well, there needs to be two tiers of how objects work - bolts are obviously distinct objects, but I do believe it would be better for the game in general if we had some materials that, for lack of a better description, behaved like silly putty, and could adhere and automatically stack with one another. 

A pile of grain or meat should not care about "granular size", it's just x mass of grain or meat.

While it starts to defy reality, I do believe that metal, stone, and wood should behave in a similar method - You don't need to have solid bars of steel, you just need a certain mass of steel.  Rather than consuming whole logs, or having fractions of log left over, you just have overall quantities of wood, and don't have to care about making sure you have a single chunk of wood that is large enough to make a tabletop from one whole piece.  Stone, likewise, should be meldable, if only to reduce the number of individual items being tracked by the game - hundreds of thousands of stones will kill FPS, but a few hundred stones that are measured in terms of a few thousand liters of stone will not hurt FPS in quite the same way.

Adventurer mode rocks, however, can simply be treated like bolts or earrings or whatever, there are specific numbers of individual rocks you can throw or knap into sharpened rocks. 

As for breaking off arbitrary chunks of stone, they can just use the same tools that stonemasons use when they craft stone mugs or tables or chairs - their bare hands.  :P
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

G-Flex

  • Bay Watcher
    • View Profile
Re: Volume and Mass
« Reply #62 on: August 06, 2010, 05:16:22 pm »

A pile of grain or meat should not care about "granular size", it's just x mass of grain or meat.

I wouldn't be so quick to say that. For one, it actually might matter for items prepared from them, and secondly, of course it matters how big the individual chunks of flesh are, otherwise how much can a character just pick up sans tools?

[/quote]While it starts to defy reality, I do believe that metal, stone, and wood should behave in a similar method - You don't need to have solid bars of steel, you just need a certain mass of steel.  Rather than consuming whole logs, or having fractions of log left over, you just have overall quantities of wood, and don't have to care about making sure you have a single chunk of wood that is large enough to make a tabletop from one whole piece.  Stone, likewise, should be meldable, if only to reduce the number of individual items being tracked by the game - hundreds of thousands of stones will kill FPS, but a few hundred stones that are measured in terms of a few thousand liters of stone will not hurt FPS in quite the same way.[/quote]

If items are stacked, there are perhaps better ways to consolidate the data.

Quote
Adventurer mode rocks, however, can simply be treated like bolts or earrings or whatever, there are specific numbers of individual rocks you can throw or knap into sharpened rocks.

Except you'd need to apply it to rocks, metal, meat, and damn near everything else you're talking about. And then you'd have the different game modes keeping track of different item types entirely. That, to me, is insane. There's not even any reasonable way to convert between the two.


I understand that there are some issues at play here, like better tracking of precise measurements (which is very possible), and issues involving things like whether or not a tiny chunk of leftover wood can go towards making a table, but I feel that your solution causes far more problems than it solves.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Volume and Mass
« Reply #63 on: August 06, 2010, 07:12:00 pm »

I wouldn't be so quick to say that. For one, it actually might matter for items prepared from them, and secondly, of course it matters how big the individual chunks of flesh are, otherwise how much can a character just pick up sans tools?

Actually, this would be a good way to force the solution to those problems: I remember that one of the ways to make multi-million DB stacks of food was to simply abuse the almost limitless stacking ability of milk in a barrel to create stacks containing many thousands of units of food.

The limits on how much food can be in a prepared meal should be set to a finite meal size.  Basically, a prepared meal should be based not just on number of ingrediants, but also on matching a specific meal size, so all "roasts" would be, say, 500 liters of food.

If items are stacked, there are perhaps better ways to consolidate the data.

Except you'd need to apply it to rocks, metal, meat, and damn near everything else you're talking about. And then you'd have the different game modes keeping track of different item types entirely. That, to me, is insane. There's not even any reasonable way to convert between the two.

I understand that there are some issues at play here, like better tracking of precise measurements (which is very possible), and issues involving things like whether or not a tiny chunk of leftover wood can go towards making a table, but I feel that your solution causes far more problems than it solves.

What is the problem, exactly? 

I'm not saying that Adventure Mode should track metal differently than Dwarf Mode - if Adventurers pick up metal, they can carry metal of fungible granularity, as well. 

If you are confused by my talking about "rocks" as individual items and "stones" as fungible masses, keep in mind that the game treats them as two entirely different types of objects already, related only by the material that comprises them.  Rocks basically don't exist in Fortress mode, while stones basically don't exist in Adventure mode, at least until Adventurers start getting the ability to start mining.  As such, this already IS different between the two game types.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Sunken

  • Bay Watcher
  • Wabewalker
    • View Profile
Re: Volume and Mass
« Reply #64 on: August 07, 2010, 02:28:37 am »

How about this:
There are three basic types of item - individual, stackable, and bulk.
Individual items have variable sizes and weights and don't stack.
Stackable items have a constant per-type size and weight each, and stack.
Bulk items are so small (grains of sand or flour) that they're simplified to only weight and volume.

Now, that's nothing new. But let's consider expanding the stackable category to a higher "resolution" of unit sizes. I feel this would allow us to both retain simplicity and gain realism.
For example, wood might exist in the following stackable levels:
Logs, all of the same size (a given tree might produce more than one) and the same weight (dependent on wood type; different types don't stack)
Planks, all of the same size and weight, obtained by sawing up a log
Blocks, ditto - smaller than planks
Smaller units of wood could be treated as bulk: Firewood (usable for burning or making charcoal), sawdust (I don't know if that's useful for anything - bedding?)

(This makes cutting down a tree a bigger deal. Several logs, plus probably a lot of loose firewood from branches, making for many planks or blocks. Of course, carpentry would require more than one plank or block to make something. And bigger items would require more planks than smaller ones.)

For stone:
Slabs - individual level massive stone blocks, suitable for construction or sculpture (obtained by time-consuming meticulous quarrying)
Blocks - brick-sized stone blocks, all same size, suitable for construction or road laying (obtained by somewhat faster quarrying)
Rocks - brick-sized stone chunks, of irregular shape (but treated as all the same size for stacking purposes), suitable for filling, rough walls, ballast etc.
Gravel - small stone bits of irregular shape (but treated as all the same size for stacking purposes), suitable for smelting, rough road covering, slingshot ammo etc.

Now, we could treat "Rocks" and "Gravel" as bulk, because who wants "11239 gravel" in their report - but we could just as easily present them by bulk units when it suits us and as single units when we want to. Typically when dealing with small numbers you'd present them as counts, but with large ones as bulk: "This tile contains 1.2 tons of sandstone rocks", "This tile contains 3 sandstone rocks". The underlying representation would be the same.

The upshot is, we will still have single units of most things. Recipes, reactions, and crafts can still be specified in whole numbers of raw material items, so we don't have to worry about leaving fractions behind where it doesn't make sense. We can avoid floating-point representations (not that those are strictly necessary for an all-bulk representation). We can maintain the constancy of mass (with some small losses in going from one unit to another, but that can be compensated for if we want). And we can present things to the user in a way that fits the situation.

Of course, all this presupposes better hauling. I know that. Let's assume we get it at some point.
Logged
Alpha version? More like elf aversion!

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Volume and Mass
« Reply #65 on: August 07, 2010, 08:03:53 am »

There should only be two kinds: Individual and Bulk.

The ability to only need .5 liters of a bar of metal or only 20 liters of wood is the entire point of all this.  If you aren't allowing people to store the remaining 30 liters of wood and use it for some other building project, what was the point of doing all this in the first place?

Also, one of the beautties of this system is that it would allow us to no longer be forced into having every tree be exactly 50 liters of wood in a log.  Why should trees grow just to make a jump from 1 50 liter log to 2 50 liter logs when we are now measuring wood by the liter and not by the log?  We can have 78.42 liters of wood come from a tree now that we have exact units.

So by using the method of making there be planks and logs (which, if all logs and planks are the same size, what's the difference between the two, anyway, other than just adding a step between using logs), then we still have to use large units that take up entire logs/planks to make furniture or bracelets, regardless of actual object size (which defeats the whole purpose of the thread), and then we finally get the fungible granularity on items that you even outright say have no actual use, which, again, completely defeats the purpose.

With stone, again, the purpose is to make stone no longer a matter of "a 27,000 liter tile of solid rock magically turns into one single 70 liter "stone" object at the tap of a pick that no longer blocks a pathway, and a dwarf can carry in one hand back to the stockpile".  I would actually make the stone that is produced into varying sizes based on miner skill, and making all the rest into "mullock" that has to be carted away.

When building wooden or stone objects, to represent that not every piece will be exactly the right size, we can make dwarves take extra units of the materials they are working with that turn to sawdust and mullock and shavings of metal and scraps and raw gems can be reduced in size based upon the skill roll of the gemcutter.  This generally builds up as clutter until it gets swept away by a hauler to wherever you are dumping such things.

One of the things I'd actually look forward to is having such waste actually start being capable of producing landfills.  Enough mullock or the like can make cubes of the junk that become actual tiles of "wall" again, provided it is compressed enough.  It could make fortresses start looking like anthills, with the crap they dig out of a mountain, instead of just dissapearing, rather just being tossed outside the hole, unless they find some other way to dispose of the stuff.  ("Hello, our brother dwarves who have come to trade! Want some of our lovely mullock?") ("Where should I put all this cinnibar mullock?" "Just dump it in the stream downriver." "Isn't this stuff poisonous in water?" "Yeah, but only elves live downstream." "Oh, right.")

Yes, this is an abstraction in an otherwise fairly exact suggestion, but it is a necessary abstraction to achieve the point of the suggestion. 
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Sunken

  • Bay Watcher
  • Wabewalker
    • View Profile
Re: Volume and Mass
« Reply #66 on: August 07, 2010, 10:25:10 am »

Boo-hoo, I'd spent 15 minutes writing a reply and then I clicked "back" by mistake and lost it :(((
Logged
Alpha version? More like elf aversion!

Sunken

  • Bay Watcher
  • Wabewalker
    • View Profile
Re: Volume and Mass
« Reply #67 on: August 07, 2010, 10:48:24 am »

OK, short version.

There should only be two kinds: Individual and Bulk.
You're So wrong! :)

Quote
The ability to only need .5 liters of a bar of metal or only 20 liters of wood is the entire point of all this.  If you aren't allowing people to store the remaining 30 liters of wood and use it for some other building project, what was the point of doing all this in the first place?
The granularity would be chosen such that the waste wood would always be a realistic amount. Plus it would become bulk firewood, which can't be used for crafting but can still be used for fuel. This will also help make firewood less valuable than refined wood, reducing the pain players feel when giving their precious wood to the charcoal burner.

Quote
Also, one of the beautties of this system is that it would allow us to no longer be forced into having every tree be exactly 50 liters of wood in a log.  Why should trees grow just to make a jump from 1 50 liter log to 2 50 liter logs when we are now measuring wood by the liter and not by the log?  We can have 78.42 liters of wood come from a tree now that we have exact units.
What about the difference between 13 and 14 logs? Not such a big deal then? It's all a matter of how you choose your unit sizes. Plus the rounded-off liters would still be usable, as firewood (actually, there should be more waste wood than that but that can be accommodated easily enough).

Besides, you don't want individual-size logs for your palisade, wood bridge or fence.
Making logs bulk also begs the question - what does e.g. 0.5 liters of wood logs look like?

You might say "it's all just 0.5 liters of wood" and I say sure, but
1: doesn't "2 blocks / five planks / three logs" give a clearer and nicer picture? (That can be dealt with in the interface, as I suggested earlier in the thread, but it still seems odd to me to sweep up the workshop after the day's end and voilą - you have a nice plank formed from the sawdust)
2: making logs, planks and blocks actually different items, gameplay-wise, just as iron, pig iron and steel are, would be adding to the realism and gameplay of the game. More maintenance but it's hardly an unprecedented level of detail!

Quote
So by using the method of making there be planks and logs (which, if all logs and planks are the same size, what's the difference between the two, anyway, other than just adding a step between using logs),
See 2, above

Quote
then we still have to use large units that take up entire logs/planks to make furniture or bracelets, regardless of actual object size (which defeats the whole purpose of the thread), and then we finally get the fungible granularity on items that you even outright say have no actual use, which, again, completely defeats the purpose.
Again, we shouldn't pick stupid granularities.
And differentiating between craftable refined wood and bulk, uncraftable firewood does not defeat the purpose: it enriches the game by dividing wood into (at least) 2 levels - one relatively precious commodity and one much less so.

Quote
With stone, again, the purpose is to make stone no longer a matter of "a 27,000 liter tile of solid rock magically turns into one single 70 liter "stone" object at the tap of a pick that no longer blocks a pathway, and a dwarf can carry in one hand back to the stockpile".  I would actually make the stone that is produced into varying sizes based on miner skill, and making all the rest into "mullock" that has to be carted away.

Now you're speaking my language! Of course, I'd make the stone into big "individual" slabs, for statues, stone doors, altars and whatnot, where the size is dependent on skill - or equally-sized "bricks" for construction or stone crafts, where it is the ratio of brick to "mullock" that is given by the skill level.

Quote
When building wooden or stone objects, to represent that not every piece will be exactly the right size, we can make dwarves take extra units of the materials they are working with that turn to sawdust and mullock and shavings of metal and scraps and raw gems can be reduced in size based upon the skill roll of the gemcutter.  This generally builds up as clutter until it gets swept away by a hauler to wherever you are dumping such things.
You're suggesting an all-purpose waste item? Hm, but gold filings are not the same as firewood, and neither are the same as rock dust. They're still valuable in different ways. I'd keep them separate - and separate from their corresponding, refined versions.

Gems, by the way, I feel should never be stackable - any bits coming off a gem when fitting or shaping it would become other, lesser gems or gem dust (which may or may not be just "waste")

Quote
One of the things I'd actually look forward to is having such waste actually start being capable of producing landfills.  Enough mullock or the like can make cubes of the junk that become actual tiles of "wall" again, provided it is compressed enough.  It could make fortresses start looking like anthills, with the crap they dig out of a mountain, instead of just dissapearing, rather just being tossed outside the hole, unless they find some other way to dispose of the stuff.  ("Hello, our brother dwarves who have come to trade! Want some of our lovely mullock?") ("Where should I put all this cinnibar mullock?" "Just dump it in the stream downriver." "Isn't this stuff poisonous in water?" "Yeah, but only elves live downstream." "Oh, right.")

Yes, this is an abstraction in an otherwise fairly exact suggestion, but it is a necessary abstraction to achieve the point of the suggestion.
I think that both our systems are about equally easy to implement. I still think that even a non-discrete representation should present amounts in discrete units where possible. As to whether you prefer absolute control over amounts of waste material (which your system provides) or one where you can't make a whole log out of thirty end pieces (mine) is, I guess, a matter of taste.
Logged
Alpha version? More like elf aversion!

Sunken

  • Bay Watcher
  • Wabewalker
    • View Profile
Re: Volume and Mass
« Reply #68 on: August 07, 2010, 10:55:58 am »

About wood blocks: I only just now realized that we already have wood blocks :) And that they're pretty big!
What I meant was a smaller unit than a plank, and more suited to carving. You'd get many blocks from a log; a toy or flute might require a single block, a wooden sword perhaps two.
Still, if one block was necessary to make one earring, there'd be a lot of waste wood. One could add a smaller granularity unit still, but that's overdoing it. The best way of dealing with stuff that's too small to take up a whole unit is to make each unit produce more than one item: one block->tree crossbow bolts, four bracelets, ten earrings.
Goes the same for other stuff as well. One brick - two mugs; one elephant brain - 10 hamburgers.
Logged
Alpha version? More like elf aversion!

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Volume and Mass
« Reply #69 on: August 07, 2010, 11:39:34 am »

So that was the short version?

Somehow, rewriting things into short versions always seems to make them longer...

You're So wrong! :)
No I'm not.

Glad we had this disucssion.  I'm sure that settled everything. :)

The granularity would be chosen such that the waste wood would always be a realistic amount. Plus it would become bulk firewood, which can't be used for crafting but can still be used for fuel. This will also help make firewood less valuable than refined wood, reducing the pain players feel when giving their precious wood to the charcoal burner.

What about the difference between 13 and 14 logs? Not such a big deal then? It's all a matter of how you choose your unit sizes. Plus the rounded-off liters would still be usable, as firewood (actually, there should be more waste wood than that but that can be accommodated easily enough).

We COULD make whatever arbitrary units we wanted to... but we already have REAL units in the game.  Why not just use them?  There's also no reason to make there be 5 different types of wood, and then make 4 of those types useless, especially when the objective was to be more precise.

Besides, you don't want individual-size logs for your palisade, wood bridge or fence.
Making logs bulk also begs the question - what does e.g. 0.5 liters of wood logs look like?

Like a small 2x2?  But more importantly:  Who cares?  See next:

You might say "it's all just 0.5 liters of wood" and I say sure, but
1: doesn't "2 blocks / five planks / three logs" give a clearer and nicer picture? (That can be dealt with in the interface, as I suggested earlier in the thread, but it still seems odd to me to sweep up the workshop after the day's end and voilą - you have a nice plank formed from the sawdust)
2: making logs, planks and blocks actually different items, gameplay-wise, just as iron, pig iron and steel are, would be adding to the realism and gameplay of the game. More maintenance but it's hardly an unprecedented level of detail!

Again, "Who Cares?"  The objective here isn't to make every single strip of wood individual and important.  That is, in fact, the exact opposite of the objective I have: Making wood a resource that you think about only in the abstract: You don't care about how many 2x4 planks of wood you have as opposed to 2x2 planks or flat surface planks of wood.  When you go to the stocks screen, all you want to hear is "We have ____ metric tons of wood, and current production will yield ____ tons per year and consume ____ tons per year."  (Of course, DF is not that detailed... yet.)

We are running this fortress at the "macro" scale, and not only do not but can not be concerned with every loose pebble in the fort. 

Breaking this down into using smaller units means that different projects will consume wood at different rates, but at the same time, allow us to consolidate wood into amorphous lumps of "usable wood" mass that we can check at a glance to see how much the workshops will be capable of producing.

You're suggesting an all-purpose waste item? Hm, but gold filings are not the same as firewood, and neither are the same as rock dust. They're still valuable in different ways. I'd keep them separate - and separate from their corresponding, refined versions.

No, although mullock, which is a term for waste generally, but also "the leftover rock once the ore has been extracted" was being used for all stone that cannot be used in general could also be used for general waste when you are compressing it all together, since 95% of the waste of most fortresses are just leftover chunks of stone from mining operations... at CURRENT levels of mining.  With even more waste being produced, as some arguments for "more realistic mining" go, almost every single tile you mine will be another full tile of material you have to consolidate into another part of the map. 

Like a real life digger, the stuff you dig away doesn't just dissapear, and you have to find a place to put it (and by compressing it into a full "wall" tile, it would hopefully be capable of not taking up any more CPU time than any natural wall would, if Toady would be as kind as to code that.)

I think that both our systems are about equally easy to implement. I still think that even a non-discrete representation should present amounts in discrete units where possible. As to whether you prefer absolute control over amounts of waste material (which your system provides) or one where you can't make a whole log out of thirty end pieces (mine) is, I guess, a matter of taste.

The purpose of what I am proposing is both to reduce the number of small loose individual items floating around in the game through proper stacking (wood just melds into other wood, making a larger "wood pile" that does not have to be tracked as individual pieces, and stones do not have to be uncontrolled rubble lining your entire fortress, they can be rolled up into stacks of usable stones, or ejected into useless mullock dumping ground.

This saves on processor power, and saves on player need to care about the specifics of the exact dimensions of one specific plank of wood not being long enough to make a table, so 3/4s of your wood pile is completely useless for table making.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Sunken

  • Bay Watcher
  • Wabewalker
    • View Profile
Re: Volume and Mass
« Reply #70 on: August 07, 2010, 12:17:19 pm »

We COULD make whatever arbitrary units we wanted to... but we already have REAL units in the game.  Why not just use them?  There's also no reason to make there be 5 different types of wood, and then make 4 of those types useless, especially when the objective was to be more precise.
Who said anything about 4 being useless? You're making things up, stop it.
Also, being more precise is only one objective. There's also the objective of being aesthetically pleasing, realistic, and computationally feasible. Your system only helps with precision. (Briefly: Realism: putting logs together from bits. Aesthetically pleasing: the manageable integer units. Computationally feasible: Fragmentation, see below)

Quote
Again, "Who Cares?"  The objective here isn't to make every single strip of wood individual and important.  That is, in fact, the exact opposite of the objective I have: Making wood a resource that you think about only in the abstract
We'll just have to agree to disagree, then. You probably like Settlers of Catan better than Warhammer, too :) I don't want my wood abstract. I want it manageable, but not abstract. That's not the feel of Dwarf Fortress, in my opinion. I don't want to to run my fortress at a macro scale, or rather, I want to be able to look at dwarfs as individuals doing concrete tasks - if I feel like it. It's nice not to have to babysit them, of course.

Quote
Breaking this down into using smaller units means that different projects will consume wood at different rates, but at the same time, allow us to consolidate wood into amorphous lumps of "usable wood" mass that we can check at a glance to see how much the workshops will be capable of producing.
I agree. I just don't think we need to break the units down smaller than they would be in reality.

Quote
The purpose of what I am proposing is both to reduce the number of small loose individual items floating around in the game through proper stacking (wood just melds into other wood, making a larger "wood pile" that does not have to be tracked as individual pieces, and stones do not have to be uncontrolled rubble lining your entire fortress, they can be rolled up into stacks of usable stones, or ejected into useless mullock dumping ground.
Yes; how is that any different in my system?

Quote
This saves on processor power, and saves on player need to care about the specifics of the exact dimensions of one specific plank of wood not being long enough to make a table, so 3/4s of your wood pile is completely useless for table making.
You sound as though I was suggesting every item be "individual". Have you not been reading what I've written?

A stack of identical planks takes less space to store in memory than a milliliter-precise abstract wood pile.
As long as crafts require whole planks, there will never be any problem with having planks of the wrong size. In your system, however, you might find a stockpile with 98 100ths of a table's worth of wood - in effect precisely a slightly too short plank. Don't you think the player will be more irritated by that than by being a whole plank short?
Besides, there's the risk of fragmentation. You might find your wood stockpile has 0.013 liters of wood in each tile, left over from a dwarf who picked up only just as much as he needed. That's going to be a pain in several ways. There'll never be less than a whole plank in a stack, and since it's still a useful amount it will not be left alone forever.
(I'd still get fragmentation for firewood etc., of course, so we'd need something against that anyway.)

I accept that your main motivation is abstraction. I just don't feel it's a worthwhile goal, and I also think that my system is superior for realism and performance.
Logged
Alpha version? More like elf aversion!

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Volume and Mass
« Reply #71 on: August 07, 2010, 01:38:04 pm »

You sound as though I was suggesting every item be "individual". Have you not been reading what I've written?

I am, and this is what you are talking about.

A stack of identical planks takes less space to store in memory than a milliliter-precise abstract wood pile.

Actually, no, it doesn't.  A wood pile is, as far as I would guess without actually seeing the code, just a pointer to a set of materials data combined with an integer for the purposes of counting how large the stack is.  The specific unit that is used to track this aside, the game already does keep track of this with its invisible volume multiplier, and its displaying mass as a derivation from the density value in the materials raw.  Although perhaps the size of the integer data type might be made larger or smaller (such a thing would be dangerous, because it could potentially open up overflows, so I don't know exactly how Toady will balance this), basically, if you have an Int datatype that reads "1" it takes up the exact same amount of memory as "10,000,000".


As long as crafts require whole planks, there will never be any problem with having planks of the wrong size. In your system, however, you might find a stockpile with 98 100ths of a table's worth of wood - in effect precisely a slightly too short plank. Don't you think the player will be more irritated by that than by being a whole plank short?
Besides, there's the risk of fragmentation. You might find your wood stockpile has 0.013 liters of wood in each tile, left over from a dwarf who picked up only just as much as he needed. That's going to be a pain in several ways. There'll never be less than a whole plank in a stack, and since it's still a useful amount it will not be left alone forever.

Such a problem only occurs when you literally have only 19 liters of a type of wood in your entire fort.  That wouldn't be much different than having 5 planks of wood if you arbitrarily make them take 6. 

Having only a scrap of wood leftover is the same as having only sets of 1 plank in multiple places.

Like I said before, if you're talking about making all planks the same size, then you're simply making them all the exact same set of arbitrarily defined unit sizes that just happen to be ambiguously larger than my own.  This is basically the same as what one of the other people said about just making trees give 100 wood every time, and make tables take 40 wood - you're just changing the size of the units arbitrarily... so why not just make them the SI units that the rest of the game runs on, and be done with it?

You'd still have the exact same problems of haivng random piles with just one scrap plank left over, so you'd still have to use code where, if dwarves need X amount, but can only find 1/X amount in any given spot, they'd have to collect the scraps and put them together until you managed to glob together enough to start work.

Quote
(I'd still get fragmentation for firewood etc., of course, so we'd need something against that anyway.)

I accept that your main motivation is abstraction. I just don't feel it's a worthwhile goal, and I also think that my system is superior for realism and performance.

Then you go and blow it up...  You see, now you're adding even more types of objects for the game to track, and making players care about more individual stockpile levels for no particular reason... and then claiming it is somehow more efficient or realistic when you are simply using a different sized unit than I am using!
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Sunken

  • Bay Watcher
  • Wabewalker
    • View Profile
Re: Volume and Mass
« Reply #72 on: August 07, 2010, 03:54:00 pm »

You sound as though I was suggesting every item be "individual". Have you not been reading what I've written?

I am, and this is what you are talking about.
I thought I was talking about the stackable types this whole time, exclusively. That's what I meant to, anyway.

Quote
A stack of identical planks takes less space to store in memory than a milliliter-precise abstract wood pile.

Actually, no, it doesn't.  [...] basically, if you have an Int datatype that reads "1" it takes up the exact same amount of memory as "10,000,000".
All right, I should have said "potentially". An integer in the range, say, 0 to 100 (a high upper limit on the number of planks that would fit in any tile) needs less space - in principle - than what would be needed in your system. But it might be more trouble programming than it's worth. It's a minor point either way.

Quote

As long as crafts require whole planks, there will never be any problem with having planks of the wrong size. In your system, however, you might find a stockpile with 98 100ths of a table's worth of wood - in effect precisely a slightly too short plank. Don't you think the player will be more irritated by that than by being a whole plank short?
Besides, there's the risk of fragmentation. You might find your wood stockpile has 0.013 liters of wood in each tile, left over from a dwarf who picked up only just as much as he needed. That's going to be a pain in several ways. There'll never be less than a whole plank in a stack, and since it's still a useful amount it will not be left alone forever.

Such a problem only occurs when you literally have only 19 liters of a type of wood in your entire fort.  That wouldn't be much different than having 5 planks of wood if you arbitrarily make them take 6. 

Having only a scrap of wood leftover is the same as having only sets of 1 plank in multiple places.
In a sense, but not in another. 1 plank piles are still an useful amount of wood. Piles of 4 grams of wood are useless for everything, on their own, and you'd get them all the time unless the amounts taken out are precisely such that it evens out.

Look, take this example. You have a stockpile with N tiles, all of which contain a sizable amount of wood. Now your craftsdwarfs start to take wood out, in varying chunks. As soon as any one pile contains less wood than is needed by any of the ongoing crafts, it's ignored, as the dwarfs grab all they want in one go from the other tiles.
In the end, you're left with N tiles with more or less tiny amounts of wood, and in the worst case a dwarf might have to go to each one of them to pick up enough wood for one final craft item. More importantly, they're still taking up memory and making it look like the stockpile's full (depending on visualization).
Now the same case with planks. In the worst case, we'd be left with 1 plank in each tile, and a dwarf will have to visit M tiles, where M is the number of planks he needs. M will be smaller than N usually, and its upper bound is given by the raws, not by the player's layout. That's a quantitative advantage of this discretization.

But in practice, with planks, we'd have to be unlucky to get something left in every stockpile tile. If we're crafting things of different sizes, and typical plank requirements are, say, 1-5 planks, then by the time we run out of full tiles, the smaller batches will have eaten up many of the piles completely (since they will be closer to the workshop). Conversely, with your system you'd have to be very lucky not to have something left in every tile - unless you tweak the amounts used just so (which will amount to discretizing them anyway, so why not do it explicitly?).

Quote
Like I said before, if you're talking about making all planks the same size, then you're simply making them all the exact same set of arbitrarily defined unit sizes that just happen to be ambiguously larger than my own.  This is basically the same as what one of the other people said about just making trees give 100 wood every time, and make tables take 40 wood - you're just changing the size of the units arbitrarily... so why not just make them the SI units that the rest of the game runs on, and be done with it?
As I said before: for the potential computational savings, for the realism (i.e. the units correspond to real-world things that can't be divided and re-assembled without doing actual work) and for the aesthetics (having numbers and units that can be easily grasped, though - again - that can be grafted onto your system, too).

Quote
You'd still have the exact same problems of haivng random piles with just one scrap plank left over, so you'd still have to use code where, if dwarves need X amount, but can only find 1/X amount in any given spot, they'd have to collect the scraps and put them together until you managed to glob together enough to start work.
Less often, less piles, less steps necessary to gather up enough material, as I tried to illustrate above. Quantitative differences, and relying on reasonably chosen unit sizes, obviously.


Quote
Quote
(I'd still get fragmentation for firewood etc., of course, so we'd need something against that anyway.)

I accept that your main motivation is abstraction. I just don't feel it's a worthwhile goal, and I also think that my system is superior for realism and performance.

Then you go and blow it up...  You see, now you're adding even more types of objects for the game to track, and making players care about more individual stockpile levels for no particular reason... and then claiming it is somehow more efficient or realistic when you are simply using a different sized unit than I am using!

Hey, you have to decide here - if you criticize me for simply using a different sized unit, then you can't also complain that I'm adding more object types!

If we did introduce a real gameplay difference between, say, logs, planks and firewood, then that's a qualitatative change that goes beyond just dealing with volumes of objects. Maybe we should discuss those things separately. Above I tried to explain why I think volume discretization should be coarser than you seem to want (though finer than it is now).

Wanting planks to actually work differently from firewood is another matter. I think it has merits, which I've mentioned earlier. You dismiss it as being introduced "for no particular reason", but you could dismiss pig iron or stone blocks on the exact same grounds. Pig iron certainly has less gameplay effect than planks would.
« Last Edit: August 07, 2010, 03:57:54 pm by Sunken »
Logged
Alpha version? More like elf aversion!

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Volume and Mass
« Reply #73 on: August 08, 2010, 03:15:39 pm »

Hey, you have to decide here - if you criticize me for simply using a different sized unit, then you can't also complain that I'm adding more object types!

No I don't.  Not when you are arguing for something that is functionally just a different arbitrary unit size than we have right now as if it were a game-changer and arguing for multiple types of objects that serve the same purpose, or else are generally useless. 

In fact, let's illustrate this point by going back to this little gem:
You might say "it's all just 0.5 liters of wood" and I say sure, but
1: doesn't "2 blocks / five planks / three logs" give a clearer and nicer picture?

OK, so what you are honestly attempting to convince me of is that "57 kg of Maple Wood" is more confusing than "2 blocks of Maple Wood, 5 planks of Maple Wood, 3 Logs of Maple Wood, 3 kg of Maple Sawdust, 6 kg of Maple Firewood" in a stack?  Now then, kids, get out your calculators, because blocks are worth 3.5 times as much as planks, and logs are worth 20 times planks.  Firewood is only useful for charcoal, but you have to convert it at a 10 kg to 3 plank ratio for determining how much charcoal you can make.  Plus, blocks aren't useful in making certain items, so you have to subtract that number out when you are figuring out how many tables you can make, but you DO still have to add in the logs.

Or, you know, you can say, "Hey, 57 Wood! I know how much that is, and how much I can do with it instantly just by looking at one number!"
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Volume and Mass
« Reply #74 on: August 08, 2010, 03:25:28 pm »

In a sense, but not in another. 1 plank piles are still an useful amount of wood. Piles of 4 grams of wood are useless for everything, on their own, and you'd get them all the time unless the amounts taken out are precisely such that it evens out.

Look, take this example. You have a stockpile with N tiles, all of which contain a sizable amount of wood. Now your craftsdwarfs start to take wood out, in varying chunks. As soon as any one pile contains less wood than is needed by any of the ongoing crafts, it's ignored, as the dwarfs grab all they want in one go from the other tiles.
In the end, you're left with N tiles with more or less tiny amounts of wood, and in the worst case a dwarf might have to go to each one of them to pick up enough wood for one final craft item. More importantly, they're still taking up memory and making it look like the stockpile's full (depending on visualization).
Now the same case with planks. In the worst case, we'd be left with 1 plank in each tile, and a dwarf will have to visit M tiles, where M is the number of planks he needs. M will be smaller than N usually, and its upper bound is given by the raws, not by the player's layout. That's a quantitative advantage of this discretization.

But in practice, with planks, we'd have to be unlucky to get something left in every stockpile tile. If we're crafting things of different sizes, and typical plank requirements are, say, 1-5 planks, then by the time we run out of full tiles, the smaller batches will have eaten up many of the piles completely (since they will be closer to the workshop). Conversely, with your system you'd have to be very lucky not to have something left in every tile - unless you tweak the amounts used just so (which will amount to discretizing them anyway, so why not do it explicitly?).

You see, maybe you don't realize it, but you're arguing that "your system" is better than the current system... because its units are some arbitrary, undefined smaller unit! 

THEN, you argue "your system" is better than mine... because the units are some arbitrary, undefined LARGER unit!

The whole argument you are making is that I'm somehow asking for the game to measure down to the picometer, and then offer your idea up as a Golden Mean between these two "negative extremes". 

Now then, let's look at the way that the game actually works.  Dwarves will prefer (potentially very heavily) to stack items of the same sort if they can at all help it.  With fungible piles of wood, this means that they will continue putting every single scrap of wood they can find into one pile until the pile hits whatever it's arbitrary "full" size is, at which point, they start up the next pile, probably directly next to the first.  When some wood needs to be added to the pile, they place it in the partially-full tiles first.  When wood is taken from the pile, they go to whichever is closest first, which is probably the same tile they took from last time, which cleans up those fractions leftover if there were any rather nicely before they move on to the next pile.

There, problem solved.  All by the mechanics that are already currently in the game.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare
Pages: 1 ... 3 4 [5] 6 7 8