https://www.factorio.com/blog/post/fff-378
FFF #378 - 다른 차원의 열차
게시자 V453000
2023-09-29에 게시됨
안녕하세요!
지난주에 소개한 철도의 코드 리팩터링은 훌륭하지만, 이러한 작업을 하게 된 동기는 단순히 철도의 모양만 바꾸는 것이 아닙니다.
지난 주에 설명했듯이 이제 모든 종류의 철도 모양을 정의할 수 있으며, 우리는 처음부터 매우 구체적인 모양을 염두에 두고 있었습니다...
위 또는 아래?
열차를 위한 여러 층을 가진 교차로가 필요하지만 어떻게 해야 할까요?
교량? 아니면 터널?
처음에는 지하로 들어가는 것이 더 안전한 방법처럼 보일 수 있습니다. 우리는 이미 벨트와 파이프를 지하로 넣었던 경험이 있죠. 입구와 출구를 설치하고 중간을 마술처럼 연결하면 끝일까요?
- 두 번째 철도 레이어는 곡선과 철도 신호도 사용할 수 있어야 하며, 그렇지 않으면 상당히 사용처가 제한적입니다.
- 기차의 경우 연료가 떨어지거나 신호등에서 멈출 수 있기 때문에 지하터널 안의 아이템과 상호작용하고 싶을 때가 있습니다.
- 터널 내부에 커브, 신호, 기차와의 상호작용을 구축하려면 내부로 걸어 들어갈 수 있어야 합니다.
- 우리가 터널을 걸을 수 있다면, 바이터와 로봇도 터널을 통과할 수 있어야 합니다.
- 터널에 커브가 있을 수 있다면 외부에서 봤을 때 어느 터널 입구가 어느 출구로 연결되는지 어떻게 알 수 있을까요?
- 물 위에 있는 터널은 느낌이 이상하죠.
- 터널을 그리는 것은 현재 팩토리오가 지원하지 않는 마스킹 작업을 수행해야 하기 때문에 의외로 어려웠습니다.
- 등등등...
높은 층에 철도를 설치하는 것은 확실히 쉽지 않겠지만, 고가 철도라는 아이디어는 터널보다 훨씬 더 많은 잠재력을 가지고 있는 것처럼 보입니다.
또한 기차를 지하실 어딘가에 숨겨두는 대신 대담하게 모든 기차를 온전히 보여주고 싶을 것입니다!
이러한 아이디어는 다음과 같이 구성됩니다:
- 철도 경사로 - 하부 레이어와 상부 레이어 사이의 전환을 담당합니다.
- 고가 철도 - 대부분의 사물 위에 트랙을 건설할 수 있습니다.
- 철도 지지대 - 고가 철도에는 일정 간격으로 지지대가 필요합니다.
고가 철도 시스템 조각. 최종 그래픽을 제작하기 전에 새로운 철도 모양과 경사로의 게임플레이를 테스트하기 위한 '그레이박스' 그래픽이었습니다.
고가 철도
이미 이 글을 읽지 않고 아래로 스크롤하여 경사로를 보셨겠지만 여기에 단락을 넣지 않는 것이 이상하게 느껴져서 넣었어요.
Albert와 Earendel과 함께 시각적 디자인을 구상할 때 저희는 경사로가 무겁고 산업적인 느낌을 주되, 동시에 완벽하게 안정적이고 딱딱하지는 않기를 바랐습니다. 여러 번의 반복 끝에 견고한 콘크리트 바닥과 상부 금속 구조물을 결합한 이 조합에 도달했습니다.
콘크리트 바닥은 경사로가 지면에 닿는 부분을 명확하게 보여주는 데 도움이 되는 반면, 금속 부분에는 구멍이 많아서 경사로 뒤에 배치된 엔티티를 대부분 볼 수 있습니다. 금속은 빨간색으로 칠해져 있는데, 팩토리오의 다른 빨간색 엔티티는 대부분 기차와 관련이 있기 때문에 고가 철도가 기차 제품군에 속하고 높이가 높기 때문에 공장에서 눈에 띄는 데 도움이 됩니다.
철도 경사로의 길이는 16타일, 너비는 4타일로 게임에서 가장 긴 새로운 개체이므로 배치할 위치와 시기를 고려해야 합니다. 네 방향으로만 회전할 수 있습니다.
철도 지지대는 경사로의 스타일을 따르지만 8방향으로 회전할 수 있다는 차이점이 있습니다.
대략 4x4 크기의 충돌 박스가 있으며, 회전된 박스는 모두 같은 십자가 모양을 갖습니다.
고가 철도는 경사로와 다른 경사로 사이에 건설할 수 있으며, 철도 지지대로 고정할 수 있습니다.
고가 철도는 높이가 높은 물체(로켓 사일로, 로보포트, 대형 전신주 등)를 제외한 모든 물체 위에 건설할 수 있습니다.
새로운 지상 철도와 똑같은 철도 모양을 가지고 있으며, 고가 철도에도 신호기를 부착할 수 있습니다.
고가 철도와 지상 철도를 시각적으로 구분하는 데 도움이 되는 펜스가 있으며, 선로 건널목에서 펜스가 어떻게 사라지는지도 볼 수 있습니다.
실제로 T자 교차로 내부의 교차점을 경사로로 교체하는 것만으로도 통행에 많은 도움이 될 수 있습니다.
경사로가 길고 레이어가 "단지" 두 개뿐이기 때문에 완전한 다단계 교차로를 구축하는 것은 다소 어려울 수 있지만 처리량 증가 잠재력은 엄청납니다.
층의 분리만이 도움이 되는 것은 아니라는 점에 주목할 필요가 있습니다. 또한 체인 신호가 필요하지 않으므로 "교차로 뒤"에 열차를 위한 충분한 공간을 확보할 필요가 없으므로 일반 철도 신호 사이의 거리를 크게 단축할 수 있다는 사실도 중요합니다.
특히 기차 정류장에서 출구와 입구를 다른 층에 배치하는 것은 게임의 판도를 바꿀 수 있습니다.
경사로 또는 지지대가 물에 닿는 곳에서만 볼 수 있는 지형 아래에 그려지는 매우 특별한 패치가 있습니다.
호수를 통과하는 레일을 만들기로 결정한 경우, 섬은 거대한 교차로가 될 수 있겠죠.
철도 플래너를 사용하면 높은 곳에 무언가를 만들 수 있습니다. 키보드 단축키를 눌러 대상 레이어를 전환하거나 경사로, 철도 지지대 또는 고가 철도에서 철도 플래너를 시작할 수 있습니다.
그러던 어느 날, 코바렉스는 "왜 철도 플래너가 사용자가 가리키는 레일에 그냥 연결되지 않나요?"라고 물었습니다.
그리고 그날부터 철도 플래너는 지상과 고가 사이를 포함하여 사용자가 선택한 모든 철도에 "그냥 연결"됩니다.
이는 또한 철도 플래너의 방향이 더 많아지는 것과 관련된 문제를 크게 완화하는 데 도움이 됩니다.
철도 플래너는 종종 가능할 거라고 예상하지 못했던 연결을 찾아내어 매혹적인 플레이를 할 수 있습니다...
...그 결과, 생각보다 훨씬 빨리 이런 일이 발생할 수 있습니다.
결론
기차가 서로 다른 층에서 경로를 교차할 수 있도록 하는 기능은 오랫동안 가장 많은 요청을 받아온 기능 중 하나였습니다. 저희는 항상 이 기능이 합리적이라고 생각했지만, 팩토리오의 열차는 고가 철도를 추가해야 할 만큼 심각한 처리량 문제를 겪은 적이 거의 없었습니다.
하지만 확장팩은 이 환경을 상당히 변화시켰습니다. 플레이어가 기본 게임보다 일반적으로 더 큰 공장을 건설할 것으로 예상하면 기차 처리량이 문제가 될 수 있으며, 고향 행성을 떠나 이동해야 하므로 데드락 상태가 발생하지 않는 기차 시스템이 그 어느 때보다 중요해졌습니다.
이를 구현하는 데 많은 시간이 필요할 것이라는 것은 어렵지 않게 짐작할 수 있으며, 비공개로 확장팩 작업을 진행함으로써 더 큰 실험을 할 수 있는 여유를 가질 수 있었습니다.
boskid가 메카닉을, posila가 드로잉 코드를 작업하는 동안 프로그래밍에만 몇 달이 걸렸습니다. 그래픽 측면에서는 지상 철도 리워크에서 얻은 초기 블렌더 설정을 많이 재사용할 수 있었지만, 그 정도로는 충분하지 않았습니다. 경사로는 단순히 큰 오브젝트인 반면, 철도 지지대는 충돌 박스를 채워야 하기 때문에 광학 해킹의 집합체였습니다. 경사로와 지지대 모두 여러 번 재작업하여 마침내 모양과 기능이 제대로 작동하는 결과를 얻었습니다.
특히 고가 철도의 펜스 때문에 필요한 스프라이트 수가 매우 빠르게 증가했습니다. 그래서 블렌더 책에 있는 모든 트릭을 사용했고, 대량의 출력을 구성하고 렌더링하는 데 주로 도움이 되는 완전히 새로운 블렌더 파이썬 툴도 추가했습니다. 최종 반복 작업을 약 90%까지 수동으로 완료했지만 그 다음에는 너무 많아졌거든요.
Jerzy는 이미 철도 그래픽에 대한 경험이 있었기 때문에 마지막 디테일과 텍스처링을 마무리하는 데 도움을 요청했고, 그 후 철도신호와 잔해물을 다시 처리했습니다. 고가 철도의 블렌드 파일에 '그냥' 뛰어들기 위해 얼마나 많은 용기와 정신력이 필요했는지 아무리 강조해도 지나치지 않으며, 그 점에 대해 다시 한 번 감사하고 싶습니다.
위의 이미지에서 그가 훌륭하게 해냈다는 것을 알 수 있을 것입니다.)
콘셉트 아트는 Earendel, 3D 프로세스는 대부분 제가 담당했고, 마무리 작업은 Jerzy, 그리고 Albert와 함께 여러 번의 주요 반복 작업을 재평가하면서 그래픽을 제작하는 데 약 9개월이 걸렸습니다. 터널을 단순하게 만들 수도 있었지만, 고가 철도가 비교할 수 없을 정도로 더 나은 게임플레이를 제공한다고 믿습니다.
1.0 버전에 더 많은 것을 넣으려고 하기보다는 확장팩의 일부 기능에 집중한 것은 매우 좋은 결정이었다고 다시 한 번 자신 있게 말할 수 있습니다.
모든 고가 철도는 확장팩 실행 파일로만 이용할 수 있습니다. 우주나 행성에 가지 않고도 생산 과학 팩을 사용하여 기술을 연구할 수 있습니다. 고가 철도는 품질 시스템 및 우주 시대에 이어 독립형 공식 모드 중 하나가 될 것이므로, 예를 들어 고가 철도만 가지고 바닐라 같은 게임을 플레이하거나 다른 모드를 고가 철도에만 의존시킬 수 있습니다. (역주 : 모드 종속성 얘기)
언제나 그렇듯이 평소 자주 이용하는 장소에서 여러분의 의견을 알려주세요.
나 눈물나올 거 같아...ㅠㅠ 이게 진짜 기차지
롤러코스터 ㄷㄷ - dc App
ㅁㅊ ㅁㅊ ㅁㅊ ㅁㅊ
야짤 왜 안짤림? - dc App
완장도 보고 넋나감
미친;;;
와시발...눈물나네진짜
철도스파게티의 시대다
롤코타 드가자
와 진짜 미쳤다
진하 홀리몰리네 - dc App
와... 시발 이게되네 아니 ㅋㅋㅋ - dc App
와 시발
와 이게 진짜지 ㅋㅋㅋㅋㅋㅋㅋㅋ
도랏ㅋㅋㅋㅋㅋㅋㅋ
오랜만에 왔는데 떡상 각이냐?
이게 섹1스지 시----발-----!!!!!! 팩토설치간다
빽빽한 공장에 빽빽한 2층철도 그리드 만들어질거 생각하니까 행복하다 - dc App
나 발기함
I'm ready to pay
개꼴린다