우탐모 초보자이면서 우주선 자동화를 시도해본 것도 얼마되지 않았다.
우탐모 인포매트론을 참고하면서 시행착오를 몇번 겪은 후에 정리해낸 나만의 간단한 자동화 방법을 소개한다.
우주선의 계기판 모퉁이에 출력부 개체가 있는데, 눌러보면 이러한 신호를 내뱉는 것을 알 수 있다.
왼쪽부터,
- 계기판 아이템 신호
- 속도 신호
- 남은 거리 신호
- 항성, 행성이나 소행성대 아이콘은 목적지 신호
- D는 모르겠음
- A는 정박중인 장소 신호
이다.
- 계기판 아이템 신호 :
우주선의 고유ID를 나타낸다.
- 속도 신호
현재 속도를 나타내며, 양수이면 우주에서 움직이는 중, -1은 우주에서 정지중, -2는 정박된 상태를 나타낸다.
- 남은 거리 신호
목적지가 설정되어있는 경우, 양수이면 목적지와의 델타V거리, 목적지의 궤도상에 도착한 경우엔 -1, 정박된 경우 -2를 출력한다. 목적지가 설정되어있지 않으면 -3을 출력한다.
- 항성, 행성이나 소행성대 아이콘은 목적지 신호
항성, 행성, 소행성띠, 소행성대, 이상현상, 우주선 아이콘 등을 가진 신호는 목적지 신호이다. 목적지의 고유ID를 출력한다.
- D는 모르겠고, 100을 출력하는데 나는 뭔지 모른다.
- A는 정박중인 장소신호를 나타내며, 고유ID를 출력한다.
어떤 맵의 고유ID는 우주탐색기에서 확인가능하다. 행성이나 위성은 색 구분이 힘들긴 한데, 마우스를 올려보면 행성인지 위성인지 나온다. 항성계 내의 소행성띠와 성간의 소행성대 또한 아이콘 구분이 되므로 주의해서 봐야한다.
--------------------------------
이제 내가 자동화하는 방법을 소개한다.
예를 들어 맵A, 맵B, 2가지의 장소를 자동으로 왕복하는 우주선을 만들고 싶다면 2*2=4가지의 조합기 그룹을 만들어야한다.
스샷은 맵A에 정박된 상태이며, 구분하기 쉽게 숫자신호를 사용했는데,
1. 맵A의 상공에 도착했을 때 정박을 하게 하는 조합기 세트
2. 맵A에서 발진할 조건을 검사하고 맵B를 향해 발진시키는 조합기 세트
3. 맵B의 상공에 도착했을 때 정박을 하게 하는 조합기 세트
4. 맵B에서 발진할 조건을 검사하고 맵A를 향해 발진시키는 조합기 세트
이다.
우주선에 실어야하는 조합기는 1,3번 그룹 조합기이며, 2,4번 그룹 조합기는 굳이 우주선에 싣지 않고 클램프를 통해 정박할 장소에 조합기를 놔두면 우주선 내부의 공간을 절약할 수 있다.
입출력 연결은 아래와 같고, 계기판과 클램프에 직접 연결된 것들은 빨간선은 출력, 초록선은 입력이라는 개인적인 생각을 가지고 연결해두었다.
맵A에 정박된 화면
맵B에 조합기만 남아있는 화면
우주선에 실려있는 조합기 중 3번 그룹 조합기를 설명한다.
맵B 상공에 도착했을 때 자동으로 정박하기를 원하면서 만들었다.
우주선에 탑재된 오른쪽을 바라보는 클램프는 임의로 123이라는 신호를 지정했다.
맵B에 혼자 남아있는 왼쪽을 바라보는 클램프는 임의로 789라는 신호를 지정했다.
일정신호 조합기에 있는 저 한쌍의 클램프 신호는 내가 클램프를 설치하면서 지정한 그 임의 값들을 넣으면 된다.
작동 원리는 매우 단순하다. and조건을 사용하는 것으로 조건이 맞을 때마다 신호3으로 1씩 보내서 받은 신호가 모든 조건의 가짓수와 같으면 일정신호 조합기에서 출력되는 신호를 계기판으로 통과시키는 것이다.
---------------------------
아래는 정박할 장소의 4번 그룹 조합기.
클램프에 연결된 우주선이 조합기로 컨트롤할 우주선이 맞는지 검사하는 용도로 계기판 ID를 확인한다.
그리고 속도나 거리, 정박여부 신호는 확인할 필요가 없는데, 계기판 신호를 받는 부분부터 이미 정박해있다는 뜻이니까 생략.
그리고 체크표시로 임의대체해둔 신호는 원하는 조건을 마음껏 부여할 수 있다. 조건 가짓수도 무제한이다. 연료 용량이라든지, 화물을 실었거나 화물이 0이라던지 등등 원하는 대로.
그렇게 가짓수가 일치해서 모든 and조건이 만족되면 일정신호조합기의 신호를 초록선을 통해서 계기판으로 보내주면 된다.
일정 신호 조합기는 2번 조합기 그룹이 있는 맵A의 고유ID와 양수인 속도신호를 지정했다. 이유는 모르지만 속도신호를 이 단계에서 지정하지 않으면 정박지에서 떠난 이후 발진을 하지 않더라.
1.1k로 써진 고유ID는 우주선의 목적지 설정을 바꾼다.
우주선의 목적지 설정이 바뀐것을 확인했다면 우주선 발사신호를 보내면 된다.
위 조합기는 그 역할이며, 우주선의 목적지 설정을 바꾸는 위 조합기 그룹과 동시에 신호를 보내면 안되더라. 그래서 정박할 장소의 조합기들은 2단계로 나뉘어 동작한다.
맵B의 4번 조합기들만 소개했는데, 맵A의 2번 조합기들도 맵B랑 구성이 동일하다.
체크표시로 대체한 조건부를 더 추가하거나 대체하여 조건부가 모두 참이 되면 우주선은 계속해서 스스로 두 행선지를 왕복하게 될 것이다.
개추! 지금말고 나중에 우주선 자동화할때 참고할게
D는 소행성의 밀도임, 밀도가 달라지면 달라지는게 보일것.