Cloudwiki

Factory/구상

[[Factory]]에 다음으로 들일 것들의 **브레인스토밍**이다. 이전 판(계통 일곱 직후 시점)은 여기 없다 — 그때 벌여 둔 후보의 태반이 그새 실려 정본이 되었고, 남은 것은 아래 「기각된 후보」와 「남겨 둔 예전 후보」 둘로 갈렸다. 여기 적힌 새 후보도 전부 후보이지 결정이 아니며, 추려서 구현된 것의 정본은 여전히 저장소 `docs/`다.

기준 시점은 **PR #22 머지 후**다. 그 사이(#13~#22)에 실린 것: 목재(제재기·부산물), 도자기(성형→가열 순서 뒤집기), 건자재(콘크리트), 재활용(슬래그→골재→시멘트 가루로 되돌아옴), 식품(팝콘·캐러멜·사탕·냉동빵), 합금(합금로·청동), 전자 1차(구리선·회로기판·전선), 이동 기계 다섯(고속 컨베이어·교차로·분배기·게이트, 선별기는 기존), 그리고 제품을 다루는 경로 전부(`WORKS`·`ASSEMBLES`·`SHREDDERS`·`CHARS`)가 섰다. 이전 판이 "제품을 먹는 기계가 아직 없다"고 적어 둔 그 빈자리가 지금은 없다.

옆 저장소 [[Particle Sandbox]]의 에셋·설계·UI는 여전히 **전권 보유**로 가져다 쓸 수 있다 — 이름·그림·설정 수치까지이고 상호작용 코드는 안 가져온다는 경계는 그대로다([`docs/MATERIALS.md`](https://github.com/eoeoe22/factory/blob/main/docs/MATERIALS.md)의 「안 가져온 것」).

## 엔진이 긋는 선 — 지금 뭐가 싸고 뭐가 비싼가

이전 판이 적어 둔 선 중 그대로인 것과 이미 넘은 것을 가른다.

**그대로인 것:**

- 계통 하나 = 표 몇 줄 + 아트. `recipes.ts`가 전부 `Record`라 빠뜨리면 빌드가 선다.
- 한 기계가 사슬을 못 한다(`MELTS`·`BONDS`·`WORKS` 등 「그 자리에서 바꾸는」 표 전부). 다단 가공은 기계를 늘려서 푼다.
- 배치가 곧 시간 예산. 알갱이도 제품도 1초에 기계 한 칸.
- 공급과 소모는 정수비 — `cost / period`가 `FEED_PER_TICK`(4)의 배수라야 라인이 맞물린다.
- 통은 알갱이 쪽만 상한이 있다(`minput`이 물질 통에서는 `Uint8Array`, 제품 통은 상한 없음).

**이미 넘은 것:**

- ~~제품을 먹는 기계가 없다~~ → **넷 다 있다.** `WORKS`(프레스·커터·단조기·오븐·냉각기·제재기, 제품→제품), `ASSEMBLES`(조립기, 제품 둘→제품 하나), `SHREDDERS`(분쇄기, 제품→알갱이), `CHARS`(가열기, 제품 태우기). 새 제품 가공 경로를 뚫는 첫 1회 비용은 이제 없다 — 넷 중 맞는 표에 줄을 더하는 것으로 충분하다.
- ~~다입력·다출력이 없다~~ → 다입력(반죽기·합금로·조립기)과 다출력(증류탑)이 다 섰다. **다만 조립기는 정확히 둘이다** — 통이 `minput`·`maux` 둘뿐이라 셋을 받는 조립은 아직 없다. **삼입력은 여전히 안 뚫린 경로다.**
- ~~성형기 잠금 위에 고르기가 없다~~ → `Factory.mpick`로 섰다. 한 원료에서 여러 제품이 갈리는 것(녹은 유리 → 유리병/유리컵/판유리)이 표만 채우면 되는 일이 되었다.

**아직 안 넘은 것 (이번 라운드가 건드릴 자리):**

- **포장기는 알갱이만 받는다.** `PACKS`도 `SHAPERS` 계열이라 `SHAPERS`·`CONVERTS` 둘 다 알갱이 쪽 경로다. 제품을 포장하는 경로(제품 → 포장된 제품)는 아직 없다 — 지금 포장기는 팝콘(알갱이)을 봉지(제품)로 빚을 뿐, 이미 제품이 된 것을 다시 포장하지는 못한다. 반도체 칩 스택이 이 자리를 처음 뚫는 후보다.
- **부산물은 `SAWS`(제재기) 하나뿐이다.** 다이싱처럼 「하나에서 여럿, 그중 못 쓰는 조각도 나온다」 그림을 반도체 쪽에 얹을지는 아래에서 따로 본다.
- **속도 변조, 삼입력, 유통기한(제품이 시간이 지나면 상한다) — 셋 다 여전히 없다.**

## 반도체

모래 → 실리콘 → 웨이퍼 → 가공 웨이퍼 → 칩 스택. 웨이퍼 제조 / 포토·식각(한 기계로 묶어 추상화) / 패키징 세 단만 캐주얼하게 잡는다 — 실제 공정의 도핑·증착·검사 단계는 안 들인다.

```
모래 → [정련로 (가칭)] → 실리콘괴          (신규 기기, 신규 제품)
실리콘괴 → [커터, 기존] → 웨이퍼 N          (기존 기계에 CUTS 줄 하나)
웨이퍼 → [식각기 (가칭)] → 회로 웨이퍼      (신규 기기, 신규 동사)
회로 웨이퍼 → [포장기, 기존] → 칩 4개 스택  (기존 기계에 첫 「제품 포장」 줄)
```

- **정련로가 신규 기기인 이유.** 모래는 이미 가열기 `MELTS`에서 녹은 유리로 가는 줄이 있다. 같은 물질을 같은 기계에서 다른 것으로 만들 수는 없다(한 표에 한 줄) — 그래서 실리콘 라인은 새 기계가 받는다. 다만 **동사는 새로 안 늘어도 된다** — 광석을 녹여 도가니가 괴로 붓는 것과 같은 모양(녹인다 + 붓는다)을 한 기계에 합친 것뿐이라, 아트와 표는 새로 들지만 「동사가 새로울 때만 기계를 늘린다」 원칙과 충돌하지 않는다. 값싸게 가려면 정련로 대신 **가열기에 `MAT_SAND2`류 둘째 모래 물질을 새로 만들어 녹이고 기존 도가니가 붓는** 안도 있는데, 그러면 «모래»라는 원재료 하나가 유리 계통과 실리콘 계통 둘로 갈리는 것을 팔레트가 어떻게 보여 줄지가 새 문제가 된다. **신규 기기 쪽이 더 싸다** — 원재료 팔레트 칩은 그대로 «모래» 하나이고, 실리콘행이 어느 기계로 가는지만 새로 갈린다.
- **커터가 실리콘을 받는 것은 표 한 줄이다.** 이미 철판→못/기어/철사처럼 하나에서 여럿을 내는 `CUTS`가 있으므로, 실리콘괴 → 웨이퍼 N(가칭 6장)은 그 표에 줄을 더하는 것으로 끝난다. **새 기계도 새 동사도 안 든다** — 이번 파트에서 가장 싼 자리다.
- **식각기가 신규 동사인 이유.** 포토(감광)와 식각(깎아 내기)을 한 기계로 뭉쳐도, 「자른다」·「누른다」·「두드린다」 어느 것과도 안 겹친다. 새 동사 하나(가칭 «새긴다»)가 필요하고, 받는 것도 내는 것도 제품 하나씩이라(웨이퍼 → 회로 웨이퍼, 1:1) `WORKS` 경로를 그대로 쓴다 — 뜨거운 철괴 → 강철괴와 같은 모양이라 코드는 새로 안 든다. **동사가 새로 느는 것 자체가 이 파트의 존재 이유다** — 「새로울 때만 기계를 늘린다」를 이 후보가 만족하는 지점.
- **포장기가 이 파트의 진짜 비용이다.** 회로 웨이퍼 → 칩 4개 스택은 「제품 하나를 넷으로 쪼개 담는다」인데, 지금 포장기는 알갱이만 받는 `SHAPERS` 계열이다. 여기서 갈림길이 갈린다.
  - **안 A (권장) — 포장기에 `WORKS` 표를 하나 얹는다.** 프레스·커터가 이미 그 표를 쓰므로, 포장기도 같은 표를 하나 더 갖는 것뿐이다. 회로 웨이퍼 → 칩 4개 스택 1(스택 자체를 한 제품으로 센다, 나사류를 낱개 대신 상자로 세는 것과 같은 방식)로 두면 부산물도 안 든다. **가장 싸다.**
  - **안 B — 커터가 다이싱까지 겸한다.** 회로 웨이퍼 → 칩 낱개 N(커터 `CUTS`에 줄 추가) → [포장기, 기존 `SHAPERS`처럼 알갱이 아니라 제품 여러 개를 «모아 담는» 새 규칙] → 스택. 다이싱과 패키징을 기계로 갈라 라인이 한 칸 길어지지만, **포장기가 «여러 낱개를 모아 하나로 묶는다»는 새 규칙(지금 조립기의 둘 묶기와도, `WORKS`의 하나→하나/하나→여럿과도 다르다)을 요구해 안 A보다 비싸다.**
  - 안 A로 가면 **부산물(다이싱 손실)이 없는 게 되어 리얼함은 죽지만, 이번 파트가 새로 여는 것(포장기의 첫 제품 입력)에 비용을 몰아주고 나머지는 기존 표로 끝난다.** 캐주얼하게 간다는 방향과도 맞는다.
- **자원 관점에서 제일 싼 파트다.** 새 원재료 팔레트 칩이 필요 없다 — 모래는 이미 T0 공급기에 있다. 새로 드는 것은 기계 둘(정련로·식각기)과 제품 넷(실리콘괴·웨이퍼·회로 웨이퍼·칩 4개 스택)뿐이고, 그중 절반(커터·포장기 구간)은 기존 기계의 표 확장이다.
- **식는 예산과는 안 논다.** 정련로가 뜨거운 것을 내는 기계(용융→주조)로 설계되면 실리콘괴에도 식는 시계를 줄 수 있지만, 강철 계통과 성격이 겹친다 — «뜨거울 때만 받는 기계»는 이미 단조기가 대표하고 있으므로, 실리콘 라인은 처음부터 식지 않는 상온 소재로 두는 편이 이 파트의 개성(포토·식각·패키징이라는 새 동사 셋)을 흐리지 않는다.
- **티어 자리.** 지금 티어는 T7(회로기판)에서 끝난다. 반도체는 그 위 T8 후보다 — 해금 조건은 회로기판 개수(전자 계통의 연장이라는 서사가 선다), 새로 여는 것은 정련로·식각기 둘. 새 원재료 공급기 칩이 없으므로 **T8 진입 비용이 이전 티어들보다 가볍다.**

## 전자부품·전자제품

지금 전자는 구리선·회로기판·전선 셋에서 끝난다. 반도체가 서면 **칩 4개 스택이 넷째 부품**이 되고, 그 위에 완제품 한 단을 더 얹을 자리가 생긴다.

- **완제품 후보:** 회로기판 + 칩 4개 스택 + 전선 → 전자제품(가칭, 라디오·계산기 같은 구체 이름은 표를 채울 때 정한다). 셋을 한 기계로 모으는 것과 둘씩 두 단으로 모으는 것 사이가 이 파트의 갈림길이다.
- **안 A (권장) — 조립기를 두 번 태운다.** 회로기판 + 칩 4개 스택 → [조립기] → 실장기판(가칭) → + 전선 → [조립기, 다른 대] → 전자제품. **새 기계도 새 경로도 안 든다** — `ASSEMBLES`에 줄 둘을 더하는 것으로 끝난다. 라인이 조립기 두 대만큼 길어지는 대신, 이번 라운드에서 새 엔진 경로를 하나도 안 연다.
- **안 B — 삼입력 조립기(또는 신규 「전자조립기」).** 통을 셋으로 늘려 한 기계에서 한 번에 모은다. 이전 판이 화약(흑색화약: 석탄가루+초석+황)으로 잡아 두었던 **「삼입력의 첫 자리」**가 지금은 화약 대신 여기로 넘어올 수 있다는 뜻이다 — 두 후보 다 삼입력을 처음 여는 후보이므로, 어느 쪽을 먼저 낼지가 다음 라운드의 갈림길이지 이번 라운드에서 같이 열 필요는 없다. **안 A로 먼저 가고, 삼입력 자체는 화약이든 전자든 나중에 한 번만 뚫는 쪽이 싸다.**
- **부품 쪽에서 더 벌리는 안도 있다** — 저항·축전지 같은 더 잘게 쪼갠 부품. 다만 커터·프레스가 이미 대표하는 «판을 잘라 부품 낸다» 동사와 겹치므로, 새로 들일 값어치가 없다(추리는 기준 1번). 부품을 더 벌리기보다는 **완제품 쪽에 한 단을 얹는 것**이 이번 라운드의 승산 있는 확장이다.
- **아트·표 비용은 완제품 하나당 표 두 줄(안 A 기준)뿐이다.** 새 기계가 없으므로 이 파트는 반도체보다도 싸다 — 반도체가 새 소재 계통을 여는 값이고, 전자제품은 그 위에 표만 얹는 값이다.

## 식품 확장 — 팝콘 다음

팝콘·캐러멜/사탕·빵(냉동빵)이 이미 서 있다. 다음은 **가공식품 위주**로, 기존 넷(가열기·오븐·반죽기·냉각기·포장기)을 최대한 재사용하는 후보부터 본다.

| 후보 | 경로 | 재사용 | 새로 여는 것 |
|---|---|---|---|
| **감자칩** | 감자(신규 원료) → [오븐, `ROASTS` 줄 추가] → 감자칩 → 12초 뒤 눅은 감자칩(팝콘과 같은 자리, `COOLS`) → [포장기] → 봉지 | 오븐·포장기·「오래 두면 손해」 타이머 전부 | 원재료 계통 하나(감자 공급기 칩) |
| **시리얼** | 옥수수(**기존 T0 원재료 재사용**) → [오븐, `ROASTS` 둘째 줄] → 시리얼 조각 → [포장기] → 상자 | 오븐·포장기·옥수수 공급 전부. **새 원재료 칩이 아예 없다** | 표 두어 줄뿐 |
| **아이스크림** | 우유(신규 원료, 묽은 흐름) + 설탕(**기존**) → [반죽기, `BLENDS` 줄 추가] → 아이스크림 믹스 → [냉각기, `COOLS`] → 아이스크림 → [포장기] → 콘/컵 | 반죽기·냉각기·포장기·설탕 라인 전부 | 원재료 하나(우유), 파이프 계열이면 물 라인과 같은 흐름 |
| **통조림** | 옥수수 또는 신규 채소 → [포장기, 기존 「담는다」 재사용] → 통조림 | 포장기 | **밀봉 = 안 상한다는 서사** — 팝콘의 정반대 축(아래) |
| 라면류(면발) | 반죽(**기존**) → [신규 압출기 또는 커터로 면 뽑기] → 면 → [오븐, 건조] → 건면 → [포장기] | 반죽기·오븐·포장기 절반 | 새 동사(뽑는다/누른다) 하나 — 후순위 |

- **팝콘의 「오래 두면 손해」를 그대로 물려받는 것이 감자칩이다.** 새 규칙을 안 만들고 표만 복제하면 되므로 이번 라운드에서 가장 싸다.
- **시리얼이 자원 관점에서 제일 싸다.** 옥수수가 이미 T0 원재료라 팔레트에 새 칩이 하나도 안 는다 — 반도체가 모래를 재사용하는 것과 같은 자리다.
- **통조림은 방향이 다르다.** 지금 벌칙(슬래그·유리가루·팝콘 셋)은 전부 «늦으면 손해»다. 통조림은 **그 반대** — 유통기한이라는 개념 자체가 아직 없는 채로 「밀봉하면 안 상한다」는 서사만 먼저 놓는 안이다. 실제로 «시간이 지나면 상하는» 제품(팝콘 말고 다른 것도)을 들이기 전까지는 통조림의 «안 상함»이 아무것도 막아 주는 게 없어 의미가 비는데, 그 반대 축(썩는 식품)을 먼저 늘리는 것은 이번 라운드보다 다음 라운드 몫이다 — **지금은 후보로만 남긴다.**
- **라면류는 새 동사가 필요해 이번 넷 중 가장 비싸다.** 면을 뽑는 동작이 자르기·누르기 어느 것과도 안 겹친다. 값을 매기면 반도체의 식각기 하나 정도인데, 반도체 쪽 새 동사는 이미 다른 계통(전자)과 이어져 있고 라면 쪽은 식품 하나로 끝나 활용도가 낮다 — **우선순위가 밀린다.**

## 기각된 후보

이전 판이 벌였다가 실제로 결정이 난 셋이다. 후보가 아니라 결과다.

- **로봇팔(인서터) — 각하.** 이 엔진은 기계가 스스로 나른다(`TRANSPORTS`) — 벨트에서 기계로 집어넣는 동작 자체가 필요 없다. 이 엔진의 결이 아니라는 판정이 그대로 남았고, 이후에도 뒤집을 이유가 안 생겼다.
- **터널 — 각하, 교차로로 대체.** `docs/MACHINES.md`의 「교차로가 터널 대신 선 이유」가 그 결정이다. 알갱이가 마지막으로 몰던 방향을 들고 다니므로 교차로는 그 값을 잇기만 하면 되고, 터널은 입구·출구와 그 사이 버퍼가 따로 필요해 드는 비용이 한 자릿수 더 크다.
- **카트·열차 — 보류 유지.** 판이 24×14 한 화면이라 «거리» 개념 자체가 아직 없다. 판이 커지는 안이 나오기 전까지는 후보 목록에서도 뺀다 — 지금 벌여 봐야 아무것도 못 판단한다.

## 남겨 둔 예전 후보

이전 판이 벌였지만 이번 라운드가 안 건드리는 것들이다. 기각이 아니라 **다음 라운드 몫**이라는 뜻으로 남겨 둔다.

- **금·은** — 소량·고가치 금속. 반도체가 서면 「소량을 비싸게 판다」는 축을 반도체 자체가 어느 정도 가져가므로(칩 스택이 원재료 대비 고가치), 급하지 않아졌다.
- **화약(흑색화약)** — 삼입력의 첫 자리 후보였는데, 이번 판의 전자제품(안 B)이 같은 자리를 놓고 겨룬다. 둘 중 하나만 먼저 뚫으면 된다.
- **증기·동력(증기 터빈)** — 속도 변조는 이번 라운드 어디에도 없다. 그대로 남는다.
- **염료·도장** — 제품 변종(같은 제품 + 색 태그) 개념도 이번 라운드에는 없다.
- **유통기한(제품이 시간이 지나면 상한다)** — 통조림 항목에서 다시 나왔듯, 팝콘의 «오래 두면 손해»를 알갱이가 아니라 **제품** 쪽에서 일반화하는 안. 다음 식품 확장 라운드의 전제 조건이다.

## 추리는 기준

이전 판의 다섯 기준은 그대로 쓴다 — 새 동사를 주는가, 경로를 뚫는가, 식는 예산과 노는가, sandbox 에셋이 있는가, 기존 기계를 재사용하는가. 이번 라운드에서 갈리는 순서를 다시 매기면:

1. **자원 비용이 0에 가까운 것부터.** 시리얼(옥수수 재사용)·반도체(모래 재사용)가 여기서 이긴다 — 새 원재료 팔레트 칩이 안 든다.
2. **표만 늘리는 것과 기계가 새로 드는 것을 가른다.** 커터의 웨이퍼 절단, 조립기의 전자제품 두 단은 표만 는다. 정련로·식각기는 기계가 는다 — 그래도 **동사가 새로울 때만** 늘렸는지를 다시 본다(식각기는 새 동사, 정련로는 기존 동사 둘을 합친 것).
3. **삼입력·부산물·속도 변조 같은 새 경로는 한 라운드에 하나만.** 이번 판은 「제품을 포장하는 경로」(포장기의 첫 제품 입력) 하나만 새로 연다 — 삼입력(전자제품 안 B, 화약)은 다음으로 미룬다.
4. **반대 축을 성급하게 안 놓는다.** 통조림의 «안 상함»은 «상함»이 없는 채로는 의미가 비므로, 유통기한 자체가 서기 전까지는 후보로만 둔다.

## 관련 문서

- [[Factory]] — 프로젝트 소개
- 저장소 [`docs/MATERIALS.md`](https://github.com/eoeoe22/factory/blob/main/docs/MATERIALS.md) — 계통을 들일 때 만지는 곳, 지금 있는 계통 열둘 전부
- 저장소 [`docs/MACHINES.md`](https://github.com/eoeoe22/factory/blob/main/docs/MACHINES.md) — 기계 스물다섯, 경로별(`WORKS`·`ASSEMBLES`·`SHREDDERS`·`CHARS`·`SHAPERS` 등) 목록
- 저장소 [`docs/ECONOMY.md`](https://github.com/eoeoe22/factory/blob/main/docs/ECONOMY.md) — 티어와 값
- PR #22 — 이 문서가 기준으로 삼는 시점