확장팩 FFF 모음 정리 링크




https://www.factorio.com/blog/post/fff-388




FFF #388 - 2.0을 위한 작은 것들

게시자 kovarex, raiguard, Klonan

2023-12-08




안녕하세요,

최근에 더 큰 것들을 보여드렸으니 이제 작은 것들도 보여드릴 차례입니다. 작은 것들이 제대로 작동하지 않으면 큰 것들이 그렇게 빛나지 않을 것이기 때문입니다!



수십억 년 동안 축적된 팩토리오의 가치 - raiguard


저희는 항상 지나간 틱 수를 추적하는 데 일반 32비트 부호 없는 정수로 충분하다고 생각했습니다. 초당 60개의 틱이 발생하므로 한 번의 게임 저장으로 2.2년 동안 계속 플레이할 수 있습니다. 하지만 팩토리오는 자동화에 관한 게임이기 때문에 누군가가 백그라운드에서 공장을 가동하고 결국 틱 카운터를 넘치게 하는 것은 불가피한 일이었습니다.

이건 고쳐야 합니다!


1.1 버전에서는 이미 틱 타입의 사용법을 클래스로 캡슐화하도록 통일했고, 기본 타입의 변경에 대한 대비를 어느 정도 마쳤습니다. 따라서 64비트 부호 없는 정수로의 전환이 생각보다 어렵지 않았고, 저장 파일 시간의 새로운 이론적 한계는 97억 년입니다.


이 변경은 게임 엔진 측면에서는 비교적 간단했지만, 모딩 API에는 몇 가지 문제가 발생했습니다. 팩토리오는 배정밀도 부동 소수점 숫자(더블)로 구현된 단일 숫자 유형이 있는 Lua 5.2를 사용합니다. 부동 소수점 숫자의 값이 커질수록 유형이 포함할 수 있는 세부 수준이 감소합니다. 더블이 완전한 정확도로 표현할 수 있는 최대 정수 값은 2^52 또는 237만 년의 틱 값입니다.


최신 버전의 Lua에는 완전한 정밀도를 허용하는 전용 정수 유형이 포함되어 있지만, 내부적으로 언어에 대한 수많은 수정 및 버그 수정이 이루어졌기 때문에 팩토리오의 Lua 버전을 업그레이드하는 것은 불가능합니다. 즉, Lua 스크립트는 2^52까지의 정확한 틱 값만 지정할 수 있으며, math.huge을 사용하여 "가능한 최대 틱"을 지정할 수 있습니다.


뭐, 200만 년이 지나서 버그 보고서가 올라올 때 쯤이면 저희는 이미 없겠죠?



(역주 : 뭔소린지 이해가 잘 안가서 대충 번역함. 오역 있을 수 있음)




시체 복구와 관련된 물류 요청 활성화 조정


사망 후 부활하면 시체를 찾기 전에 물건을 다시 공급받지 않도록 개인 요청이 비활성화되는 기능이 있습니다. 하지만 성가신 문제는 시체를 복구한 후 요청을 다시 활성화하는 것을 잊어버려서 무슨 일이 일어나고 있는지, 왜 물건이 공급되지 않는지 알아내야 한다는 것이었는데, 저희도 여러 번 겪었습니다.


성가신 모든 것을 자동화해야 했기 때문에 당연히 수정해야 했습니다. 이제 시체를 줍고나면 죽기 전의 설정이 복원됩니다(그 사이에 변경하지 않은 경우).




스마트 숫자 형식


"여기에 7.5개의 스택이 필요해"와 같이 상수값을 설정하고 싶을 때가 많은데, 수동으로 계산하는 것은 당연히 허용되지 않았습니다. 그래서 저희는 텍스트 필드에 수학식을 직접 입력할 수 있도록 만들었습니다.




무한 기술 비용을 정의하기 위해 수학 수식을 구문 분석하는 코드가 이미 있기 때문에 기본적으로 한 줄만 변경하면 되었습니다. 몇 가지 상수(1,000의 경우 k, 1,000,000의 경우 M 등)를 정의하고 플레이어가 확인하면 텍스트를 파싱하기만 하면 되었습니다. 즉, 다양한 종류의 작업을 수행할 수 있습니다:


- 10k

- 10*50k

- 10+50

- 10^6

등등




최대 범위 표시기


지하 벨트와 지하 파이프를 최적의 위치에 짓고 있는지 스스로 확인하기 위해 최대 거리를 지나쳐야 하는 것이 지금까지의 전형적인 건설 조작법이었습니다. 4까지 세는 것은 쉽지만, 더 높은 단계의 벨트는 더 복잡한 숫자(6, 8)를 가져오기 때문에 얼마나 멀리 도달하는지에 대한 부분이 시각적으로 직관적이지 않습니다.


이 솔루션은 너무 간단하고 훌륭해서 이 솔루션 없이 어떻게 살았을까 싶을 정도입니다. 지하 연결이 최대 거리에 도달하면 안심할 수 있는 녹색으로 변해 완벽한 거리에 도달했음을 즉시 알려줍니다.




이전: 최대치를 한칸 지났다가 다시 돌아와야합니다.




이후: 지하 연결의 최대거리에 도달하면 색상이 변경됩니다.






맵 태그 개선 사항


사용자 지정 맵 태그의 기능을 개선하는 데 시간을 들였습니다. 이제 피펫 키 바인딩을 사용하여 빠르게 드래그하고, 복사하고, 확대한 상태에서도 내려놓을 수 있어 완벽한 정렬이 가능해졌습니다.








세이브 정렬


이제 게임 불러오기/저장 창에 '마지막으로 수정한 시간'이 표시되고, 알파벳순과 최근순 정렬을 전환할 수 있는 버튼이 추가되었습니다.








램프 색상 수동 조정


공장의 분위기를 설정하거나 색상을 설정하기 위해 조합기를 설정하는 복잡한 과정을 거치지 않고도 사용자 지정 색상을 사용할 수 있어 좋습니다.





물론 현재의 회로망으로는 불가능한 다양한 색상을 구현할 수 있으므로 사람들이 이를 어떻게 활용할지 지켜보겠습니다 :)





지도에서 로봇의 색상


때때로 형편없는 개인용 건설 로봇이 방치되어 잊혀지는 일이 발생할 수 있습니다. 배터리가 금방 떨어지고 저전력 슬로우 모드로는 다시는 돌아올 수 없는 경우가 많기 때문이죠. 참 슬픈 운명이네요.


그래서 로봇 지도 시각화에 더 많은 색상을 추가했으며, 녹색은 여러분의 개인 로봇입니다. 이렇게 하면 잃어버린 영혼을 비교적 쉽게 찾을 수 있습니다. 그 외에도 물류 로봇이 배달하는 상황, 스파이더트론/다른 플레이어의 건설 로봇 등 다른 상황에 맞는 다른 색상도 있습니다.




어떤 색이 무슨 로봇을 의미하는지 맞춰보세요!







더 스마트한 해체 계획 + 강제 건설


절벽 폭발물은 게임 시작부터 잠금 해제되지 않으며, 확장팩에서는 더욱 나중에 열립니다. 절벽 위에 강제 건설(역주: 쉬프트 누르면서 건설)할 때 절벽이 무의미하게 해체 대상으로 표시되는 것을 방지하기 위해, 절벽 폭발물을 연구한 후에만 절벽이 해체 대상으로 표시되도록 변경했습니다.


절벽폭발물을 잠금 해제하지 않은 경우 절벽은 해체 시 무시됩니다.


이는 초강력 건설에도 적용되며, 매립 연구 이전에는 매립을 시도하지 않습니다.





언제나 그렇듯이 평소 자주 이용하는 장소에서 여러분의 의견을 알려주세요.