매우 중요한 FFF
https://www.factorio.com/blog/post/fff-409
FFF #409 - 점점 작아지는 신호기
게시자 V453000, Earendel
2024-05-03
안녕하세요,
오늘은 수년 동안 많은 분들이 변화를 꿈꿔왔던 기능인 신호 전송에 대해 살펴보려고 합니다.
신호기의 주요 목적은 게임 후반에 생산량을 크게 늘리는 동시에 단순한 모듈이나 더 빠른 기계 이상의 역할을 하는 것입니다. 신호기를 활용하려면 신호기에 맞게 공장 레이아웃을 조정해야 합니다.
신호기는 지금도 이 역할을 성공적으로 수행하지만...
문제
저희를 비롯한 많은 플레이어가 이전에 여러 번 말했던 것처럼 결과물인 레이아웃들이 그다지 흥미롭지 않다고 생각합니다.
12 신호기 방식
일반적인 두 가지 레이아웃 중 첫 번째 레이아웃은 최대의 신호기로 기계를 둘러싸는 것입니다(각 조립 기계마다 12개의 신호기가 영향을 미침).
- 최고의 컴퓨팅 성능
- 공간 효율적이지 않음
- 건축 재료와 전력 소비 모두 비용이 많이 듬
제작기 주변에 공간이 많기 때문에 많은 벨트를 통과시키기가 쉬우며, 실제로 게임 후반에는 레이아웃 설계가 그리 어렵지 않다고 느껴질 정도로 매우 쉽습니다.
12 신호기 방식의 맵
사이드 신호기를 더 가까이 배치하는 등 몇 가지 작은 바리에이션이 가능하지만, 전반적으로 대부분의 레시피에서 12개의 신호기 레이아웃이 동일하게 보이므로 게임 후반의 공장은 사각형들의 배열처럼 보이게 됩니다.
8 신호기 방식
다른 옵션은 기계와 신호기를 번갈아 배치하는 것입니다(각 조립 기계마다 신호기 8개가 영향을 미침).
- 뛰어난 공간 효율성
- 좋은 가성비
- 벨트를 위한 공간이 많지 않음
신호기와 기계 사이의 2타일 간격만으로는 아주 적은 수의 운송 벨트만 통과시킬 수 있습니다. 최대 2개의 운송 벨트를 이용해 재료를 넣고 1개의 운송 벨트로 생산품을 빼내는 몇 가지 요령이 있지만, 한 번 이러한 요령을 발견하고나면 그저 계속 반복하면 됩니다. 또는 공간 효율이 매우 높기 때문에 로봇 물류에 적합하며, 이 경우 기계 옆에 요청 + 공급 상자 쌍을 복사하여 붙여 넣습니다. 이것도 창의적이지 못하죠.
이 두 가지 레이아웃을 대체할 만한 다른 중요한 대안이 많지 않기 때문에 신호기를 사용하면 전체적으로 공장의 레이아웃 방식의 다양성이 제한되고 특히 게임의 초기 단계가 다양했던 것에 비해 후반이 단조롭고 흥미롭지 않게 느껴지는 경향이 있습니다.
아이디어
수년 동안 이 문제가 논의되면서 다양한 아이디어가 떠올랐습니다. 또한 모딩 API를 통해 다양한 실험이 진행되어 왔으며, 이는 많은 사람들이 어떤 형태로든 변화를 원한다는 것을 보여주는 신호이기도 합니다.
신호기 과부하
신호기 과부하는 Earendel의 우주 탐험 모드의 메커니즘입니다. 신호기 과부하는 1개를 초과하는 신호기의 영향을 받는 모든 기계를 종료시킵니다. 즉, 12신호기, 8신호기 또는 기타 신호기 레이아웃은 엄밀히 말해 불가능해집니다. 일반적인 신호기 범위를 사용하면 12개의 신호기 디자인을 반대로 하여 하나의 신호기를 조립기계로 둘러쌀 수는 있지만, 이제 입력과 출력이 필요한 기계가 1개가 아닌 12개이기 때문에 반복해서 붙여넣는게 비현실적이 됩니다.
신호기 과부하를 시도하면 처음에는 신선하게 느껴집니다. 신호기는 기본적으로 더 강력하고 모듈 슬롯이 더 많기 때문에 개별 신호기가 더 유연합니다. 가끔씩 단일 신호기를 설치해서 임의의 생산 지역을 강화하면 훨씬 더 큰 이점이 있지만 두 개의 신호기가 기계와 겹쳐서 과부하가 걸리지 않도록 주의해야 합니다. 문제는 신호기 배치의 유연성이 그리 크지 않다는 것인데, 일반적으로 신호기가 겹치지 않도록 그리드에 건설하기 때문에 기본 게임보다 훨씬 더 재미있지는 않습니다. 그래도 적어도 보기에는 더 좋아 보입니다.
신호기 과부하 레이아웃
우주 탐험 모드의 광역 신호기를 사용하면 단일 구조물을 중심으로 전체 공장을 디자인하게 되므로 상황이 더 다양해집니다. 하지만 여러 신호기가 있는 기계가 겹치지 않도록 해야 하므로 타일링하기가 다소 불편해집니다. 전체 빌드의 크기는 신호기의 범위에 따라 결정되므로 거의 항상 하나의 신호기 또는 모듈 방식으로 한 줄의 신호기를 중심으로 구조화됩니다.
우주 탐사 모드의 스피드 러너인 Oblivion의 광역 신호기 레이아웃 예시
이는 단일 광역 신호기의 범위 내에서 주요 제품을 직접 제작하는 데 중점을 둡니다.
신호기 영역 내에서 빌드하는 방식에 많은 유연성이 있으므로 조립기계와 조립기계 사이에서 직접 투입하는 설계에 유용할 수 있습니다. 큰 그림으로 보면 신호기 공간 내에서 설계하는 데 모든 디자인 자유를 부여하지만 신호기 자체의 배치 옵션은 꽤 지루해지며 또 다른 그리드에 불과합니다.
우주 탐험에서 매우 일반적인 광역 신호기 설정입니다.
이 설계에서는 3개의 광역 신호기를 일렬로 배치하고 신호기가 격자를 이뤄 수직으로 쌓도록 설계했습니다 .
내장 신호기 모드의 숨겨진 신호기
"게임에 신호기가 존재하지 않는다면 어떨까?"를 시뮬레이션하고 대신 기계의 제작 속도를 높인 실험입니다.
신호기가 내장되어 바닐라 같아 보이지만 더 빠른 레이아웃
그 결과 공장은 더 많은 벨트를 연결하는 것 외에 레이아웃 변경을 통해 생산 속도를 개선할 필요가 없게 되는데, 이는 부정적인 측면과 긍정적인 측면 모두에서 볼 수 있습니다.
한편으로는 이전 단계와 마찬가지로 모든 가능성을 여전히 가지고 있으며 벨트를 더 많이 통과시키는 것은 훌륭하지만 동시에 새로운 것을 하나도 도입하지 않았네요.
신호기가 내장된 직접 투입 설계 레이아웃
한 가지 새로운 점은 제작 속도를 잃지 않고 기계 사이에서 아이템을 직접 전달시킬 수 있게 되었다는 점입니다. 예를 들어 원재료로 다용도 과학 팩을 제작하는 설계를 만들 수 있으며, 다양한 방법으로 제작할 수 있습니다. 설계할 때 종종 비율 계산기를 과도하게 사용해야 하는 등 상당히 복잡해지지만, 저는 멋지다고 생각했습니다. 하지만 다른 많은 분들이 즐길 수 있을지는 모르겠네요.
모드 제한 - Earendel
저희 둘 다 모드가 기본 게임에 적합한 솔루션이 될 것이라고는 상상하지 못했습니다. 단점을 알고 있었지만 1.1에서는 모드가 신호기로 할 수 있는 일이 매우 제한적이었습니다.
다른 모드에서도 다양한 신호기 메커니즘을 실험했지만, 기본적인 값 변경보다 더 흥미로운 것은 많은 불쾌한 해결 방법과 런타임 스크립팅이 필요합니다. 몇 가지 창의적인 접근 방식이 있지만 기본 바닐라 게임에는 적합하지 않은 메커니즘도 있습니다.
우주 탐험 모드에서도 신호기 과부하는 제가 원했던 완벽한 솔루션이 아니었습니다. 제가 가진 옵션과 약간의 가벼운 스크립팅으로 찾을 수 있는 최선의 솔루션이었습니다. 많은 옵션을 검토했지만 엔진의 한계로 인해 대부분 불가능하거나 비실용적이라고 판단하고 결국 신호기 과부하를 선택하게 되었습니다.
게임 엔진만 변경할 수 있다면 이러한 한계는 문제가 되지 않지만, 모든 아이디어에 대해 게임 엔진을 변경할 수 없다면 모든 것이 느려질 것입니다. 좋은 아이디어가 있으면 빠르게 모드로 프로토타이핑하여 테스트하는 것이 이상적입니다. 상호작용이 가능한 데모를 사용하면 다른 사람들도 아이디어를 쉽게 평가할 수 있습니다. 이 경우 문제는 '솔루션'이 게임 엔진이 할 수 있는 범위를 너무 벗어나서 모드를 만드는 것이 실용적이지 않다는 것입니다. 대신 모든 아이디어를 자세히 검토하고 가장 좋은 아이디어를 찾아 프로토타입 버전을 만들기 전에 올바른 아이디어인지 확인해야 합니다.
솔루션 - V453000
저희의 개선책은 점차 수익률 감소라는 아이디어였습니다. 기계 주변에 신호기를 많이 배치할수록 각각의 신호기가 미치는 영향은 줄어듭니다.
하지만 반론과 의구심도 만만치 않았습니다:
- 이것이 정말 더 나은 방법이라고 확신할 수 있을까요? 방식만 달라질 뿐 결함은 똑같지 않을까요?
- 적어도 우리는 현재 시스템의 결함을 알고 있지만 그닥 나쁘지는 않습니다.
- 선형적이지 않으면 결과 효과를 머릿속에서 계산하기가 더 어렵지 않을까요?
- 확실하지 않은 것을 구현할 시간이 없습니다.
1.0까지는 부정적인 측면이 긍정적인 측면보다 더 큰 것처럼 보였지만, 그 꿈은 항상 우리 마음 한구석에 있었습니다(주로 저와 Earendel). 사실, 우리는 Boskid가 신호기 효과 코드의 일부분을 리팩토링할 때 나중에 필요할 경우를 대비해 이런 기능을 허용하는 방식으로 재설계할 정도로 이 기능에 대한 열망이 높았죠...
그리고 그렇게 되기를 바랐습니다! Earendel은 다음과 같은 제안서를 꺼내들었습니다.
- 전송되는 효과는 신호기 수의 제곱근에 비례.
- 기본 전송 효과를 50%(0.5)에서 좀 더 버프.
- 효과 전달을 위한 품질 시스템 스케일링 추가.
테스트를 거쳐 값을 확정했습니다.
숫자 뒤에 숨겨진 이야기
Earendel의 원래 아이디어에는 제곱근 계산이 포함되어 있었지만, 저희는 신호기의 효율을 0.5에서 1.0으로 버프하는 것이 좋다고 생각했습니다.
또한 신호기의 개수가 많을 때 신호기의 과부하를 줄임으로써 신호기의 품질을 향상시키면서 확장할 수 있습니다.
이전 FFF에서 신호기는 품질이 높을수록 에너지 소비량만 감소한다고 밝혔는데, 그 이유는 품질 시스템이 이미 충분히 과하다고 생각했고 더 이상으로 강력하게 만들고 싶지 않았기 때문입니다. 하지만 그 이후로 아이템 스택과 함께 벨트를 4배로 강화했기 때문에 지금은 훨씬 더 매력적으로 느껴집니다.
게임을 해보니 2배 버프만으로는 부족하고 적은 신호기 수의 단계에서는 여전히 약하게 느껴지는 반면, 많을 때는 과하게 너프된다는 결론에 빠르게 도달했습니다. 다시 두 배로 늘려야겠다고 생각하고 4배 버프를 선택했는데, 나중에 Earendel과 이 문제에 대해 이야기했을 때 그가 신호기 과부하를 위해 선택한 값도 그 정도라고 언급했고, 독립적으로 같은 값에 도달하면 아마도 이게 괜찮은 방식일거라는 재확인도 받을 수 있어서 기뻤습니다.
변경 사항을 마무리하고 최종 보스(kovarex)에게 발표할 준비를 할 때 표와 그래프를 만들었습니다.
16개의 신호기의 제곱근이 4라는 사실을 깨닫지 못해서 신호기를 4배로 강화하면 신호기가 16개 미만인 모든 설계가 강화된다는 뜻이 되니 어리석게 느껴졌죠. 이것은 분명히 너무 많은 것 같아서 3배로 결정하여 1.5의 전송 효율을 얻었습니다.
4배 또는 3배로 버프하면 품질 스케일을 약간 낮춰야 했습니다. 신호기의 경우 전송 강도가 대부분의 다른 것들처럼 1 ~ 2.5가 아닌 1.5 ~ 2.5로 스케일링되었지만 여전히 훌륭합니다. 결국 전력 소모량도 여전히 줄었습니다.
그 가치가 얼마나 아름다운지 보고 눈물이 날 뻔했습니다.
기존 공장에서는 의외로 변화가 미미합니다. 8개의 신호기의 영향을 받는 조립기계는 실제로 6% 더 빠르게 작동하는 반면, 12개 신호기가 있는 조립기계는 기존에 비해 13%만큼 느려집니다.
기본 바닐라 게임은 거의 그대로 유지하면서 항상 원하던 버프를 얻을 수 있고, 품질은 더욱 향상될 수 있다는 점에서 놀랍습니다.
결과
신호기를 사용하면 몇 개만 배치해도 실제로 영향력을 발휘할 수 있습니다. 우주 시대 DLC에는 일반적으로 많은 로켓을 발사하기 위해 생산량을 늘리고 싶으므로 특히 중요해집니다.
생산성 모듈은 기계 속도를 감소시키므로, 기존 시스템에서는 처음 두 개의 신호기로 기계의 제작 속도를 100% 이상으로만 되돌릴 수 있습니다. 이 시점에서 생산성 향상 덕분에 업그레이드했다는 것을 의식적으로 알 수 있지만, 체감 속도는 거의 동일하기 때문에 그다지 흥미롭게 느껴지지 않습니다.
이제 하나의 신호기가 3배의 효과를 내기 때문에 생산성 저하의 부정적인 영향을 극복하기에 충분하며, 훨씬 더 나은 느낌을 줍니다.
이제 신호기 몇 개만으로 생산성 +24%, 속도 +50%의 기본 전자 회로 공장을 설계할 수 있습니다.
어떤 상황에서는 신호기를 건설할 여력이 없을 뿐만 아니라 건물 공간이 제한되어 있기 때문에 우주 플랫폼과 같은 장소에는 효과가 높은 신호기가 자연스럽게 적합합니다.
우주 플랫폼에서의 신호기
완전히 새로운 사실로, 녹색 모듈이 있는 신호기는 실제로 기계의 에너지를 크게 줄일 수 있습니다. 특히 신호기 효과 전송 효율이 증가하고 효율 모듈이 더 강력해지며 신호기의 품질이 높을수록 전력 소모량이 감소하므로 그 가치가 더욱 커집니다. 위 스크린샷의 모든 기계는 에너지 소비량이 -80%입니다.
우주 플랫폼은 제작 속도, 전력 효율성, 생산성 사이에서 균형을 맞출 수 있으며, 제한된 공간에서 이 모든 것이 실제로 중요하기 때문에 흥미로운 선택이 될 수 있습니다.
주조소와 같은 대형 구조물은 일반적으로 작은 구조물에 비해 강력하고 제작 속도가 빠르기 때문에 공간 효율이 좋습니다. 크기가 크기 때문에 더 많은 신호기(5x5 타일 주조소의 경우 16개)로 도달할 수 있으며, 이로 인해 이미 미친 듯이 빠른 제작 속도가 조금 더 증가합니다. 수익률 감소는 이러한 차이를 더 합리적으로 만듭니다.
걱정하지 마세요. 주조소는 여전히 미친 성능을 지닙니다. 특히 게임 후반에는 각종 품질 보너스가 주어지니까요.
신호기 몇 개를 나란히 배치하면 UPS에 최적화된 빌드에 새로운 가능성이 열릴 수 있습니다.
저는 이것이 UPS 효율적인 빌드라고 감히 주장할 수는 없지만, 여러분이 이 아이디어를 가지고 어떤 디자인을 만들어낼지 기대가 됩니다.
품질이 좋으면 얻을 수 있는 최고 품질의 신호기에 장착하여 몇 개 없는 값비싼 모듈을 더 잘 활용할 수 있습니다.
품질에 따라 고려해야 할 또 다른 사항은, 예를 들어 전설 속도 모듈은 많지 않지만 생산성 모듈은 풍부하거나 그 반대의 경우, 그 상황에서 어떤 종류의 설계가 더 저렴한지에 큰 영향을 미칠 수 있으며 장기적으로 어느 행성을 먼저 방문할지 전략에도 영향을 미칠 수 있다는 점입니다.
결론
저는 약 7년 동안 신호기를 켜고 끄는 것에 대해 끊임없이 이야기하면서 kovarex를 포함한 모든 주변 사람들을 괴롭혀 왔습니다. 이 얘기를 꺼내면 "너 또 신호기 얘기야?"라는 반응이 나올 지경에 이르렀고, 솔직히 그 사람들을 탓할 수도 없었어요.
지난 몇 달 동안 확장팩 기능이 완성되어가는 것처럼 보였기 때문에 이 기능을 구현할 수 있다는 희망을 이미 포기했습니다...
그러던 어느 날 Earendel과 대화를 나누던 중 마지막으로 하고 싶은 기능이 무엇인지 물어보았습니다. Earendel은 매우 흥분된 목소리로 놀랍도록 자신감 넘치는 목소리로 "신호기!"이라는 단 한 마디로 대답했습니다.
제가 놓치고 있던 정보는 그가 이미 이전에 boskid와 함께 몇 가지 조사를 했고 코드가 기본적으로 준비되어 있다는 것이었습니다.
저는 가장 긍정적인 방식으로 충격을 받았습니다.
작동하는 버전을 만드는 데 며칠밖에 걸리지 않았고 올바른 값을 찾는 데도 몇 주밖에 걸리지 않아 변경 범위를 고려할 때 대단한 일이었습니다. 결과값이 상상했던 것보다 훨씬 좋아서 변경이 정말 매력적이었고, 결국 kovarex를 설득하는 것도 어렵지 않았습니다.
2.0에서도 신호기 수를 최대화하여 빠르게 제작하고 컴퓨터 성능을 절약하는 것이 일반적으로 여전히 좋은 방법이 될 것입니다. 하지만 이제 창의력을 발휘할 수 있는 여지가 훨씬 더 많아지고 투자비용 대비 가성비가 더 중요해집니다.
일반적으로 이것은 신호기에 대한 버프로 간주할 수 있으며, 특히 게임의 초기 단계에서 더 빨리 진행하는 데 도움이 되어 우주 시대 DLC가 덜 지루하고 더 흥미로워집니다.
boskid의 구현을 더욱 흥미롭게 만드는 세부 사항은 이 동작이 Lua에서 매우 간단한 "프로필" 테이블로 정의된다는 점입니다.
즉, 모드에서는 신호기를 1.1.x에서처럼 작동하도록 되돌리거나, 신호기 과부하를 간단하게 구현하거나, 신호기를 중첩할 수 있게 만들거나, 신호기 수에 따라 신호기 효과를 증가시키거나, 그 외 생각할 수 있는 거의 모든 것을 할 수 있습니다.
Earendel이 제 곁에 있어서 정말 행복합니다. 이 블로그 게시물을 작성하는 우리 둘도 알 수 있듯이, 우리는 함께 많은 꿈을 현실로 만들 수 있었습니다. 우리가 원하는 것을 준비하기 위해 코드를 정리할 때 우리의 말에 귀를 기울이고 배려해준 boskid에게도 큰 감사를 표하고 싶습니다.
수년 동안 많은 분들이 요구해 온 변화를 마침내 실현할 수 있는 방법을 찾게 되어 매우 자랑스럽습니다.
모든 일에는 때와 장소가 있다는 말을 들었습니다.
여러분도 저희만큼이나 이 변화가 가져올 영향에 대해 기대가 크신지 알려주세요.
2.0 기준 일반 비콘 8개까지, 레전더리는 16개까지 중첩시키면 기존 대비 버프네 나쁘지 않은듯
공간효율까지 고려하면 그 이상이지
제곱근은 솔직히 맘에 안들었는데 16비콘 빌드는 4배 딱코가 되긴하네
대 란 델 근데 결국 바닐라 8비콘빌드가 제일 효율적이긴 하네 한두개 박을때 정도만 3배 버프 체감 될듯 - dc App
이제 슬슬 dlc좀내놓을때가 된거같음 빨리나왔으면
그러니까 결론이 신호기 4개 설치하면 4개치 효과가 다 들어가는게 아니라 1개일때랑 비교해서 2배 정도의 효과있다는 말이지? 9개면 3배고 제곱근이니까 그리고 지금 50%만 효과 주는거에서 좀 더 버프해주고 맞음?
ㅇㅇ 근데 지금 50퍼 주는거의 3배를 기본으로 줌
오 그렇네 ㄳㄳ FFF 번역도 잘보고있음
바닐라 방식은 주객전도 느낌이 강해서 별로임 배치가 좀 강제하지만 우탐모 방식이 더 좋은 거 같음
오 난 신호기에 기계 두르는 타입이였는데 굉장한 희소식
신호기 도배가 멋지지않아서 고민하고있었던차에 가려웠던 속을 긁어준 느낌의 fff ㅋㅋㅋㅋㅋ 그래서 업뎃 언제하냐고 ㅅㅂ
이번에는 그냥 공돌이들이 자기들 불편한 거 해소한 느낌이네
마지막 공장 좀 쌀거 같은데 진쟈 언제 업뎃함
중간에 "이전 FFF에서 신호기는 품질이 높을수록 에너지 소비량만 감소한다고 밝혔는데..." 라고 하는데 그 후 품질에 따라 성능이 달라지는 쪽으로 선회했다는 말인가?
표에 보면 전설 비콘이 일반 비콘 보다 1.66 배 더 좋네
4배 또는 3배로 버프하면 품질 스케일을 약간 낮춰야 했습니다. 신호기의 경우 전송 강도가 대부분의 다른 것들처럼 1 ~ 2.5가 아닌 1.5 ~ 2.5로 스케일링되었지만 여전히 훌륭합니다. 이부분인데 기본이 1.5 즉 150%고 전설이 2.5 250%라는뜻
에란델한테 마지막으로 하고싶은게 뭐냐고 물어봤으니 기대해봐도 되나?
이거 본 이후로 팩토리오 해도 감흥이 없음 빨리 dlc 나와라 진짜