00:06:23 -!- FreeFull has quit.
00:06:55 -!- impomatic has quit (Quit: impomatic).
00:07:16 -!- impomatic has joined.
00:11:27 -!- impomatic has quit (Client Quit).
00:11:47 -!- impomatic has joined.
00:21:55 -!- impomatic has quit (Quit: impomatic).
00:22:16 -!- impomatic has joined.
00:26:27 -!- impomatic has quit (Client Quit).
00:26:48 -!- impomatic has joined.
00:27:17 -!- chiselfuse has quit (Remote host closed the connection).
00:27:33 -!- chiselfuse has joined.
00:28:58 <esolangs> [[Bbe doc downloadable]] https://esolangs.org/w/index.php?diff=102947&oldid=102424 * PixelatedStarfish * (+4712)
00:29:17 <esolangs> [[Bbe doc downloadable]] https://esolangs.org/w/index.php?diff=102948&oldid=102947 * PixelatedStarfish * (-267)
00:30:38 <esolangs> [[Bbe doc downloadable]] https://esolangs.org/w/index.php?diff=102949&oldid=102948 * PixelatedStarfish * (-1639)
01:03:29 <esolangs> [[Bbe doc downloadable]] https://esolangs.org/w/index.php?diff=102950&oldid=102949 * PixelatedStarfish * (-76)
01:12:37 -!- chiselfuse has quit (Remote host closed the connection).
01:13:20 -!- chiselfuse has joined.
01:16:55 -!- impomatic has quit (Quit: impomatic).
01:17:15 -!- impomatic has joined.
01:21:26 -!- impomatic has quit (Client Quit).
01:21:46 -!- impomatic has joined.
02:01:14 -!- chiselfuse has quit (Remote host closed the connection).
02:01:31 -!- chiselfuse has joined.
02:52:12 -!- chiselfuse has quit (Remote host closed the connection).
02:52:31 -!- chiselfuse has joined.
03:10:40 -!- chiselfuse has quit (Remote host closed the connection).
03:10:53 -!- chiselfuse has joined.
03:41:55 -!- impomatic has quit (Quit: impomatic).
03:42:15 -!- impomatic has joined.
03:51:27 -!- impomatic has quit (Quit: impomatic).
03:51:47 -!- impomatic has joined.
04:01:55 -!- impomatic has quit (Quit: impomatic).
04:02:17 -!- impomatic has joined.
04:06:27 -!- impomatic has quit (Client Quit).
04:06:48 -!- impomatic has joined.
04:11:55 -!- impomatic has quit (Quit: impomatic).
04:12:14 -!- impomatic has joined.
04:16:27 -!- impomatic has quit (Client Quit).
04:16:47 -!- impomatic has joined.
04:55:51 -!- Sgeo has quit (Read error: Connection reset by peer).
05:16:21 -!- tromp has joined.
05:29:22 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
05:56:43 -!- tromp has joined.
07:08:05 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
07:27:10 -!- m5zs7k has quit (Ping timeout: 268 seconds).
07:28:13 -!- m5zs7k has joined.
08:03:11 -!- chiselfuse has quit (Remote host closed the connection).
08:08:47 -!- chiselfuse has joined.
08:19:18 -!- __monty__ has joined.
08:19:37 -!- chiselfuse has quit (Remote host closed the connection).
08:19:53 -!- chiselfuse has joined.
08:21:50 -!- Noisytoot has quit (Quit: ZNC 1.8.2 - https://znc.in).
08:22:46 -!- Noisytoot has joined.
08:24:30 -!- __monty__ has quit (Quit: leaving).
08:24:50 -!- __monty__ has joined.
08:46:55 -!- impomatic has quit (Quit: impomatic).
08:47:15 -!- impomatic has joined.
08:51:26 -!- impomatic has quit (Client Quit).
08:51:47 -!- impomatic has joined.
09:11:55 -!- impomatic has quit (Quit: impomatic).
09:12:15 -!- impomatic has joined.
09:16:27 -!- impomatic has quit (Client Quit).
09:16:47 -!- impomatic has joined.
09:17:47 -!- tromp has joined.
09:47:43 <esolangs> [[Dot's]] https://esolangs.org/w/index.php?diff=102951&oldid=102946 * Ilikecreepers * (+31) /* control flow */
09:51:38 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:51:55 -!- impomatic has quit (Quit: impomatic).
09:52:15 -!- impomatic has joined.
09:53:48 <esolangs> [[Dot's]] https://esolangs.org/w/index.php?diff=102952&oldid=102951 * Ilikecreepers * (-1) /* the complcated stuff */
09:55:51 <esolangs> [[Dot's]] https://esolangs.org/w/index.php?diff=102953&oldid=102952 * Ilikecreepers * (-2) /* lua code you can use */
09:56:27 -!- impomatic has quit (Client Quit).
09:56:46 -!- impomatic has joined.
10:03:01 -!- tromp has joined.
10:05:22 <esolangs> [[Dot's]] https://esolangs.org/w/index.php?diff=102954&oldid=102953 * Ilikecreepers * (+0) /* the complcated stuff */
10:06:18 <esolangs> [[Dot's]] https://esolangs.org/w/index.php?diff=102955&oldid=102954 * Ilikecreepers * (-2)
10:06:55 -!- impomatic has quit (Quit: impomatic).
10:07:15 -!- impomatic has joined.
10:10:06 <int-e> b_jonas: I think I have figured out the production building story. There's *four* layers. There's an input layer that accepts items from the outside. That can buffer a single item per input slot. Then, there's the actual processing layer, which collects up to two batches of input (two per input slot); processing starts when the first batch is complete. The produced items are moved to an ejection...
10:10:12 <int-e> ..."queue" (but only if it's empty, so that holds at most one batch). And that feeds into an output layer which is similar to the input layer, holding one item per slot ready to be taken by a neighbour. Of these layers, only the last one is saved.
10:13:37 <int-e> So in the simple one input, one output case there can be 5 items in the building, 1 or 2 of which have been fully processed. (production only happens at the front of the batch queue.)
10:14:06 <int-e> And this matches what I see in experiments.
10:21:10 -!- tech_exorcist has joined.
10:21:28 -!- impomatic has quit (Quit: impomatic).
10:21:48 -!- impomatic has joined.
10:33:39 <esolangs> [[Esolang:General disclaimer]] https://esolangs.org/w/index.php?diff=102956&oldid=78393 * Ilikecreepers * (+122)
10:35:35 <esolangs> [[Esolang:General disclaimer]] https://esolangs.org/w/index.php?diff=102957&oldid=102956 * Ilikecreepers * (+10)
10:35:46 <esolangs> [[Esolang:General disclaimer]] https://esolangs.org/w/index.php?diff=102958&oldid=102957 * Ilikecreepers * (+0)
10:35:58 <esolangs> [[Esolang:General disclaimer]] https://esolangs.org/w/index.php?diff=102959&oldid=102958 * Ilikecreepers * (+1)
10:41:16 <esolangs> [[Dot's]] https://esolangs.org/w/index.php?diff=102960&oldid=102955 * Ilikecreepers * (+53) /* the hold on to your stuff it's going to get more complcated stuff/multi operations */
10:56:55 -!- impomatic has quit (Quit: impomatic).
10:57:14 -!- impomatic has joined.
11:01:26 -!- impomatic has quit (Client Quit).
11:01:47 -!- impomatic has joined.
11:03:24 <esolangs> [[Dot's]] https://esolangs.org/w/index.php?diff=102961&oldid=102960 * Ilikecreepers * (+89) /* lua code you can use */
11:13:28 -!- wib_jonas has joined.
11:13:51 <wib_jonas> int-e: ok. is every item in tunnels and storage tanks saved?
11:14:08 <wib_jonas> and what happens to the splitters, mergers, balancers?
11:22:44 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:22:47 <int-e> splitters, mergers, and balancers are production units
11:23:45 <int-e> so... splitters hold 6 items internally, two of which are saved; balancers hold seven items, again 2 of which are saved; mergers hold 6 items, one of which is saved
11:24:46 <int-e> I have not dug deeply enough into storage, tunnels, and belts yet. Observationally they don't lose items. But I haven't checked corner cases... like what happens when a storage is full.
11:25:49 <int-e> Btw I don't see how I can use the storage as a detector... if an item simply passes through, none of the outputs are triggered.
11:26:34 <int-e> Of course the game is a moving target; this may have been different in the past.
11:27:11 <wib_jonas> int-e: yes, there was some trick to it. if you don't figure it out from my old screenshots, ping me in the evening and I'll look it up in my savefile. or give you my savefile if you prefer.
11:28:00 <int-e> I guess I can put a filter directly behind it and hope for the best
11:28:20 <wib_jonas> yes, I think it was something like that.
11:29:38 <wib_jonas> also I'm not claiming that it can count a full throughput belt, it's after splitting the belt three ways
11:30:03 -!- chiselfuse has quit (Remote host closed the connection).
11:30:22 -!- chiselfuse has joined.
11:31:19 -!- chiselfuse has quit (Remote host closed the connection).
11:32:13 <int-e> wib_jonas: thanks: https://nitter.it/pic/orig/enc/bWVkaWEvRmJ5cFBYbVh3QUFjRW5GLmpwZw==
11:33:09 <int-e> The monitor still flickers at speedup 10, so it does seem to detect the items individually. (science ;) )
11:35:29 -!- chiselfuse has joined.
11:35:59 <int-e> The trash disposal is required to cope with changes in the item (when changing, items get lost)... oh and I think it'll be hard to make logic that copes with the full rate... my flip-flops need pulses of length 2 to work, so 60/20 = 3 ticks is rather tight.
11:37:46 <wib_jonas> int-e: yes, that's why I'm counting 1/12 of all the shapes produced, or maybe just 1/24 or 1/48 if I have dividers in there, I don't recall
11:38:25 <wib_jonas> you're already delivering your items to the hub on multiple lanes, so might as well use that to not count all items
11:39:11 <int-e> Well, my v3 counted 1/32 of the items and that's basically good enough
11:39:53 <esolangs> [[Talk:Six instruction language :)]] N https://esolangs.org/w/index.php?oldid=102962 * Xyzzy * (+114) Created page with "Should there be are talk page?<br> --~~~~"
11:40:07 <int-e> > 32/80 -- resulting granularity in seconds
11:40:28 <esolangs> [[User:Xyzzy]] N https://esolangs.org/w/index.php?oldid=102963 * Xyzzy * (+40) Created page with "I haven't think of what to put here yet."
11:40:34 <int-e> > 32/20 -- resulting granularity in seconds
11:40:56 <int-e> not great, but when times are between 1 to 2 minutes, not terrible either.
11:40:56 <esolangs> [[User talk:Xyzzy]] N https://esolangs.org/w/index.php?oldid=102964 * Xyzzy * (+105) Created page with "You can now talk in here! --~~~~"
11:42:53 <int-e> wib_jonas: I wouldn't mind looking at your save file, I feel I've done enough exploration on my own
11:43:11 <int-e> and I bet many things are quite different
11:51:34 <int-e> hmm github seems to have issues right now?
11:51:48 <int-e> (getting sporadic errors)
11:55:42 -!- tromp has joined.
11:56:49 -!- chiselfuse has quit (Remote host closed the connection).
11:56:55 -!- impomatic has quit (Quit: impomatic).
11:57:00 -!- chiselfuse has joined.
11:57:15 -!- impomatic has joined.
12:01:27 -!- impomatic has quit (Client Quit).
12:01:47 -!- impomatic has joined.
12:09:25 -!- wib_jonas has quit (Quit: Client closed).
12:26:55 -!- impomatic has quit (Quit: impomatic).
12:27:16 -!- impomatic has joined.
12:31:27 -!- impomatic has quit (Client Quit).
12:31:48 -!- impomatic has joined.
12:36:55 -!- impomatic has quit (Quit: impomatic).
12:37:16 -!- impomatic has joined.
12:41:27 -!- impomatic has quit (Client Quit).
12:41:49 -!- impomatic has joined.
12:42:51 -!- wib_jonas has joined.
13:07:16 -!- immibis_ has quit (Ping timeout: 260 seconds).
13:16:27 -!- archenoth has joined.
13:30:54 -!- wib_jonas has quit (Quit: Client closed).
13:41:55 -!- impomatic has quit (Quit: impomatic).
13:42:15 -!- impomatic has joined.
13:51:26 -!- impomatic has quit (Quit: impomatic).
13:51:45 -!- impomatic has joined.
14:06:55 -!- impomatic has quit (Quit: impomatic).
14:07:15 -!- impomatic has joined.
14:09:13 <fizzie> Are you allowed to use the SI binary prefixes standalone, without a unit attached to them? If you have, say, 7 * 2**20 as a scalar quantity, could you say it's seven mebis in colloquial conversation?
14:11:27 -!- impomatic has quit (Client Quit).
14:11:46 -!- impomatic has joined.
14:27:58 -!- wib_jonas has joined.
14:28:35 <wib_jonas> fizzie: traditionally no, though some people suggest that we should use them that way, or else that we invent a unit of measure with value 1 specifically for this purpose. I'll try to find links later.
14:29:42 <int-e> yeah, norms can be changed
14:30:10 <int-e> That "no" came really from me imagining somebody saying that to me... I'd ask what they mean.
14:33:42 -!- tromp has quit (Read error: Connection reset by peer).
14:36:46 <wib_jonas> http://www.madore.org/~david/weblog/d.2010-09-03.1791.html argues that we should use "giga" and "tera" to avoid the ambiguity with "billion"
14:39:12 <wib_jonas> alternately we could introduce something like "unit" as a new unit of measure and "ε" as its abbreviation, value 1, and use "gigaunit" and "teraunit", abbreviated "Gε" and "Tε"
14:39:56 <int-e> we already have rad ;)
14:46:51 <wib_jonas> also someone suggested that we should introduce a new decimal unit *prefix* with value 1, so that you can emphasize the lack of a prefix. eg. you could say "four unitgrams" (abbreviated "4 εg") to make it clear that you're not talking about just four milligrams, nor about four kilograms.
14:46:55 -!- impomatic has quit (Quit: impomatic).
14:47:17 -!- impomatic has joined.
14:47:35 <wib_jonas> no, this doesn't necessarily mean that you'd talk about unitunits and εε, because presumably we'd try to find better \names for them first.
14:49:15 <fizzie> I don't know why, but "4 εg" sounds like it _should_ be a really small quantity.
14:49:39 <fizzie> Maybe just because the only other prefix with a greek letter abbreviation (µ) is a small one; plus epsilons are tiny.
14:51:27 -!- impomatic has quit (Client Quit).
14:51:48 -!- impomatic has joined.
14:55:48 <HackEso> The password of the month is ridled woht tpyo.s
14:56:55 -!- impomatic has quit (Quit: impomatic).
14:57:16 -!- impomatic has joined.
15:01:27 -!- impomatic has quit (Client Quit).
15:01:49 -!- impomatic has joined.
15:10:08 <wib_jonas> fizzie: yes, so you can find a better name and abbreviation first, but it's not clear what it should be. both prefix abbreviations and unit abbreviations are hard, because there are one and two letter unit abbreviations and you mustn't cause conflict between the combinations. or at least mustn't cause new conflicts.
15:10:38 <wib_jonas> and naming is hard, you can't just use "one" or "uno" or any variant of that, because you don't want to make "thirty-one" ambiguous in any language
15:14:14 -!- wib_jonas has quit (Quit: Client closed).
15:14:45 -!- wib_jonas has joined.
15:15:21 <wib_jonas> also multiple people independently suggested that if "Z" means 10**21 and "Y" means 10**24 then we should extend this backwards through the alphabet like "X" means 10**27, "W" means 10**30, etc, and downwards "x" means 10**-27, "w" means 10**-30, so literally ALL the ASCII latin alphabet and all letters an integer number of indexes before it are
15:20:01 <wib_jonas> I guess we can extend that backwards backwards too, so since "y" is 10**-24 and "z" is 10**-21 then "{" would be 10**-18 (but we use "a" instead per convention), "|" would be 10**-15 (but we use "f" instead per convention), "}" would be 10**-12, "~" would be 10**-9, DEL would be 10**-6, but if you want to figure out what the right character is for
15:20:02 <wib_jonas> 10**-0 you'll have to decide what the One True Encoding is.
15:22:50 <wib_jonas> it could be High Octet Preset the iso-8859-1/UCS-16 control character, or "ü" per cp437, etc. You'd think that "ü" would be kind of appropriate, you'd call the prefix ünit, but whereever I read the proposal to have such a prefix pointed out that micro is often abbreviated "u" so we shouldn't use "u" as the abbreviation for unit as well.
15:23:50 <wib_jonas> or just let it roll around a 7-bit character set and use Start Of Heading the ASCII control character
15:44:39 -!- simcop2387 has quit (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in).
15:44:55 -!- perlbot has quit (Ping timeout: 244 seconds).
15:45:37 -!- perlbot has joined.
15:46:07 -!- simcop2387 has joined.
15:55:57 <HackEso> olist <https://www.giantitp.com/comics/oots1267.html>: shachaf oerjan Sgeo FireFly boily nortti b_jonas
15:56:55 -!- impomatic has quit (Quit: impomatic).
15:57:15 -!- impomatic has joined.
16:01:27 -!- impomatic has quit (Client Quit).
16:01:49 -!- impomatic has joined.
16:04:39 -!- tech_exorcist_ has joined.
16:05:06 -!- tech_exorcist has quit (Ping timeout: 268 seconds).
16:11:55 -!- impomatic has quit (Quit: impomatic).
16:12:16 -!- impomatic has joined.
16:16:26 -!- impomatic has quit (Client Quit).
16:16:47 -!- impomatic has joined.
16:21:55 -!- impomatic has quit (Quit: impomatic).
16:22:15 -!- impomatic has joined.
16:26:26 -!- impomatic has quit (Client Quit).
16:26:28 -!- wib_jonas has quit (Quit: Client closed).
16:26:49 -!- impomatic has joined.
16:41:55 -!- impomatic has quit (Quit: impomatic).
16:42:15 -!- impomatic has joined.
16:46:28 -!- impomatic has quit (Client Quit).
16:46:47 -!- impomatic has joined.
17:06:55 -!- impomatic has quit (Quit: impomatic).
17:07:15 -!- impomatic has joined.
17:11:27 -!- impomatic has quit (Client Quit).
17:11:47 -!- impomatic has joined.
17:13:49 -!- j-bot has joined.
17:31:55 -!- impomatic has quit (Quit: impomatic).
17:32:16 -!- impomatic has joined.
17:34:14 -!- FreeFull has joined.
17:36:27 -!- impomatic has quit (Client Quit).
17:36:46 -!- impomatic has joined.
17:39:21 -!- tech_exorcist_ has quit (Remote host closed the connection).
17:39:51 -!- tech_exorcist_ has joined.
17:41:57 <esolangs> [[Celltail]] N https://esolangs.org/w/index.php?oldid=102965 * Mousetail * (+7352) Add page on cell tail
17:43:20 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=102966&oldid=102876 * Mousetail * (+15) Add Cell tail
17:47:50 <b_jonas> int-e: shapez.io save: https://drive.google.com/file/d/19ggjJXABtIYL939rPEMLwaaViKYb5UNM/view?usp=sharing
17:51:33 <int-e> got it. will have a look in a bit
17:53:10 <int-e> mine is still https://int-e.eu/~bf3/tmp/V4-final.bin
17:53:37 <int-e> and lacks the standard factories
18:01:51 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102967&oldid=102965 * Mousetail * (+86) /* Concepts */
18:05:08 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102968&oldid=102967 * Mousetail * (+95) /* Concepts */
18:06:55 -!- impomatic has quit (Quit: impomatic).
18:07:14 -!- impomatic has joined.
18:09:36 <int-e> b_jonas: heh that's a lot of blueprint shapes :)
18:11:19 <int-e> also your semi-harvester (my name for a device that takes ah XxXxYyZz shape and turns it into XxXxXxXx, discarding the rest) is better than mine, I didn't think of using a balancer in the middle of it.
18:12:06 -!- impomatic has quit (Ping timeout: 264 seconds).
18:15:35 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102969&oldid=102968 * Mousetail * (+30) /* Numbers */
18:16:31 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102970&oldid=102969 * Mousetail * (+2) /* Ranges */
18:18:12 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102971&oldid=102970 * Mousetail * (+0) /* Numbers */
18:22:24 <b_jonas> ah, the windmill maker from half windmills
18:22:48 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102972&oldid=102971 * Mousetail * (+2) /* Input Mode */
18:23:08 <b_jonas> int-e: could you figure out the shape counters?
18:23:18 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102973&oldid=102972 * Mousetail * (+0) /* Output Mode */
18:23:52 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102974&oldid=102973 * Mousetail * (+2) /* Debug Mode */
18:27:47 <b_jonas> it looks like I'm counting one belt to the hub, so a one third full belt
18:28:42 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102975&oldid=102974 * Mousetail * (+6) /* Combining Operators */
18:29:42 <b_jonas> and it's just a storage with a filter after it, filter opens after the storage becomes nonempty so there's probably two or three ticks while the non-empty signal goes out
18:30:19 <b_jonas> and then there's a circuit that makes the pulse longer, not for the storage and filter itself, but for the counter logic
18:30:44 <esolangs> [[Celltail]] M https://esolangs.org/w/index.php?diff=102976&oldid=102975 * Olus2000 * (+4) /* Primes */ joined code block
18:30:55 <esolangs> [[Celltail]] https://esolangs.org/w/index.php?diff=102977&oldid=102976 * LyricLy * (+268) Fix markup and spelling
18:31:06 -!- Noisytoot has quit (Quit: ZNC 1.8.2 - https://znc.in).
18:31:55 <esolangs> [[Celltail]] M https://esolangs.org/w/index.php?diff=102978&oldid=102977 * Olus2000 * (+1) /* Hello World */ precise input definition
18:33:41 <int-e> b_jonas: actually, they're exactly the same size, that's even more amazing: https://int-e.eu/~bf3/tmp/shapez-semi-harvesters.png (mine, yours, and a hybrid design that has marginally smaller footprint but isn't attractive in practice because these things will be put side by side)
18:33:53 <int-e> b_jonas: I saw the binary counter in action, let me check the detector
18:34:15 <int-e> I did *not* try to follow the counter logic...
18:35:17 <int-e> ah I actually did see the detector momentarily and yeah, it uses a storage followed by a filter that's triggered by the storage; it should be good for half-rate belts like that
18:35:21 <b_jonas> the counter is a binary counter, except that its bits are shifted in time. the nth level stores the nth bit of what the number of shapes was n shapes ago
18:35:49 <b_jonas> but I have no idea how the museum single-shape separator works
18:35:57 <int-e> I also found the 2:1 splitter
18:36:28 <int-e> nah it's a splitter in the shapez terminology: one input, two outputs
18:36:59 <b_jonas> I knew how it worked when I built it and I'm not touching it now, that's all I know
18:37:36 <b_jonas> int-e: the 3-way splitter is basically common knowledge because the Factorio folks have been researching this sort of nonsense long ago (and are still finding new and better designs for Factorio)
18:38:27 <b_jonas> the specific compact builds differ, but the principles are the same
18:39:41 <int-e> No surprise there, but I didn't have that background :)
18:40:59 -!- Lord_of_Life_ has joined.
18:41:13 <int-e> b_jonas: what I eventually came up with on my own was https://int-e.eu/~bf3/tmp/shapez-3-way-splitter.png
18:41:38 <int-e> which... really is equivalent
18:42:08 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
18:42:21 <int-e> (since the balancers can be replaced by splitters and moved along the track)
18:42:29 <int-e> (except for the first one)
18:42:59 <int-e> but it /feels/ different because I thought of it as a 4-way splitter with one feedback loop
18:43:16 <int-e> so I didn't spot the 2:1 splitter component.
18:43:45 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:43:53 <int-e> the item separater does look quite elaborate
18:45:55 <b_jonas> now that I look at it, it doesn't seem how it could handle the weird unlikely case (when it can't separate a shape by the time the level jumps) correctly, but maybe I'm just stupid
18:46:01 -!- Noisytoot has joined.
18:46:20 <b_jonas> that was certainly the intention, and some of the complexity is that
18:46:53 <b_jonas> the other part of the complexity is I think that it can somehow test if two shapes got separated to its buffer and flush it and retry in that case, and I think that's also an unlikely case
18:49:47 <int-e> Ah I see why you have undefined values in there, you can use those to reset a memory cell
18:51:23 <b_jonas> yes, I use the simple 1-transistor memory cells, where you just send anything other than empty on the input wire for two cycles to write the cell, and undefined when you don't want to change the value
18:53:01 <b_jonas> but only the stuff near the hub has memory cells, nothing in the freeplay factory does
18:53:25 <b_jonas> the factory just does straightforward bounded time no-loops computation
18:53:46 <int-e> I can mostly follow the item extractor... and as you mentioned before, a lot of the complication is from on keeping producing the previous shape if the extractor hasn't succeeded yet.
18:54:12 <b_jonas> where bounded time doesn't mean fast; it's not optimized
18:55:40 <b_jonas> int-e: yes, but the very first filter, the only one that can even let shapes in from the main belts, it seems like the logic can only give that one the hub shape or undefined
18:56:01 <b_jonas> so if the hub shape had changed, how would it ever let a shape in?
18:57:37 <b_jonas> it really looks like I just messed that case of the logic up, and haven't noticed because it never occurs
18:57:49 <int-e> the garbage is released to the right
18:58:21 <b_jonas> unless the logic is such that it doesn't let the big storages flush into the hub until the museum copies are sent, and that's why the hub shape can't change?
18:58:35 <int-e> so the path is clear for the new shapes to get into the filter
18:58:51 <b_jonas> but if that's the case then why is there a memory cell for what shape is sent to the factory?
18:59:06 <int-e> Oh I see what you mean
18:59:25 <int-e> yeah, it's probably broken for that case... which will never happen
19:00:12 <int-e> but that transistor there should be using the shape line to the left
19:00:30 <int-e> because that'll be the old shape in that impossible case
19:01:28 <int-e> let me verify by breaking things so that this case actually happens :P
19:02:27 <b_jonas> it would help if the game had pause, change speed, single-step controls
19:02:39 <b_jonas> for debugging logic mechanisms like this
19:03:58 <int-e> Oh wait, it *does* prevent buffering, as you said
19:06:41 <b_jonas> wait, do you mean it prevents *filling* the buffers, rather than preverts flushing the buffers?
19:07:08 <int-e> As is, yes it does. But then what's the purpose of the separate shape line...
19:07:42 <b_jonas> probably an artifact I left in and didn't notice that it was stupid
19:10:55 <int-e> well it would make sense if you wanted to keep producing the old shape when the level is solved... maybe that was the original plan
19:10:56 <b_jonas> it doesn't ask the factory to stop production as soon as it starts to flush, which is something that could perhaps make sense, though it also has a drawback when the first flush fails
19:11:10 <b_jonas> yes, that was probably the original plan
19:11:52 <b_jonas> and if that does work then that's kind of still useful, because it would at least remember the shape in the logic wires until I can fix the museum mechanism
19:13:29 <b_jonas> well, my design certainly isn't optimized, but at least it looks like it's reliable
19:18:36 <b_jonas> copying everything on the map costs less than 1_600_000 glue apparently (it increases by the 1.10th power of the number of buildings copied in a single paste), so yes, I have a bit too much glue
19:24:38 <b_jonas> but it doesn't matter unless I build more rocket+logo+bouquet factories, and that won't happen on this map
19:25:17 <int-e> it'll break when the speedup is too small (the item detected before the filter has to reach the filter in... uh... 5 or 6 cycles?)
19:27:00 <b_jonas> this didn't exist when the speedup was too small
19:27:48 <b_jonas> also if the speedup is too small then the 12 lanes to the core aren't able to satisfy levels
19:29:50 <b_jonas> I had the museum since the first freeplay level, but it was manually controlled through the first few levels, and I think even then the speedup was high enough
19:30:04 <int-e> but other than that it should be robust. maybe a bit redundant... using the 0/1 outputs of those detectors serves no purpose, I think (you're already checking the shapes)
19:30:15 <b_jonas> since building enough of a factory to jump the first few freeplay levels took me a lot of time, and the upgrade shapes accumulated during that
19:30:20 <int-e> you should have speedup 7 or 8 when you reach freeplay
19:30:36 <int-e> which is fast enough as far as I can make out
19:31:19 <b_jonas> yes, but for the first freeplay level I built a factory that at least tried to be configurable for many freeplay shapes, so it was a lot of time after that when I completed the first level
19:31:33 <b_jonas> that the factory had all sorts of issues doesn't change that
19:32:00 <int-e> Anyway. a bit crufty maybe, but it works. There's a really clever bit actually where it relies on threestate logic for those filters
19:33:26 <b_jonas> have you looked at how the freeplay factory itself works? that one I do still understand
19:34:59 <int-e> Oh, *that* is what the 0/1 outputs are used for... you wait for them to become 0 to stop draining.
19:36:57 <b_jonas> the factory control logic also has a part that is only there to handle a rare case, but at least it's like 1 in 1000 freeplay level rare one, not a you'll never see one rare one
19:37:22 <int-e> There's also a pre-selection filter that's controlled by the logic here. So elaborate.
19:38:03 <b_jonas> I could have left it out and manually intervene once every 1000 levels when it comes up, but by then I may have forgotten how the factory works and where I have to intervene
19:38:07 <int-e> so okay, when I said I understood that item separator, I was clearly lying :P
19:38:43 <b_jonas> it's possible that the parts that you don't understand are just redundant
19:39:06 <b_jonas> I never tried to build a minimal museum specimen separator, just a reliably working one
19:43:14 <b_jonas> the first filter I definitely need, because the factory can emit incorrect shapes during warm-up, and I don't want those in the museum
19:44:08 <int-e> oh I think what happens on the left... the shape is delayed until the flip-flop has actually reset
19:44:32 <int-e> and you do that by checking the flip-flop output rather than just having a fixed delay by two ticks.
19:45:36 <int-e> (why two? because in the flip-flop, the signal has to propagate through both the and AND the OR gates to prevent flickering)
19:46:49 <int-e> there may have been actual plans to delay the propagation for longer, but they're not realized here
19:47:16 <b_jonas> I think it's possible that I don't *quite* trust the exact delays in logic, thinking that maybe the shapez.io engine tries to distributed evalulate the map and multiple large sections are evaluated kind of asynchroniously. this is silly, knowing how the implementation works, but still.
19:47:38 <int-e> it might still be draining and it's waiting for that as well
19:48:03 <int-e> So... it does serve a purpose in those impossible cases :P
19:48:52 <int-e> Is it possible that the filter at the entry was a later addition?
19:49:18 <int-e> Because if it was, there'd be a significant time spent on draining.
19:50:11 <esolangs> [[User:Nick-1666/vector.css]] N https://esolangs.org/w/index.php?oldid=102979 * Nick-1666 * (+59) Created page with " body { background-color: white; color: black; }"
19:51:02 <b_jonas> I don't know, I have a lot of older savefiles but don't want to dig through them
19:55:02 <int-e> Okay, I mostly get the counter too. Top half has the counter, bottom half has carries; values alternate between outer memory cells and inner memory cells; computation happens when moving from inner cells to outer cells
19:56:14 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102980&oldid=102979 * Nick-1666 * (+18279)
19:58:01 <b_jonas> it's very likely much bigger than it needs to be, even with using logic only rather than splitters to divide
19:58:19 <b_jonas> and I mean bigger per bit, I don't mean that the higher order bits don't get any use
19:58:20 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102981&oldid=102980 * Nick-1666 * (+158)
19:58:31 <b_jonas> there are two bits above what I need to count
19:59:27 <b_jonas> it uses one-gate memory cells that update in two cycles with a conflict in the first cycle, rather than the traditional flipflops
19:59:33 <b_jonas> you can't do this in real electronics
20:01:06 <b_jonas> the long horizontal blue wires are the clocks, two alternating ones
20:01:35 <b_jonas> the middle one is active for like 5 or 6 cycles, the outer one in between
20:03:25 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102982&oldid=102981 * Nick-1666 * (-5)
20:05:27 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102983&oldid=102982 * Nick-1666 * (+71)
20:06:21 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102984&oldid=102983 * Nick-1666 * (+72)
20:06:33 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102985&oldid=102984 * Nick-1666 * (+0)
20:06:44 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102986&oldid=102985 * Nick-1666 * (+3)
20:06:52 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102987&oldid=102986 * Nick-1666 * (-3)
20:07:06 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102988&oldid=102987 * Nick-1666 * (+0)
20:07:11 <int-e> b_jonas: I found one of the infamous symmetry detectors
20:07:50 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102989&oldid=102988 * Nick-1666 * (+94)
20:08:28 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102990&oldid=102989 * Nick-1666 * (+0)
20:08:57 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102991&oldid=102990 * Nick-1666 * (+87)
20:09:08 <int-e> I'm amazed that you bothered with that... it seems to bothersome to get right
20:09:37 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102992&oldid=102991 * Nick-1666 * (+52)
20:10:42 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102993&oldid=102992 * Nick-1666 * (+39)
20:11:00 <b_jonas> int-e: yes, it probably isn't worth just to save a few stackers
20:11:33 <b_jonas> int-e: it would save much more if it weren't for that the stupid freeplay shape randomizer algorithm can remove a quarter that breaks the symmetry
20:11:41 <int-e> so is the failed symmetry case the rare one?
20:11:52 <b_jonas> the failed symmetry case is pretty common
20:12:01 <esolangs> [[User:Nick-1666/vector.css]] https://esolangs.org/w/index.php?diff=102994&oldid=102993 * Nick-1666 * (+120)
20:12:03 <b_jonas> the rare case is a subset of that,
20:12:59 <int-e> (I guess it's not actually a failed symmetry... it's a mirror symmetry with a hole in it)
20:13:29 <b_jonas> when the symmetry fails, and the shape before removal has diagonal symmetry, but the two other layers happen to have central symmetry and so I detect the symmetry of the whole shape incorrectly
20:14:06 <b_jonas> that's why I have to detect symmetry twice, once for how I assemble the entire shape, and once for how to make the layer that has the broken symmetry
20:16:09 <b_jonas> the failed symmetry is common because most shapes are missing a quarter, and that breaks the symmetry UNLESS the shape is central symmetric (1/3 of all shapes IIRC) or the shape is diagonal symmetric (1/3 chance) and the missing quarter is from the two quarters that are supposed to be identical (1/2 chance)
20:16:45 <b_jonas> or unless there's an accidental symmetry on the layer with the missing quarter
20:17:04 <b_jonas> only the first two exceptions
20:17:13 <b_jonas> and the shapes that don't miss any quarters
20:17:19 <int-e> it's also funny that you decided to mix all colors in large quantities while I rely on a mixer that can produce a merry mix of colors up to, uh. 0.8 belts worth.
20:18:14 <b_jonas> int-e: older versions used to have fewer mixers, and some buffers for the pigment
20:18:46 <b_jonas> I extended later, which is why the part of the factory around the mixers is so clamped that there's some belt weaving
20:19:02 <b_jonas> I also used to have fewer windmills and buffers for those
20:19:04 <int-e> I also have buffers but they may not actually be needed... I haven't tested that though; they're so cheap to put in.
20:19:11 <b_jonas> and I think fewer stars too
20:19:37 <b_jonas> sure, the buffers are cheap
20:20:07 <int-e> (The production *does* keep up with the factory on average, but I was worried about switchover starving for paint, which would destroy the delicate balance of the square feed that I now rely on)
20:21:07 <int-e> Because switchover causes a surge in paint consumption due to draining the belts.
20:21:23 <b_jonas> plus because of how freeplay shapes are generated, you need twice as much white pigments as the six colors, and white is the most expensive to mix
20:21:36 <int-e> windmills are such a pain to gather
20:22:11 <int-e> Yeah, my calculation of consumption is based on having everything painted white.
20:22:36 <int-e> At which point each slice factory will, in the long run, consume 0.5 belts worth of red, green, and blue.
20:23:00 <int-e> Plus a bit for pigments lost in switchovers.
20:24:00 <b_jonas> yeah, I produce as much pigment and shape as could sustain the four belts of any freeplay shape indefinitely, even the very unlikely all purple all windmill shape
20:25:17 <b_jonas> in the new map that I started, all I built from the freeplay factory so far is the shape producers: 16 belts of circles, 16 belts of squares, 16 belts of stars, 16 belts of windmill. I don't have pigment or any of the shape assembling parts yet.
20:31:16 <b_jonas> though before I continue to build the freeplay factory there, I'll have to build some more logo factory.
20:37:04 <int-e> wait, does it never put holes into the bottom layer?
20:39:45 <b_jonas> I dunno, I thought it would put holes in any of the four layers, but only one quarter hole in the whole shape
20:40:00 <b_jonas> but I might be misremembering
20:40:09 <int-e> Ah, no... there's at most one hole, so there are two adjacent layers without holes, and you seem to exploit that.
20:41:02 -!- tech_exorcist_ has quit (Remote host closed the connection).
20:41:32 <b_jonas> the two layers without holes share a symmetry, so I paint and stack whole shapes for it, then cut the two-layer shapes to a half and two quarters, then join them
20:41:46 -!- tech_exorcist_ has joined.
20:42:21 <b_jonas> this way I have to do fewer joins, because I'm doing two joins on two layers at the same time, rather than two one-layer joins separately for each layer
20:43:14 <b_jonas> in the third layer I can't do this optimization, but I still use the symmetry
20:43:42 <b_jonas> in the layer with the whole I can't really optimize anything, because it may be made of a whole and three quarters of different color and shape a
20:44:33 <b_jonas> luckily the circuit that detects the symmetry isn't too hard, because we have a gate that can compare any shape, even multi-layer shapes
20:46:00 <b_jonas> so if the shape were symmetric, I could just cut it to four quarters, then compare which pairs of quarters are the same
20:46:11 <b_jonas> I wouldn't have to decompose the layers
20:46:28 <b_jonas> but since the missing quarter breaks the symmetry, I do have to break the shape into layers in the logic too
20:46:41 -!- __monty__ has quit (Quit: leaving).
20:57:22 <int-e> Anyway, I think I have a high-level picture of it now and it's rather complicated.
20:57:39 -!- chiselfuse has quit (Remote host closed the connection).
20:57:54 -!- chiselfuse has joined.
20:58:19 <int-e> On another note, you really love balancers. And things look very different when zoomed out because they become thick black blocks.
21:04:32 <b_jonas> if we had priority balancers I wouldn't need so many
21:04:51 <b_jonas> I mean admittedly I don't need this many anyway
21:05:08 <b_jonas> note that I played shapez.io *before* I started playing factorio
21:05:15 <b_jonas> and built almost all of that factory then
21:05:22 <b_jonas> so I didn't really know how belts should work
21:05:28 <b_jonas> there are lots of stupid things because of that
21:05:31 <b_jonas> but still, no priority balancers
21:06:02 <b_jonas> unless you want to put storages everywhere
21:06:49 <int-e> I actually wish that there was a smaller storage unit. Capacity 100 or so.
21:07:39 <int-e> Those storages I have after the color mixers and before color selection? I had to wait for them to fill up. It took ages.
21:09:02 <int-e> Though I was clever about it... I copied them relatively early, while I was still debugging the first factory.
21:09:29 <int-e> But with a smaller storage, I wouldn't have had to worry about that.
21:12:44 <b_jonas> if you don't need the full capacity of the storage then why do you need to wait for it to fill up? do you have some complex logic that cares about it?
21:13:28 <int-e> Because the color mixer I have is highly unbalanced... it relies on getting stuck on most outputs.
21:14:18 <b_jonas> you managed to overcomplicate a *color mixer*?
21:15:07 <int-e> https://int-e.eu/~bf3/tmp/shapez-combined-mixer.png
21:15:26 <int-e> it mixes all colors from three primary color inputs
21:16:03 <b_jonas> you share the pigment mines between mixed and unmixed
21:16:07 <int-e> and when it's saturated like that, taking out one white will trickle up and consume one of each primary
21:16:28 <int-e> but when demand exceeds supply, the right stages will be starved.
21:16:29 <b_jonas> I don't do that because pigment mines are cheap
21:17:01 <int-e> actually, no. the green line is the one that gets starved the most
21:17:17 <int-e> because there's 8 splitters to traverse
21:17:27 <int-e> so only one in 256 greens makes it through
21:18:03 <b_jonas> and you didn't want to just add a few more miners and belts to fix this?
21:18:25 <int-e> Pigment mines are cheap but they still add heavily to the overall footprint. I also didn't route resources very systematically so it would increase my effort considerably.
21:18:45 <int-e> there's nothing to fix once it's filled up.
21:19:38 <b_jonas> I just decided to go heavy in all the constant production, since they can be far from the hub and their compactness doesn't matter, except possibly to conserve out of universe computation power and thus give faster fps, but I didn't care too much about that
21:19:45 <int-e> And I thought of this for my V3 factory and I liked it.
21:20:10 <int-e> unfortunately, long belts affect time taken per tick
21:20:28 <int-e> Somehow. I'm not quite sure why.
21:20:54 <b_jonas> yeah, sadly shapez.io is implemented so slow that you actually have to care about computation power, it's just that that's not the game I want to play when I'm playing a game
21:21:03 <int-e> (I still haven't looked in full detail at the belt path machinery)
21:21:16 <b_jonas> I'm fine with optimizing for fast computation for work, but not when I'm playing a game
21:21:54 <int-e> I /think/ I've seen that it's actually shifting arrays to take items off a belt path?
21:22:25 <b_jonas> shifting perl arrays (fast for large arrays) or shifting python arrays (slow for large arrays)?
21:22:25 <int-e> Which is an unfortunate O(n) operation for something that should really be constant time.
21:22:39 <int-e> no clue about those
21:22:53 <b_jonas> but maybe it slices long belts to multiple shorter belts internally because of this?
21:22:54 <int-e> I'd assume O(n). Maybe I'm wrong.
21:24:22 <int-e> Anyway, I've come to not treat the constant production as cheap for that 4th version.
21:26:41 <int-e> I'll dig deeper into the belt path logic... I've seen hints of an optimization for densely packed items on a belt.
21:26:53 <b_jonas> hmm, do you plan to alternatingly delete the whole freeplay factory and build the upgrade shape factory, and delete the upgrade shape factory and build the freeplay factory, switching every few hundred levels, to save cpu time on constant production? :-P
21:26:57 <int-e> Which could make quite the difference.
21:27:33 <int-e> b_jonas: No. Also, idle buildings take computing resources too.
21:28:23 <int-e> Oh you said "delete"
21:28:23 <b_jonas> int-e: yes, that's why you'd have to delete them rather than just press some buttons to close the belts
21:28:55 <int-e> I don't care as long as the tick time stays below 16ms.
21:29:19 <b_jonas> doesn't shapez.io let you raise the fps over 60?
21:29:19 <int-e> That's what killed my very first design with 8 factories... tick time was about 33ms for those :/
21:29:27 <int-e> But I've mentioned that before.
21:29:42 <int-e> Well, I deleted half of the factories to make it faster
21:30:38 <int-e> So yeah, it wasn't quite dead. But the result looked silly because the nice 4-way symmetry I wanted was lost and left a lot of empty space
21:31:30 <esolangs> [[PDAsephone]] https://esolangs.org/w/index.php?diff=102995&oldid=101504 * BoundedBeans * (+734) Added Turing-completeness proof
21:32:22 <esolangs> [[PDAsephone]] M https://esolangs.org/w/index.php?diff=102996&oldid=102995 * BoundedBeans * (+0) Fixed category
21:32:38 <int-e> version 2 *actually* died because I lost it in a crash. version 3 was the rebuild of version 2 (with very minor changes) it ended up with a tick time of 15ms or so. version 4 has a tick time of under 10ms, but it's not producing the constant shapes which probably add another 3-4ms? I don't really know. I could check how much faster ticks become in v3 if I delete those parts
21:33:19 <int-e> My story so far. Maybe I should write memoirs about this :P
21:33:56 <esolangs> [[PDAsephone]] M https://esolangs.org/w/index.php?diff=102997&oldid=102996 * BoundedBeans * (+2) Fixed brainfuck wording
21:34:46 <b_jonas> you should definitely make periodic saves of it so you don't lost it in a crash again
21:35:16 <esolangs> [[PDAsephone]] M https://esolangs.org/w/index.php?diff=102998&oldid=102997 * BoundedBeans * (+1) added necessary quote to > in proof
21:38:06 -!- user3456 has quit (Ping timeout: 268 seconds).
21:41:29 <int-e> b_jonas: Yeah I've been doing that, with a couple of separate backups too.
21:41:44 <int-e> I think the basic idea of disabling autosaves is good though
21:42:26 <esolangs> [[Special:Log/newusers]] create * Joaozin003 * New user account
21:43:33 <int-e> (One thing you can do with autosaves disabled is load a save file, completely mess it up, and then kill the shapez process so that it won't save. Oh and don't go to the settings menu either.)
21:43:56 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=102999&oldid=102942 * Joaozin003 * (+181)
21:44:13 <esolangs> [[User:Joaozin003]] N https://esolangs.org/w/index.php?oldid=103000 * Joaozin003 * (+23) Created page with "woohoo user pages exist"
21:44:26 <esolangs> [[User talk:Joaozin003]] N https://esolangs.org/w/index.php?oldid=103001 * Joaozin003 * (+0) Created blank page
21:47:37 <b_jonas> ok, so long term prediction. the third season of Hamster and Gretel will reveal that Bailey knew Gretel's secret identity from the start, but pretends that she doesn't, perhaps because she's genre savvy and thinks that knowing the secret identity would inevitably get her entangled in some villain plots and she wants to avoid that.
21:48:11 <b_jonas> (she might also like to tease Gretel)
21:51:18 <esolangs> [[Taglate]] https://esolangs.org/w/index.php?diff=103002&oldid=102801 * BoundedBeans * (+18) Corrected badly worded t step
21:55:01 -!- Sgeo has joined.
22:02:11 <int-e> Looks like 1.5 or 2ms per tick for constant production (2x rocket, 4x flower, 2x logo; I didn't produce blueprints in the end I had millions and if actually required, the factory could produce them for me)
22:03:08 <int-e> For reference... I spent less than 600k blueprints on the V4 design.
22:04:21 <b_jonas> sure, you don't need to produce much blueprint shapes, and you can just produce them with your freeplay factory when you need more
22:04:30 <b_jonas> not with your freeplay factory
22:04:38 <b_jonas> but you can build a factory for it easily if you need more
22:05:21 <b_jonas> and you can reuse the white circle makers from the logo and rocket factories
22:05:55 <int-e> I have not toyed with the tick rate settings in shapez.io
22:06:15 <b_jonas> just make sure you build it *before* you get so close to running out of glue that you are limited in how much you can paste during building the glue factory
22:06:23 <int-e> b_jonas: my freeplay factory can make blueprint shapes
22:06:32 <b_jonas> int-e: yes, but not with high throughput, right?
22:06:45 <int-e> sure, it'll only saturate 4 belts
22:07:09 <b_jonas> I thought you had even fewer color mixing production than that
22:07:14 <int-e> since there are four factories.
22:07:32 <int-e> The color production thing is per slice... so that thing exists 16 times.
22:08:34 <b_jonas> that makes much more sense
22:08:51 <int-e> https://int-e.eu/~bf3/tmp/shapez-v4-footprint.png ... you can see the color mixing part on top, recognizable by the green storage boxes
22:09:33 <int-e> below that are color selection, shape selection (shifted a bit to the left), then painting, then 4 levels of stacking.
22:09:47 <int-e> and after that there's the hub
22:11:31 <int-e> Anyway, I recommend the save file (the link, once more: https://int-e.eu/~bf3/tmp/V4-final.bin ) to actually see those parts in action.
22:11:40 <b_jonas> yeah, I'll have to look at that
22:11:51 <b_jonas> wait, you name a file "final"? isn't that one of the big naming sins?
22:12:05 -!- chiselfuse has quit (Ping timeout: 258 seconds).
22:12:06 <int-e> I've already updated it once :P
22:12:51 <int-e> it should load zoomed in on a button which needs to be pushed to set things in motion
22:13:44 <int-e> Heh, which is actually not in the screenshot, because I added it later.
22:14:17 -!- chiselfuse has joined.
22:15:33 <b_jonas> I'm usually bad at following good practice in naming, I name stuff "old" and use single-letter names and all that, but "final" is too much even for me, I never use it in that sense
22:16:16 <int-e> you may be overestimating the power of names
22:16:30 -!- tech_exorcist_ has quit (Quit: Disconnecting).
22:17:16 <b_jonas> why are you sending two belts of stars into the hub? is that just to test the mechanism?
22:17:40 <int-e> also checking that the routing from outside actually works
22:17:59 <int-e> because it's not as direct as you might expect
22:18:24 <b_jonas> this definitely looks much more compact than my four-belt freeplay factory
22:22:02 <int-e> Yeah... design criteria were basically: minimize slice factory *width* (it's 24), since there'll be 4 side by side; within that constraint, try to reduce length while having all the required functionality to actually do the required work. And once I had the factory I measured it carefully and placed it as closely as possible to the hub.
22:22:32 <b_jonas> I see you have the four levels of stackers completely separated from each other, rather than partly combined to a compact array, despite that there's no drain to trash between them
22:23:04 <int-e> well, yes, because there is no trash
22:23:28 <b_jonas> couldn't you combine the last two or middle two levels to make the length shorter?
22:23:36 <b_jonas> since you have more width to work there
22:24:35 <b_jonas> you should probably show this to the other shapez.io folks, they like optimized factories
22:25:05 <b_jonas> even ones that aren't the single most optimized (that's likely z-man's factory)
22:25:19 <int-e> I'm not sure how to combine the stages at all.
22:25:54 <int-e> I mean, doing this https://int-e.eu/~bf3/tmp/shapez-balanced-stacker.html with more than two inputs seems tricky.
22:26:08 <b_jonas> so will this keep working perfectly if you take upgrades to slightly different speeds? not, like, crazy different where painters are half as fast as belts or anything, just miclick on an upgrade or so
22:26:48 <b_jonas> ah, you say you couldn't preserve the perfect combing? ok
22:26:50 <int-e> Hmm. Upgrade the belts last and it should keep working
22:28:15 <b_jonas> ok. in my game I usually upgrade the belts first, then painting, then stacking, then extractors.
22:28:22 <int-e> b_jonas: I could, however, move the second and third merging stages inward and probably get things another 4 or 5 squares closer to the hub.
22:29:10 <b_jonas> int-e: that would make the belts longer so it wouldn't help, right?
22:29:25 <int-e> There is that too, yeah
22:30:12 <int-e> I could avoid the left/right wiggles in the last three merging stages.
22:31:23 <int-e> But the critical paths are those that pass to the opposite side, and those already don't go back and forth more than necessary.
22:31:31 <int-e> So... I think there's *very* little to gain.
22:32:25 <int-e> b_jonas: I /could/, with some effort, use knight jumps for some of the latency-reduction storage units.
22:32:49 <int-e> that would have the same benefit as moving things closer to the hub.
22:33:09 <int-e> But I'd probably have to relocate the control logic and I kind of like having that next to the hub.
22:33:34 -!- immibis_ has joined.
22:35:37 <b_jonas> I mean I just wanted to understand why you set it up this way, and you answered that
22:36:47 <int-e> Oh but I realized some angles that I hadn't considered before.
22:38:02 <int-e> b_jonas: Note that there's actually enough upgrade shapes in that save to reach level 1000. So you /can/ experiment with higher speedups. I haven't, I have only really tested this at 8x and 10x speeds.
22:40:06 <b_jonas> yeah, you saved with a gigaunit upgrade shapes
22:40:35 <int-e> I actually added up all the upgrade costs.
22:40:40 <int-e> Well, my code did.
22:49:11 -!- chiselfuse has quit (Read error: Connection reset by peer).
22:49:30 -!- chiselfuse has joined.
22:51:26 <int-e> b_jonas: One funny detail is that the selection stage also has binary trees for its feeds. This is actually important, because immediately after switching, there are often empty belts beyond the feed, so if you'd do the obvious sequential thing, in the worst case, the rightmost belt (since I feed from the left) would only receive items at a 1/8 rate.
22:52:07 <int-e> And that would result in a significant ramp-up time.
22:52:54 <int-e> (because to reach the required 1/4 rate, the other 3 belts would have to be filled to the rim)
22:59:52 <int-e> Well, the first two.
23:20:33 -!- chiselfuse has quit (Remote host closed the connection).
23:21:06 -!- chiselfuse has joined.
23:21:10 <esolangs> [[XERO]] N https://esolangs.org/w/index.php?oldid=103003 * BoundedBeans * (+3219) Created page with "XERO (the name being the amount of use you'll get out of this language before giving up) is an esolang by [[User:BoundedBeans]] which aims to be as annoying as possible, achie..."
23:22:03 <esolangs> [[XERO]] M https://esolangs.org/w/index.php?diff=103004&oldid=103003 * BoundedBeans * (+61) Remembered to add tritwise command character
23:22:49 <esolangs> [[XERO]] M https://esolangs.org/w/index.php?diff=103005&oldid=103004 * BoundedBeans * (+0) Fixed category
23:25:44 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=103006&oldid=102966 * BoundedBeans * (+11) added XERO
23:25:59 <esolangs> [[User:BoundedBeans]] https://esolangs.org/w/index.php?diff=103007&oldid=102857 * BoundedBeans * (+10)
23:27:24 -!- chiselfuse has quit (Remote host closed the connection).
23:27:39 -!- chiselfuse has joined.