레드스톤 로직 Minecraft 수업. 제로 레슨: 기초
일을 시작해 봅시다. 일반적인 게 아니라, 꽤 복잡하고 흥미로운, 그리고... 적당히 재미있는, 아마 게임을 새로운 시각으로 열어주는 것입니다. 당신은 Minecraft가 「도끼 휘두르고 목재 모으기」만으로 이루어진 게임이라고 생각하지 않았겠죠? 「그렇지 않나요?」라고 누가 말했는지? \사람을 가리킴** 당신입니까? 사랑하는 분, 더 깊이 파고들어 보세요, 우리는 당신을 방해하지 않을게요. 다른 모든 분들은, 무휴님을 환영합니다.
그런데요, 카트 아래는 이미지가 많이 있으니, 트래픽을 아껴 주세요...
[cut]
첫 번째 부분. 서문.
오늘(뿐만 아니라 다른 날에도) 이야기할 것은 신비로운 레드스톤(이하 «레드스톤», 좀 더 듣기 좋은 이름보다는 쓰기 쉬운 이름입니다)입니다. 많은 이들이 수많은 동굴 탐사에서 찾았던 것입니다. 누군가는 이 레드스톤을 바닥에 '심어' 놓고, 그 주위를 두어 분 동안 돌고, 그 사용법을 생각해내지 못했을 수도 있습니다. 누군가는 아마 인터넷에 들어가서 이게 정말 대단하다고 پڑھ어 봤고, YouTube의 영상을 보았고, 그 아이디어에 감명받았지만... 그 다음에는 거대한 회로와 이해할 수 없는 단어들과 0과 1이 나열된 부분이 나왔죠... 으...
이것이 멋지다고 이해했지만, 어떻게 하면 정말 멋지게 만들 수 있는지 모르는 분들을 위해 이 즉흥적인 교과서를 준비했습니다. 저는 이를 수업으로 나눌 것이며, 우선, 모든 교과서가 그러하듯 다양한 정의와 기본적인 회로를 다뤄야 할 것입니다. 그러나 나중에 (저는 여러분에게 약속합니다) 우리는 더 복잡한 기계 장치에 대해서 배울 것입니다. 아마 어떤 분들에게는 이 수업만으로도 충분할 것이고, 모든 것이 명확해 질 것입니다. 글이 그렇게 쓰였으니 다행입니다. =)
좋습니다. 아무것도 잊지 않은 것 같습니다. 시작합시다!
두 번째 부분. 이미지.
간단한 것부터 시작해보죠 – 이미지입니다. 맞아요, 이미지입니다. 여러분에게 다루게 될 레드스톤 회로의 요소들을 보여 드릴 것입니다.
가장 중요한 요소 – 레드스톤 먼지(Redstone Dust), 또한 *선(Redstone Wire*)**입니다. 이 회로에서 연결선의 역할을 합니다. 선을 깔기 위해서는 바닥에서 마우스 오른쪽 버튼을 클릭하면 됩니다. 오직 블록의 꼭대기에만 놓을 수 있습니다.
레드스톤 토치(Redstone Torch). 이것도 레드스톤 회로에서 엄청난 역할을 합니다. 전원이 공급되는 요소로 사용되며, 지표로 작용하고, 인버터 회로에서 (이 부분은 나중에 다뤄질 것입니다).
토치는 신호의 출처로 항상 '1'을 회로에 공급합니다. 다음의 요소들은 스위치 역할을 하며, 켜지거나 눌렸을 때 '1'을 제공합니다.
레버(Lever) – 켜져 있을 때 연결된 선에 '1'을 공급합니다. 꺼져 있을 때는 '0'을 공급합니다.
버튼(Button) – 벽에만 부착 가능하며, 눌린 후에는 신호를 0.9초 동안 송출하고 다시 눌리지 않는 상태로 돌아갑니다.
돌 및 나무 압력판(Stone / Wood Pressure Plates) – 일반 버튼과 달리, 바닥에만 설치할 수 있으며, 서면 작동합니다. 떠나면 신호는 멈춥니다. 버튼 간에 중요한 차이가 있지만, 초반에는 필요하지 않을 것이므로, 이를 두고 다루지 않겠습니다.
사실, 이 수업에서는 이 요소들만 있으면 충분합니다. 이제 이론, 오늘 수업 중 가장 불쾌한 부분을 다루어 봅시다...
세 번째 부분. 이산 수학.
이 단어 조합 때문에 턱이 아프게 부자연스러운 분들은 있나요? 아-아, 아마 여러분은 이 과학의 거대한 공식과 증명을 떠올렸을 것입니다. 아니-아니, 여기는 그렇지 않습니다, 쉽게 진행됩니다.
레드스톤 회로의 기본 원리를 이해하기 위해, 회로에서 무슨 일이 일어나는지 최소한의 이해가 필요합니다. 각 선과 회로의 요소는 0 또는 1의 두 상태를 가질 수 있습니다 ('꺼짐' 또는 '켜짐'이며, 더 일반적으로는 '부정적'과 '긍정적' 용어가 자주 사용됩니다). 상태에 따라 전도성 요소는 밝게 빛나거나 그렇지 않아야 합니다.
왼쪽 선에는 신호가 가고 있으며, 오른쪽 선은 주목받지 않고 있습니다.
오른쪽 토치에는 신호가 있으며, 왼쪽에는 신호가 없습니다.
회로에는 신호에 특정 함수가 있는 노드가 있습니다. '노드'란 위에 설명된 요소들, 즉 신호에 영향을 미치는 토치, 인버터, 동기 신호 생성기 등을 나타냅니다. 이들은 더 복잡한 기능을 수행하는 큰 노드로 결합됩니다. 그건 당연한 일입니다.
그렇다면 세계에 Minecraft에 전자 장치가 전혀 없다면, 선을 어디에 연결할 수 있을까요? 간단합니다: 문, 액체(매우 교묘한 방법으로 가능하지만), 철도, 디스펜서 및 음표 블록에 연결될 수 있습니다.
모두들, 조금 부족하지만, 저는 이해가 되리라 기대하고 있습니다. 이제 창조해 봅시다...
네 번째 부분. 모든 것이 어떻게 작동하나요?
간단합니다. 레드스톤 먼지를 손에 쥐고 바닥에 몇 번 클릭합니다. 그러면 뭔가 이런 것이 생길 것입니다:
신호가 흐를 선입니다. 반드시 완벽한 직선을 그릴 필요는 없습니다, 이러한 형태도 충분히 괜찮습니다:
이젠 지울 수 있습니다(정확히는 선을 치우세요, 나중에 이 표현을 기억해 두세요). 이제 신호 출처를 설치합니다. 토치를 손에 쥐고 바닥에 꽂습니다. 이를 통해 다음과 같은 것이 얻어집니다:
위쪽은 일반 토치이고 아래쪽은 레드스톤으로 만든 토치입니다. 차이점은 분명합니다.
이제 토치를 문에 연결합시다. 문을 만들고 설치하고 선을 연결합니다.
우리가 선을 문에 연결하기 전에는 문이 닫혔습니다:
토치와 연결한 후에는 문이 열립니다:
멋지죠? 아니라구요? 아, 그래요. 그러면 왜 항상 열려 있는 문이 필요할까요… 자, 그럼 토치를 치우고 대신 레버를 설치해봅시다:
이제 레버를 당김으로써 문을 제어할 수 있습니다. 레버를 전환하고 문이 열리는 순간을 즐겨 보세요:
레버가 있을 때 문이 열릴 때 신호가 밝은 빨간색(‘1’, 신호가 있음)으로 그리고 닫힐 때는 검은색(‘0’, 신호 없음)으로 표시된다는 것을 쉽게 알 수 있습니다.
오늘의 다음 요소는 바닥 버튼입니다. 이를 레버 대신 설치하겠습니다:
이제 그 위에 서보죠:
짜잔! 문이 열렸습니다. 자기 몸무게로도 열 수 있지만, 다른 물체로도 열 수 있습니다, 예를 들어 손에서 던진 블록으로:
의심하신 분들께:
블록이 버튼을 눌렀습니다, 완벽하게 존중받는 공정한 방법입니다.
이제 벽 버튼을 설치하겠습니다:
근처로 가서 눌러봅시다. 0.9초를 세고 문이 닫히는 것을 보게 될 것입니다.
사실, 에너지를 그렇게 낭비하는 이유는 무엇일까요? 두 개의 문을 연결하고 바닥 버튼 하나로 두 문을 열 수 있도록 합시다:
모든 것이 완벽할 것 같네요...
네 번째 부분. 종이 위에서는 쉽게 보였죠...
...신호가 선을 따라 전달되는 동안 사라지지 않는다면? 어떻게? 다음과 같이:
참고. Beta 1.3 이전 버전에서는 신호가 있는 선이 항상 빨간색이었습니다. 이제는 신호의 거리와 관계없이 선의 색상은 신호의 발생지로부터 멀어질수록 검은색에 가깝게 변합니다.
간단한 15의 법칙을 기억하세요: 신호는 출처로부터 최대 15블록까지 전달됩니다. 확인하기 쉬운 점:
16번째 블록에 설치한 문은 닫혀 있고, 신호가 전송되지 않음을 의미합니다(문은 신호 '1'일 때 열립니다).
그렇다면 어떻게 해야 할까요? 15블록으로 제한해야 하나요? 헉… 그건 우리의 방법이 아닙니다. 신호를 늘리는 방법을 배워보겠습니다(전문적으로 말하면 '신호 감쇠 보상'이라고 할 수 있을 것입니다).
참고. 이 수업에서는 신호 감쇠 보상의 구식 방식을 다룹니다. Beta 1.3 출시에 따라 또 다른 방법이 추가되었지만, 나중에 다루겠습니다.
모든 것을 지우고, 선을 다음과 같이 깔아 봅시다:
보시다시피, 16번째 블록에서는 신호가 '검게' 변했습니다. 이제 몇 개의 블록에서 선을 제거해보겠습니다:
그리고 끝에 이런 장치를 설치하겠습니다:
이것은 일반적으로 '인버터'라고 불립니다. 신호를 반전시킵니다, 즉 0을 1로, 1을 0으로 변경하는 것입니다.
사슬을 계속하여 이 인버터의 출구에 또 하나를 연결합니다:
편리함을 위해 인버터에 번호를 매기겠습니다:
작동 원리는 간단합니다: 어떤 신호든 첫 번째 인버터에 도달하면 반대로 바뀌어 (0 → 1, 1 → 0), 그 신호는 다음 인버터에 도달하여 다시 바뀌어 본래의 값을 돌려놓습니다. 이 과정에서 인버터는 신호의 출처로서 토치를 사용합니다. 따라서, 신호가 두 번째 인버터에 도달하고 부호를 변화시키면 (초기부터 신호는 '긍정적'과 '부정적'이라고 불립니다) 신호는 토치에서 발생하며 15블록의 쾌적한 재수가 시작됩니다.
우리의 회로 작동을 테스트해 보겠습니다. 버튼 위에 서서 양의 신호를 회로에 넣습니다:
문이 열렸습니다. 이제 버튼에서 떠나겠습니다:
인버터 사이의 섹션이 다른 두 색상과 반대 색상인 것을 쉽게 확인할 수 있습니다. 이 구간에서 신호는 반대의 부호를 가집니다.
다섯 번째 부분. 마무리.
자, 오늘은 여기까지입니다. 이것은 Minecraft의 기본적인 개념들입니다 (...대기하세요...©) 레드 로직 덕분에 여러분은 간단한 무언가를 만들 수 있습니다. 예를 들어, 여러분의 지하 벙커에서 스위치로 여는 문을 만들 수 있습니다. 초기에는 단순하지만, 시작하기에는 좋습니다. 당신의 숙제로 삼고, 완성하면 스크린샷이나 비디오를 올리세요. 평가를 매기겠습니다. ;)
이제 인사드리겠습니다. 진심으로, fr4ntic.
P.S. 자료 제공 방법에 대한 건설적인 비판을 받습니다.
P.P.S. 다음 수업에 대한 요청을 받습니다.
P.P.P.S. 누군가 이걸 다른 곳에 복사하고 싶다면 (이런 저런 이유로),
저자와 이 기사에 대한 링크를 반드시 명시해 주세요. 여러분에겐 어렵지 않지만 저에겐 기쁨입니다.