회로가 이해하기 난해한 이유는 배선 시스템 자체의 문제임. 의사코드(C 스타일)로 비유하겠음.
A decider_combinator(A x) {
if (x > 0)
return x;
else
return 0;
}
어떤 수량비교 조합기의 의사코드임. A값이 양수일 때만 A값을 출력하는걸 쉽게 알 수 있을거야
하지만 사실 이 비유는 꽤나 잘못되었음. 게임 내에서 실제 동작하는 모습으로 다시 작성하면..
void decider_combinator(int input_idx, int output_idx) {
if (network[input_idx].A > 0)
network[output_idx].A += A;
}
...가 됨
무슨 말을 하려하느냐? 회로 네트워크는 데이터 흐름이 정말 어지러울정도로 암시적으로 이루어짐
전선의 연결이 하는 일이 사실은 다음 조합기에 정보를 꽂아주는것이 아니고, 전역 상태를 형성한다는 것
그리고 전역상태의 공유를 통해 데이터를 전달한다는 사실이 회로 분석을 난해하게 한다는말임.
어떻게 하면 그나마 이해 가능한 상태로 회로를 유지가능할까?
각 상태에 의존하는 조합기의 수를 줄이면 네트워크를 이해하기 쉬워지겠지.
그리고 이런 방법의 이해 없이도 우리는 0을 더하는 산술조합기를 사용하여 이를 실천하고 있음.
음...뮤슨소리인지모르겠서요
회로 네트워크라는게 x가 들어오면 f(x)를 내놓는 단순 함수 개념으로써 이해할 수 없다는거임
다른 형식의 질문이 없으면 여기서 더 자세하거나 더 쉬운 설명을 해주기 어려움 미안
충분히 말로 표현할 수 있는 내용을 글쓴이가 코딩식으로 써서 그래
산미포가 회로시스템이 이해하기 쉽고 직관적이여서 (SR래치도 기본 지원하고) 뉴비도 회로 접하기 쉽더라. 팩토리오는 그냥 신호조합기들 외형부터 이해하기 어렵게 생기고 직관적이지 않음
입/출력이 단순 int처럼 되지 않고 키-값으로 되어있고, 루프가 가능한거도 있지. int보다는 키-값으로 처리하는게 맞지 않음? 통째로 받아서 그중 일부 비교해서 내놓는
일종의 딕셔너리를 전달하는게 맞지, 그냥 디테일을 생략했다고 생각해주셈 하지만 루프는 글쎄 루프선 없는 회로랑 딱히 구분된다고 느껴지지 않음
근데 또 딜레이 생각하면.. 아니다 그것도 의사코드에서 순차처리하면 똑같나. 이건 실언이였나봄
와이어로 인한 상태중첩이 팩토 회로의 핵심이지
일반 코딩이랑 많이 다른듯
이런걸로도 둠을 돌리는 사람이 있다는게 참..
틱단위로 신호가가는것도 회로랑 다르지않나?
코딩보단 ㄹㅇ 회로질에 더 가깝지않나 디지털회로나 컴퓨터구조시간에 들었던 "회선은 같은 상태를 공유한다"로 이해하면 쉬울텐데
회로 네트워크 시스탬을 그대로 이해하면 되지 굳이 소프트웨어와 연관지어 생각하려니 괜히 어려운거 아닐까. 로봇물류에 저장된 수많은 아이템 하나하나마다 회선 연결할 순 없잖아. 게임 시스템임을 감안하고 생각하면 매우 헙리적인듯
내가 문제라고 생각하는 부분이랑 얘기가 좀 달라. 내가 문제라고 생각하는 부분은 어떤 출처에서 어떤 신호가 들어올지 알기 어렵다는거임 - dc App
어떤점이 다른지 모르겠네. 네가 어떤 출처에서 어떤 신호가 들어올지 알기 어렵다고 하는건 신호가 전역으로 전달되기 때문이라고 글 쓴거 아님? 로보포트 보면 전역신호로 전달되는게 더 합리적으로 보이는대
ㄹㅇ 코딩보다는 회로에 가까움 - dc App