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.
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.
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?).
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).
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.
(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.