요약: 바닐라에서 연구 레벨, 비용, 과학팩 재고 다 고려해서 최적의 무한연구를 돌리는 시스템을 만들 수 있다.
샌드박스 전용 청사진
일반연구 다 해금해주면 바로 동작함
/c for _,v in pairs(game.player.force.technologies) do v.researched=false end game.player.force.research_all_technologies()
https://factoriobin.com/post/ipvlj6
+ 연구 선택기 회로와 가중치에 오류가 좀 있어서 뜯어고쳤음
팩토리오 2.1부터 회로로 연구를 조건에 따라 자동설정할 수 있고, 여러 정보를 읽어올 수 있다.
치명적인 흠이 있다면, 동시 연구가 불가능하다.
모든 연구 설정은 공유되며, 만일 여러 개의 연구를 동시에 지정하려고 하면 레시피 간에 깜빡임이 발생하면서 제어가 어려워진다.
심지어 이와 관련된 모드도 있다.
https://mods.factorio.com/mod/simultaneous-research
따라서, 바닐라에서 23개의 무한연구 제어를 효과적으로 하려면
스위칭과 메모리를 이용해 필요한 정보를 추출할 수 있는 시스템이 요구된다.
각각의 무한연구에 1~23의 고유번호를 매기자.
무한연구 추가 등 확장성과 유동성을 염두에 두고, 단일 채널로 연구 스위칭을 해보자.
핵심 컴포넌트는 4개다.
1. 연구 순회 및 정보 추출
2. 메모리
3. 필터
4. 연구 선택기
1. 연구 순회 및 정보 추출
- 600틱 중 23틱을 소모해서 존재하는 모든 무한연구 레시피를 한 번씩 돌린다. 나머지 시간에는 4번에서 선택된 연구를 돌린다.
- 연구소에서 나온 레벨, 연구 재료 목록을 메모리로 보낸다.
- 연구 재료 목록은 (편의상) 비트 압축을 먹인다.
2. 메모리
- 현재 진행중인 연구의 고유 번호와 일치하는 메모리 셀에 정보 (레벨 L, 연구 재료 M)을 저장한다.
- 출력부에 시분할 멀티플렉싱(TDM)을 사용한다.
(모든 메모리 셀의 내용을 하나의 와이어로 압축한다. 입력부와 독립적으로, 23틱 주기로 모든 고유 번호를 돌리면서 연관된 정보 L, M을 뿌린다.)
- 첫 번째 조합기는 디멀티플렉서 + 메모리 셀, 두 번째 셀은 멀티플렉서에 해당한다.
- 여기까지만 작업해도 총알, 로켓 데미지와 연동해서 우주선의 최고 속력을 조절하는 식의 응용이 가능하다.
3. 필터
- 단순하지만, 연구 병목을 방지하는 중요한 컴포넌트다.
- 연구소 벨트 입력부에 올라간 과학팩 수량을 체크해서 가능한 연구만 추출한다.
비트 연산 딸깍
4. 연구 선택기
- 가능한 무한연구 중 최대 하나를 선택한다.
- 여기부터는 개인 취향이다. 여러 가지 방식이 존재하며, 이들의 조합을 사용할 수 있다.
- 사진에서 계획하는 빌드는 다음과 같다.
A. 파칩, 플라스틱 생산성에 높은 우선순위를 준 뒤 13렙을 넘으면 배제한다.
A가 불가능하다면,
B. 레벨에 가중치를 먹여 정확한 연구 비용으로 환산하고, 요구 비용이 가장 낮은 대상을 선택한다.
대상이 여럿이라면 고유 번호가 높은 순으로 선택한다.
추가로, 연구 생산성에 타 연구 대비 20배 많은 자원을 투자하도록 가중치를 더한다.
- 특정 고유 번호의 연구 정보를 얻기 위해선 디멀티플렉서 + 메모리 셀이 필요하다. 메모리 입력부와 똑같은 조합기를 사용한다.
대부분의 연구 비용은 지수적으로 증가하나, 채굴 생산성과 전투 로봇 수 등 일부 연구는 선형적으로 동작한다. 따라서 예외 처리로 로그를 취해줘야 한다.
(계산 디테일은 청사진 안에 디스플레이 패널에다 주석 달아놨다.)
https://wiki.factorio.com/Technologies
금속, 전자기, 농업, 극저온, 프로메튬 팩 공급에 간헐적인 제한을 걸고 돌려주니까 이런 느낌으로 고르게 연구가 진행된다.
A에서 설정한 플라스틱, 파칩부터 먼저 13렙을 찍은 뒤, 연구 생산성을 제외하면 모든 연구에 자원이 고르게 분배된다.
무한 연구를 할 수 있다 까지 완벽히 이해했어
이게 도대체 뭐죠...
완전리 돌아버린 발상 ㄷㄷㄷㄷㄷ
TDM은 농업팩 때문에 나온 발상인가? 개념 자체는 괜찮은데
철도역 제어용으로 쓰려던 거 가져왔음
전혀 이해가가질않네 회로가
뭐여 연구 자동설정도 되는거였네
이게 뭐야 미친 ㅋㅋㅋㅋ
먹스를 여기서보네 십ㅋㅋ