확장팩 FFF 모음 정리 링크


아오 서머타임시치

한시간 기다렸네




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



FFF #383 - 초강력 건설

게시자 Klonan, Kovarex

2023-11-03



안녕하세요. 환영합니다 앉으세요...



지난번 업데이트


이전 FFF에서 선보였던 타일 건설 애니메이션이 이제 게임에 통합되었으며, 그 모습은 다음과 같습니다:





물론 엔진에 들어갔다고 해서 완전히 완성된 것은 아닙니다. 아직 개발 중이고 개선하고 싶은 부분이 많지만 매주 조금씩 발전하는 모습을 보여주는 것도 재미의 일부겠죠.





초강력 건설 - Kovarex


최근 FFF-380에서는 고스트 타일 위에 고스트 엔티티를 구축할 수 있으므로 매립지 또는 우주 플랫폼 타일이 완성될 때까지 기다렸다가 그 위에 구축할 필요가 없다고 이야기했습니다.


하지만 이것은 분명히 우리 모두가 그토록 바랬던 주요 기능인 초강력 건설을 위한 준비 과정이었을 뿐입니다.





CTRL + SHIFT + 클릭 = 초강력 건설



처음에는 일반적인 방법으로만 블루프린트를 찍었는데, 방해물이 있으면 블루프린트가 찍히지 않았습니다.

얼마 지나지 않아 방해가 되는 모든 나무, 바위, 절벽을 자동으로 제거할 수 있는 방법이 필요하다는 것을 깨달았고, 이를 위해 강제 건설 모드(기본값은 Shift + 클릭)를 추가했습니다.


그 이후로 여기저기서 여전히 부족하다고 느끼는 일이 자주 발생했습니다. 우주 플랫폼 구축은 더 이상 이를 무시할 수 없어 실행에 옮길 수밖에 없었던 마지막 과제였습니다. 매립의 경우 물이 어디에나 있는 것이 아니기 때문에 가끔 문제가 되지만, 우주 플랫폼 구축의 경우 항상 문제가 됩니다.





초강력 건설 모드가 이미 있었기 때문에 다른 속성도 포함시키는 것은 당연한 일이었습니다.

초강력 건설의 방식은 태양계에 레일을 건설하는 것처럼 어떤 일이 있어도 전체 청사진을 강제로 건설하고 싶다는 것이기 때문에 이렇게 작동하도록 만들었습니다.





초강력 건물은 건설을 방해하는 모든 것을 해체합니다.





수동 초강력 건설


지금까지는 블루프린트에 대해서만 이야기했지만, 초강력 건설이 머슬 메모리에 자리 잡자 엔티티를 수동으로 건설할 때 이 기능을 사용하기 시작했습니다. 시프트 클릭을 사용하여 고스트를 수동으로 건설하고 방해가 되는 나무를 자동으로 제거하는 것과 비슷합니다.


그래서 초강력 건설을 특수한 블루프린트 건물 전용이 아닌 직접 단축키로 추가했습니다.







벨트 상호 작용


이 작업에 익숙해지자 문제가 나타나기 시작했습니다. 벨트를 초강력 건설로 제거한 다음 바로 수작업으로 벨트를 수정해야 했습니다.





꾸준히 FFF를 보시는 분이라면 수동이라는 단어가 항상 변화를 의미한다는 것을 알고 계실 것입니다.




벨트 위에 건물을 초강력 건설하면 자동으로 지하에 배치됩니다.





매립지 채굴 - Klonan


매립은 항상 약간 까다로웠습니다. 건설한 모든 것을 다시 지을 수 있고, 실수해도 판단 없이 지울 수 있다는 점에서 기본 건물의 근본적인 대칭을 깨뜨리기 때문입니다. 하지만 매립에서는 클릭 한 번만 잘못해도 영원히 그 자리에 남습니다.


매립을 채굴하도록 하는 것은 오랫동안 저희의 위시리스트에 있었지만, 타일 구축과 채굴에 관한 코드와 로직이 효과적으로 설정되어 있지 않았습니다. 한 가지 큰 문제는 타일을 배치하거나 제거할 때 타일과 충돌하는 모든 것을 즉각적으로 파괴하거나 죽일 수 있다는 점입니다. 또한 채굴 매립은 특정 사례이지만, 다양한 충돌 마스크를 가진 타일 배치 및 채굴의 모든 조합(예: 워터필 모드)에 대해 시스템을 일반화하려면 많은 시스템(건물, 채굴, 청사진, 업그레이드, 해체)을 건드려야 합니다.


초강력 건설을 진행할 때 '되돌릴 수 없는' 문제는 더욱 위험하고 실수로 클릭할 가능성이 높았기 때문에 매립지 채굴이 가능하도록 만들어야겠다고 생각했습니다.


Roman은 노력과 헌신을 통해 모든 타일 구축 및 채굴 코드를 정리하고, 엔티티와 타일 간의 모든 충돌 사례를 처리하고, 정말 멋지고 직관적인 방식으로 작동하도록 만들 수 있었습니다. 1.1.50 릴리스(2021년 12월)에서 타일 프로토타입'check_collision_with_entities' 프로퍼티를 추가한 것에서도 그 기반을 다졌다는 증거를 확인할 수 있습니다.






플레이어 아래에 있는 매립지가 해체 표시가 되어 있지 않은 것을 확인할 수 있습니다. 일반적으로 매립지는 위에 무언가가 있으면 채굴할 수 없지만, 일반적으로 위에 있는 개체(기계, 용광로, 벨트 등)도 어차피 해체 표시가 되어 있으므로 제거한 후 매립지를 채굴할 수 있습니다.


그리고 새로운 초강력 건설을 통해 매립지와의 상호 작용이 반대 방향으로 작동하도록 하는 것은 당연한 일입니다.






이 두 가지를 함께 사용하면 증기기관이나 원자로 건설을 훨씬 더 깔끔하고 걱정 없이 할 수 있습니다.


언제나 그렇듯이, 평소와 다름없는 장소에서 여러분의 생각을 저희에게 전달해 주세요.