조작법·키 설정: Controls·Processor 로직 가이드
플레이어 입력과 유닛 및 건물을 명령하는 데 사용되는 게임 내 로직 제어 시스템(Processors 및 제어 명령)을 다룹니다. 적절한 컨트롤 사용은 마이크로관리 속도를 높이고, 

플레이어 컨트롤 (PC 및 모바일)
플레이어 유닛
- 이동: PC에서는 WASD / 화살표 키; 모바일에서는 화면을 드래그.
- 상호작용: 왼쪽 클릭(PC) / 탭(모바일)으로 발사하거나 건물을 배치.
- 채굴: 광석을 왼쪽 클릭(PC) 또는 탭(모바일)하여 채굴.
- 소유: Ctrl + 왼쪽 클릭(PC); 모바일에서는 유닛을 탭하여 소유.
- 리스폰: 리스폰 키를 눌러 가장 가까운 코어로 복귀.
- 부스트: 부스트 키를 눌러 전력 달리기/부스트; 모바일에서는 유닛에서 화면을 드래그하여 부스트.
- 화물: 집기/버리기 키로 화물을 줍고 떨어뜨림; 모바일에서는 탭 & 홀드로 집기 또는 버리기.
건물 및 건설
- 건물 배치: 왼쪽 클릭(PC) 또는 탭(모바일).
- 삭제/선택 해제: 오른쪽 클릭(PC) 또는 모바일의 망치/삭제 UI 사용.
- 건설 일시정지/재개: 빌드 일시정지 키 사용.
- 영역 선택/재건설: 영역 선택 및 재건설 키를 사용해 여러 블록과 도면을 작업.
- 블록 구성: 많은 블록은 탭/선택으로 구성 가능; 일부 블록은 탭할 때 터치 이벤트를 소비하여 직접 구성 UI를 엽니다.
유닛 명령 및 시야
- 유닛 명령 UI 열기: 유닛 명령 키.
- 그룹 선택: Shift + 왼쪽 클릭으로 유닛 영역 선택.
- 모든 유닛 또는 모든 유닛 공장을 해당 핫키로 선택.
- 여러 웨이포인트 지정: Shift + 가운데 마우스(PC).
- 줌: 마우스 스크롤휠.
- UI 표시 토글, 전체화면, 메뉴 및 콘솔은 각각 전용 핫키가 있음.
- 멀티플레이어: 플레이어 목록과 채팅에 전용 키; 스크롤휠로 채팅 기록 스크롤.
Logic 개요 (게임 내에서 컨트롤이 의미하는 것)
Logic은 Processor에서 실행되는 게임 내 스크립팅 시스템입니다. 어셈블리와 유사한 결정론적 저수준 명령을 제공하며: 각 명령은 프로세서의 명령 카운터에 따라 평가되고, 프로세서는 속도/클럭에 따라 틱마다 프로그램을 순환합니다.
Processors는 세계와 상호작용할 수 있습니다: 센서를 읽고, Memory 블록을 읽고/쓰기하며, 블록 상태를 제어하고, 메시지를 출력하고, 조건부로 점프합니다. 비주얼 편집과 텍스트 편집 모드가 제공되며; 비주얼 편집기는 초보자 친화적이고 모바일 사용 및 클립보드 가져오기/내보내기를 지원합니다.
일반적인 명령 분류
- Sensors:
스위치와 다른 블록의 @enabled 같은 특수 태그와 블록 속성을 읽음. 사용 예: sensor active switch1 @enabled 는 스위치의 활성 상태를 active라는 변수에 할당.
- Control: 블록의 상태 변경. 예: control enabled conveyor1 1 ... 은
컨베이어를 활성화; control enabled conveyor1 0 ... 은 비활성화.
- Jump 및 비교: 조건부 흐름 제어. jump
를 사용하여 a와 b의 비교가 일치할 때 점프. 비교 목록에는 strictEqual 및 always 같은 연산자가 포함; always는 항상 true를 반환하여 점프를 강제. 메모리 읽기/쓰기: read var = cell at index 는 MemoryCell 또는 MemoryBank에서 숫자 값을 변수로 읽음. MemoryCell은 인덱스 접근을 지원(셀은 0부터 인덱스).
- Print 및 표시: print는 표시할 텍스트를 저장; printflush target 은 저장된 텍스트를 메모 블록이나
로직 디스플레이로 출력.
- getlink/content 접근: Processors는 연결된 특정 건물(예: 특정 sorter 인스턴스)을 검색하여 대상 제어나 읽기를 위해 그 건물 콘텐츠로 취급할 수 있음.
예시 패턴
-
- sensor active switch1 @enabled
- jump 4 strictEqual active true
- control enabled conveyor1 0 0 0 0
- end
- control enabled conveyor1 1 0 0 0 스위치를 읽고 컨베이어를 활성화하거나 비활성화하도록 점프하며, 무한 루프를 형성.
-
- print "Hello world!"
- printflush message1 Processor를 메모 블록에 연결; print는 저장하고 printflush는 지정된 message 블록으로 출력.
메모리 셀 내용 읽기: read value = cell1 at 2 이는 cell1의 인덱스 2에 있는 숫자 값을 변수 value에 넣음(인덱스는 0부터
시작).
UI 및 사용성 팁
시작할 때는 비주얼 편집기를 사용: 변수, 점프 흐름을 보여주며 모바일에서 더 쉬움.- 데스크탑과 모바일 편집기 간 스크립트를 복사하려면 클립보드 가져오기/내보내기 사용.
- 연결된 블록(router1, conveyor1, switch1, message1 등)에 명확한 이름을 붙여 로직을 읽기 쉽고 재사용 가능하게 유지.
- Processor는 카운터/클럭에 따라 틱당 한 명령을 실행함을 기억; 그 타이밍을 고려해 루프와 점프 구조 설계.
블록 상호작용 뉘앙스
- 일부 블록은 인스턴스별 "building" 링크(콘텐츠/클래스와 반대)를 노출. getlink는 연결된 건물 인스턴스를 검색하여 검사하거나 제어할 수 있음.
- 블록은 탭 동작을 구성 가능하게 노출하거나 터치 이벤트를 소비하는지 여부를 제공; 구성 가능한 블록은 탭하여 구성 UI를 열 수 있음.
이 문서는 플레이어 입력 계층과 유닛 및 블록을 프로그래밍·자동화하는 데 사용되는 Logic 시스템을 설명합니다. Processors를 사용하여 센서를 읽고, 블록 상태를 조작하며, 메시지를 처리하고, 복잡한 공장 및 유닛 동작을 오케스트레이션하세요.