Page 1 of 4

2^x vs y*10^x

Posted: Sat Jun 07, 2014 10:23 am
by Sander Buruma
The developers have recently made the controversial decision of limiting number of items in a single stack to multiples of 10 and 100. I personally am emotionally attached and inclined to powers of 2. As it is, the game already integrates 2^5 for the number of tiles in a row (or a column) within a single sector on the face of the planet which we were sent to valiantly prepare for our soon to arrive space faring brethren.

This thread is intended to clarify for the devs what the playerbase wants, so please cast your vote for which the two number systems you prefer to see in Factorio. Maybe we can convince the devs to change everything (including logi and circuit networks) over from the multiples of 10 system to the powers of 2 system. Every single vote counts!

Just think of the dissonance future generations will have to suffer at the hands of a bad number system just because we let the devs potentially make a tragic numerical error at this early stage of Factorio its evolution! We can still make a difference while Factorio is young!

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 10:44 am
by Rahjital
Personally, I think it's a change for the better. A lot of the outcry may be simply because people have to get used to a new system, but that will die out soon. The rest is caused by less space in storage chests and cargo wagons, which can be fixed simply by increasing the number of inventory slots of these. The advantages are clear, though - it makes counting quite a bit easier, which is a great boon especially for newbies. With the new system, having 17 stacks of iron plates mean you have exactly 1700. In the old system, it would actually be 2176, which is quite a bit harder to see at the first glance.

Think of it like switching from the imperial to metric system. Some people want to stay with the old system, even despite metric making counting objectively easier.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 10:48 am
by Bleda
While the powers of 2 have the advantage of rising exponentially, for everyone who is not a programmer or informatics student, multiples of 10 just feel a lot more natural. And you can have some exponential steps anyway, by using 1, 2, 3... 10, 20, 30... 100, 200, 300 etc.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 11:04 am
by Prezombie
Powers of two is just more sensible. Just look at how it was a huge debate when Minecraft entered alpha for its survival mode, and in the end, powers of two survived because that was what the world itself was based on.

I made a mod for those who want to play 0.10.0 with the proper numbers (and buffed cargo wagons)

The only real reason the devs gave was because requester chests use the powers of 10, which to me feels like hobbling the donkey so the wagon's wheel doesn't squeak. I'd rather have powers of 2 on the item stacks, and requester circuits which can be configured to either any number <1 stack, or an arbitrary number of stacks for bulk orders.

Also, loading an old save in the current version can delete an arbitrary number of items, because loading the new version forces the larger stacks to split, causing the container to hold more stacks than is valid, and simply deleting the overflow.

Regarding the comparison to metric, the comparison isn't really valid, because we have a limited number of item slots, which resembles the reasoning behind the imperial system's preference for the powers of two.

16 ounces to the pound meant a scale only needed four separate weights to measure everything less than a pound to a resolution of 1 ounce. each successively smaller weight halved the resolution of the final result. If you want to use the same system for weighing less than a kilo, those wieghts would be labelled 500, 250, 125, 62.5, and then increasingly more confusing weights. A system with the powers of two makes more sense when you have limited shelf space to store things.

Were you really calculating 17*128, and thinking 2176, or were you seeing 17 stacks and thinking 17 stacks, the same way an old fashioned imperial grocer would have seen 17 pounds, not 272 ounces?

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 11:15 am
by drs9999
Rahjital wrote:A lot of the outcry may be simply because people have to get used to a new system, but that will die out soon.
I guess exactly this is the reason for most of the complaints.
Prezombie wrote:Also, loading an old save in the current version can delete an arbitrary number of items, because loading the new version forces the larger stacks to split, causing the container to hold more stacks than is valid, and simply deleting the overflow.
Well, IMO we should be happy that old save-games were always compatible with new game updates. In the current case the migration might not be ideal for everyone, but you should appreciate that you can continue your old games at all.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 12:09 pm
by someloser
2048 is called 2048 and not 100000000000

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 1:20 pm
by westy
One of the subjects that hasn't been brought up (AFAIK) is the fact that powers-of-two stacks can be split in perfect halves forever. That, along with the exponential growth, are the only advantages of the 2^x system that I can see. Saying it makes trains less effective is just silly because it's ridiculously simple for the devs to just increase the number of inv slots in a carriage.

IMO the advantages of a 10x system outweighs that of a 2^x system.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 1:24 pm
by sillyfly
Prezombie wrote:Powers of two is just more sensible.
How so? I think ten-based makes more sense - all modern humans are used to it already, and it technically makes no difference, really. I'd love to see some hard technical reasoning why one is better than the other (Not emotional or "I'm used to that" reasons)
Prezombie wrote: The only real reason the devs gave was because requester chests use the powers of 10, which to me feels like hobbling the donkey so the wagon's wheel doesn't squeak. I'd rather have powers of 2 on the item stacks, and requester circuits which can be configured to either any number <1 stack, or an arbitrary number of stacks for bulk orders.
True, the reason for the change was to make the two systems more compatible. But it was changing one or the other. I don't see why changing the circuit network would have made more sense than changing the stack sizes. Allowing for any number would have made the game more complicated (UI-wise), and as I said earlier - people are more used to thinking in base 10, so most people would be more comfortable requesting, say, 500 items, and not 512. Feels more natural as a (non computer-scientist) human.
Prezombie wrote: Also, loading an old save in the current version can delete an arbitrary number of items, because loading the new version forces the larger stacks to split, causing the container to hold more stacks than is valid, and simply deleting the overflow.
In my saved games all "overflowing" stacks remained the same, so I had chests with stacks of 64 iron ore. They couldn't get any more until they went below 50, but I never lost any item. If you lose items because of this - I'd say it's either a bug, or some sort of mod incompatibility.



All in all - I also think most of the outcry is people getting used to the old system. I really can't see any good objective arguments for either system, except for "most people are more comfortable with base 10, not base 2". And I think we can all agree having all (user-visible) game systems work with the same system is beneficial.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 1:57 pm
by Rensiur
I think the y*10*x base is quite as good as the other way around. true it may be a hassle at first getting used to the change and the old savegames loose items, but, it is an alpha game still, so we should look at the changes and see what we an make out of them first.

If we, the community, run into the situation that it actually breaks the game the developers can still try and row back.

Instead of having mods that revert to the old system I'd prefer something like two or more steps in storage technology, thus items are stored more efficiently effectively doubling or tripling their stack sizes that can be kept in chests and so on.

That would be a bigger use for all the hoarders amongst us that prefer to have big capacities stored inbetween.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 2:58 pm
by undeadnightorc
Being a long time minecraft player I was accustomed to seeing stacks of base 2 items in my inventory and chests. However, the change to y*10 isn't a gamebreaker for me. I was more surprised with some of the small graphic changes. I actually liked the old circuit boards graphics and inserter overlays. The change to green, red, blue circuit boards is going to get some getting used to. And the new inserter colors are too close to one another, I feel. The original colors made the different inserter types stand more apart from each other. And speaking of colors, the new copper plates now look like slabs of meat now, for some reason, lol. I guess that's another thing I will just have to get used to. Ah well, sorry for the tangent!

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 6:06 pm
by xrw
I don't care as long as the numbers are consistent with the settings for smart inserters, and other items that can have settings.. I want to maintain 1 stack of some item at all times. I don't want to have to chose between 60 and 70 items when the stack size is 64.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 6:11 pm
by therapist
I really don't care either way, as long as the logistics controller logic system covers the number amount for full chests, empty chests (the 0) value, and a few other key amounts.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 6:44 pm
by Kazuar
I Voted for Stacksizes built around a basenumber of ten. One reason being it's more intuitive (whose hands have x^2 fingers, really? besides terrible afflictions), making it easier to add, second, everything lines up with requesters and smart inserters.

Some say that this greatly reduced the capacity of storage containers, and that the change be better rolled back because of it. And the counter-argument to this is that it's trivial to make containers have more slots (and truly, having the number of slots be based on "y*10^x" would be even more intuitive), however, it is just as trivial to just make your trains drive more often.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 7:03 pm
by ssilk
This change was introduced, because we don't want to have two different bases (2 AND 10, that really don't makes sense).

We had very long threads about this. There where many reasons for 2 and also many for 10. And there was the reason, that Factorio is not like minecraft. In the end there was a tendency for 10 instead of 2 - as it is now.

I think the current system needs just some tweaking/balancing.

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 7:12 pm
by sillyfly
ssilk wrote:We had very long threads about this. There where many reasons for 2 and also many for 10.
Do you have a link to such threads? can be interesting!

Re: 2^x vs y*10^x

Posted: Sat Jun 07, 2014 7:34 pm
by torham
Well, I like this. A fair way to decide - voting. I personally don't think it will make much difference either way in the end. people will just as quick adopt the new stack sizes. It will be all irrelevant is 10 moths/a year from now, when the game goes beta. I voted decimal.

Re: 2^x vs y*10^x

Posted: Sun Jun 08, 2014 1:21 am
by Prezombie
ssilk wrote:This change was introduced, because we don't want to have two different bases (2 AND 10, that really don't makes sense).
In the end there was a tendency for 10 instead of 2 - as it is now.
And what was so bad about the alternative of making the requester system use the number of stacks for large numbers? Its a calculation that you still have to make in this new system. Once you start dealing with a lot of stacks of any base and storage space limited in stack number, you should be thinking in the number of stacks, not the total in those stacks. If you used a stack system in the requester circuits, that would have removed the need to shatter the logarithmic beauty in the old crafting tree.

Re: 2^x vs y*10^x

Posted: Sun Jun 08, 2014 2:42 am
by Darthlawsuit
Filters and requestors worked in 10's so working in 2's didn't mesh so well.

Re: 2^x vs y*10^x

Posted: Sun Jun 08, 2014 4:43 am
by The Phoenixian
I am amused by this change:

Before Wood, Iron and Steel chests were rigged to hold roughly 1k, 2k, and 3k, when using stacks of 64. This fit nicely when filling a requester chest to the brink as you had a buffer so bots didn't end up sending things into storage. Now they hold 800, 1600, and 2400 with stacks of 50, which while accurate to calculating how many stacks you're putting in, won't fit quite as well.

That it's now multiples of 2 (Hundred) is simply Icing on an already very hilarious cake.

Re: 2^x vs y*10^x

Posted: Sun Jun 08, 2014 6:15 am
by therapist
The Phoenixian wrote:I am amused by this change:

Before Wood, Iron and Steel chests were rigged to hold roughly 1k, 2k, and 3k, when using stacks of 64. This fit nicely when filling a requester chest to the brink as you had a buffer so bots didn't end up sending things into storage. Now they hold 800, 1600, and 2400 with stacks of 50, which while accurate to calculating how many stacks you're putting in, won't fit quite as well.

That it's now multiples of 2 (Hundred) is simply Icing on an already very hilarious cake.
Interesting, the storage of iron and copper plates was a real challenge when using steel smart chests, the total they could hold was 6144 (48slots*128perstack) and I could only set the arms to function at 6000 or 7000. I really hated this because it made it hard to set up a system that detected full chests used to trigger the next set of smartchests and arms to begin operation (this guaranteed only 1 storage block, the closest to the end of the line, functioned at a time). I finally figured out a work around when I remembered robot arms can accept totals from multiple smart chests, so I created a chest with 856 on the back end, and simply set the arms to begin operation at 7000 (6144 + 856). Although this is a waste of 856 plates, I am trying to incorporate the chest as a natural part of my arm and smart chest storage system. I always store the plates and create a large production infrastructure.

I typically only store items that stack in units of 64 as buffers for other machines. What are you stockpiling that stacks in units of 64? Just curious.