뉴비인데 인터럽트란거 생겼대서 연습삼아 만들어봤음


구현하려한건 이러한데 일단은 잘 되는 것 같음


기차는 대기소에서 대기하다가, 아무 하차장의 자원 소요가 있을시, 자신이 실을 수 있는 자원(아이템/유체)이면 해당하는 자원의 상차장에 가서 자원을 실어옴.


하차장은 기차 1대를 꽉 채울 자원이 쌓여야만 on 되는 구조이고, 상차장 1개의 요청당 기차 1대만 출발함(즉 대기중인 기차 여러대가 상차장 하나의 요청에 동시에 출발하지 않음. 한대만 출발)


아이템 기차는 아이템 기차역으로만 가고, 유체 기차는 유체 기차역으로만 가며, 아이템기차와 유체기차는 같은 대기역을 이용함.


자원을 모두 하차했으면 대기소에 들르지 않고 바로 다음 자원 소요를 검색하고, 자원 소요가 없을시 하차역을 떠나 대기소에서 대기함.


운행 도중에 주유가 필요할 경우 대기소 들러서 주유함.


그리고 내가 복잡한 회로를 구성할 실력이 아니라 효율을 조금 포기하더라도 최대한 간략한 회로만으로 구현하려 했음...


나는 LTN을 한번도 안 써봐서 잘 모르겠지만 아마 비슷한 시스템이지 않을까 함?


갤 념글들 많이 참고해서 했는데 글 하단에 링크 박아둠 뭔가 이해 안되면 가서 참고하길 바람...




<전체 구조>




3개의 역을 썼음

상차, 하차, 대기역(겸 주유소)

상차, 하차 기차역 이름 앞의 0 또는 1은 아이템과 유체 구분용임. 아이템 기차가 유체 기차역에 가거나 유체 기차가 아이템 기차역에 가는걸 막기 위함. 여기선 0이 아이템 1이 유체임

기차는 대기역에서 대기/주유 하다가, 자원 소요 발생시 상차역에서 하차역으로 자원을 옮길 것임

<상차장>




정류장에서 레이더로 가는 회로(상차장 신호를 전역으로 보내는 신호)는 녹색이어야 하고 나머진 빨간색

상차장의 자원을 모두 읽고, 기차 1대 분량 이상 쌓이면 정류장이 열리는 구조임


이 사진에선 32,000인데 잘못한거임...8,000으로 해야함 (화물칸 4개 분량이니까) 


이 이상 자원이 쌓이면 A라는 신호를 정거장으로 보내서 정거장 켜는 구조


그리고 기차 수 제한은 1대로 (이 글의 다른 모든 정류장에도 동일)


2대 이상으로 하니까 도중에 서있다가 바이터한테 터지는 경우 많아서 걍 1로 했음....


또한 기차 수 읽기를 해당 상차장 자원으로 지정했음...후술할 오버부킹을 막기 위함




<하차장>




우측 조합기, 좌측 조합기, 레이더를 이어주는 회로는 빨간색이어야 하고

레이더에서 좌측 조합기로 꽂히는 회로는 녹색이어야 함

즉 하차장에서 전역으로 신호 보내는건 빨간색, 상차장에서 전역으로 신호 보내는건 녹색임

중간에 빨간신호 녹색신호 비교 조합기는 오버부킹 막으려는 회로임 하차장 요청이 기차가 가고있는 상차장보다 많아야 열차가 자원 실으러 출발하는 구조

그리고 그 밑의 20k짜리 조합기는 하차장 자원이 저 아래로 떨어져야 자원 요청 신호를 보낸단 거임 자기 하차장 창고 여건에 맞게 바꾸면 될듯

<대기역>



대기역 겸 주유소임

대기역도 마찬가지로 오버부킹 막는 회로가 설치되어있고 여기서 주유도 하므로 주유기가 있음

당연한 말이긴 한데 대기역에선 신호를 수신만 하니까 사진처럼 모든 기차역에 1개의 레이더로 이어주고 있지만, 각자 레이더를 달고 별도로 회로망을 연결해도 상관 없음. 레이더에서 신호를 받기만 하면 됨

하지만 신호를 보내는 쪽(하차역)은 역 1개마다 레이더를 따로 달아서 회로를 독립적으로 이어줘야 함

<기차 시간표, 인터럽트 등>




기차는 아이템, 유체 2개 그룹으로 나눠서 기차 추가할때면 원하는 그룹에 넣어주면 됨


연료는 지금 맵에는 핵연료인데 인터럽트에는 부패물로 되어있는 사소한 찐빠가 있음...본인이 쓰는 연료 넣으면 됨


그리고 상차 인터럽트 조건에 상차장, 하차장이 모두 가득차지 않음으로 해야 오버부킹이 잘 막아지더라


이러면 대기역에 자원 싣고 대기하는일이 거의 없어지는데 너무 심하다 싶으면 적절히 수정해서 쓰길 바람..상차 인럽트에서 하차장 꽉찼는지 조건을 삭제하면 자원싣고 대기하는 차량이 더 생기긴 할거임 아마..


그리고 인터럽트 중 주유가 제일 위에 있어야 함

위에 있는 인터럽트부터 조건을 따지기 때문이고, 주유가 맨 아래라면 상차 하차만 반복하다가 연료 떨어져서 멈출거임

기차역 늘릴땐 블루프린트 매개변수 이용하면 간편함. 후술할 갤 념글들 링크에 있으니 참고하길 바람




그리고 이 글에서 쓰인 기차의 블루프린트를 통째로 첨부함.

https://factoriobin.com/post/hc3hq2


https://factoriobin.com/post/hc3hq2


근데 Creative mod 깔고 한거라 써보려면은 깔아야될거임


회로만 확인할꺼면 모드 안깔고 맨땅에 깔아봐도 될거같은데 안해봐서 모르겠다


새 게임에서 모드 켜고 god모드 켜고 깔아서 해보셈



만드는데 참고해보고 개선점 있으면 조언좀 부탁함


참고한 글들


https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=71130&exception_mode=recommend&s_type=search_subject_memo&s_keyword=%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8&page=1

기차 인터럽트 공?략먼저 이 글은 나름대로 외국 유튭이랑 레딧이랑 디코랑 돌아다니면서 얻은 아이디어 적당히 버무린거임나도 인터럽트 관련은 건드린지 하루밖에 안돼서 정답이 아닐 수 있음을 분명히 하고 시작하겟슴그리고 LTN이랑은 다름 각gall.dcinside.com


https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=71903&exception_mode=recommend&s_type=search_subject_memo&s_keyword=%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8&page=1

인터럽트를 이용한 한 열차로 모든물건 배달하기 수정일단 2.0 되고 기차 쓰기시작하기부터 차고지 인터럽트, 주유소 인터럽트로 꿀빨고 있다가https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=71130&gall.dcinside.com

https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=72863&exception_mode=recommend&s_type=search_subject_memo&s_keyword=%EA%B0%84%EB%8B%A8&page=1

초간단 기차 제어위가 상차역 아래가 하차역임전역 네트워크에 요청을 올리고, 기차가 배정되면 하나씩 낮추는 방식을 사용함그래서 역 당 기차수제한 올리는 조합기, 내리는 조합기 두 개만 있으면 됨기차는 대기역에서 대기하다가 상차역이 켜지gall.dcinside.com