초보자를 위한 스크래치 시작하는 방법, 블록 코딩이 쉬워지는 순서

처음 스크래치를 켜면 어디서부터 눌러야 할지 막막하다
얼마 전 초등학생 조카가 코딩 수업 숙제를 한다고 스크래치를 켰는데, 화면에 고양이 캐릭터와 블록이 잔뜩 떠 있으니 오히려 손이 멈추더라고요. 사실 스크래치는 어려운 프로그램이라기보다, 순서를 잡지 못하면 복잡해 보이는 도구에 가깝습니다. 먼저 무언가를 완벽하게 만들겠다는 생각보다, 캐릭터 하나를 움직이고 소리를 내고 점수를 바꾸는 식으로 작은 기능을 붙여가면 훨씬 편해집니다.
스크래치는 MIT에서 만든 블록 코딩 도구입니다. 텍스트로 코드를 직접 입력하지 않고, 퍼즐 조각처럼 생긴 명령 블록을 이어 붙여 프로그램을 만듭니다. 그래서 오타 때문에 에러가 나는 일이 적고, 초보자도 결과를 바로 눈으로 확인할 수 있습니다. 아이들 교육용으로 많이 알려져 있지만, 코딩의 흐름을 익히려는 성인에게도 꽤 좋은 출발점입니다.
스크래치를 시작하려면 계정과 화면 구조부터 익히기
스크래치는 웹사이트에서 바로 사용할 수 있고, 인터넷이 불안정한 환경이라면 오프라인 에디터를 설치해서 쓰는 방법도 있습니다. 웹에서 쓰면 만든 작품을 저장하고 공유하기 쉬운 편입니다. 계정을 만들 때는 닉네임, 비밀번호, 이메일 정도가 필요하고, 어린이가 사용할 경우 보호자가 이메일 확인을 도와주면 됩니다.
처음 화면에서 가장 자주 보는 곳은 크게 세 부분입니다. 왼쪽에는 움직임, 형태, 소리, 이벤트 같은 블록 꾸러미가 있습니다. 가운데는 블록을 조립하는 작업 공간이고, 오른쪽에는 캐릭터가 실제로 움직이는 무대가 보입니다. 아래쪽에는 스프라이트라고 부르는 캐릭터 목록이 있습니다. 고양이 캐릭터를 바꾸거나 배경을 넣는 것도 여기서 시작합니다.
- 무대: 만든 프로그램이 실행되는 공간
- 스프라이트: 고양이, 공, 자동차처럼 움직이는 대상
- 블록: 명령을 담은 조각
- 스크립트: 여러 블록을 이어 붙인 명령 묶음
처음에는 모든 메뉴를 외우려고 하지 않아도 됩니다. 실제로 초보 단계에서 자주 쓰는 블록은 이벤트, 움직임, 제어, 감지, 변수 쪽에 몰려 있습니다. 특히 ‘초록 깃발을 클릭했을 때’ 블록은 거의 시작 버튼처럼 쓰인다고 보면 됩니다.
가장 쉬운 첫 작품은 캐릭터 움직이기
처음 만들기 좋은 작품은 키보드 방향키로 캐릭터를 움직이는 프로그램입니다. 기능은 단순하지만, 이벤트와 조건, 좌표 개념을 자연스럽게 만질 수 있습니다. 예를 들어 오른쪽 방향키를 눌렀을 때 x좌표를 10만큼 바꾸고, 왼쪽 방향키를 눌렀을 때 x좌표를 -10만큼 바꾸면 캐릭터가 좌우로 움직입니다.
여기서 x좌표와 y좌표가 낯설 수 있습니다. 스크래치 무대의 가로 방향이 x, 세로 방향이 y입니다. 가운데가 0이고 오른쪽으로 갈수록 x값이 커집니다. 위로 올라가면 y값이 커지고, 아래로 내려가면 y값이 작아집니다. 숫자가 움직임으로 바로 보이기 때문에 좌표를 처음 배우는 사람도 감을 잡기 쉽습니다.
이 단계에서 중요한 건 ‘내가 누른 키가 어떤 결과를 만드는지’ 확인하는 겁니다. 오른쪽으로 너무 빨리 움직이면 10을 5로 바꿔보고, 느리면 15나 20으로 바꿔보면 됩니다. 이런 식으로 숫자를 바꾸며 결과를 비교하는 과정이 코딩 감각을 키워줍니다.
게임처럼 만들고 싶다면 변수와 조건을 넣기
스크래치가 재미있어지는 순간은 점수, 시간, 생명 같은 값을 넣을 때입니다. 예를 들어 공을 잡으면 점수가 1점 올라가고, 장애물에 닿으면 생명이 1 줄어드는 식입니다. 이때 쓰는 것이 변수입니다. 변수는 바뀌는 숫자나 글자를 담아두는 상자라고 생각하면 됩니다.
간단한 잡기 게임을 만든다고 해볼게요. 고양이가 사과를 잡으면 점수가 올라가고, 사과는 무작위 위치로 이동합니다. 이때 ‘만약 고양이에 닿았는가’라는 조건을 계속 확인해야 합니다. 그래서 ‘무한 반복하기’ 블록 안에 ‘만약 ~라면’ 블록을 넣고, 그 안에 점수 바꾸기와 위치 이동을 넣습니다.
- 점수 변수 만들기
- 초록 깃발을 클릭하면 점수를 0으로 만들기
- 사과가 고양이에 닿으면 점수를 1만큼 바꾸기
- 사과를 무작위 위치로 보내기
- 제한 시간을 넣어 게임 흐름 만들기
이 구조만 익혀도 만들 수 있는 작품이 꽤 많습니다. 피하기 게임, 미로 탈출, 퀴즈, 리듬 게임의 기본 흐름이 모두 비슷합니다. 차이는 캐릭터 모양, 점수 규칙, 실패 조건 정도입니다. 그래서 처음부터 거창한 게임을 만들기보다, 잡기 게임 하나를 끝까지 만든 뒤 규칙을 바꾸는 방식이 좋습니다.
막힐 때는 완성작을 분해해서 따라가기
스크래치를 배우다 보면 ‘내가 뭘 만들고 싶은지는 알겠는데 어떤 블록을 써야 할지 모르겠다’는 순간이 옵니다. 이럴 때는 다른 사람이 만든 프로젝트를 보는 게 빠릅니다. 스크래치 사이트에는 공유된 작품이 많고, 내부 블록을 열어볼 수 있는 경우도 많습니다. 단순히 복사하는 것보다 왜 이런 순서로 블록을 놓았는지 보는 게 더 도움이 됩니다.
예를 들어 인기 있는 점프 게임을 열어보면, 캐릭터가 계속 아래로 떨어지도록 y값을 줄이고, 바닥에 닿으면 다시 멈추게 하는 식의 구조가 보입니다. 점프는 순간적으로 y값을 올리고, 중력처럼 다시 내려오게 만드는 방식이 많습니다. 실제 게임 엔진처럼 복잡하지 않아도, 움직임의 원리는 충분히 배울 수 있습니다.
근데 너무 복잡한 작품부터 보면 오히려 지칩니다. 블록이 수백 개 붙어 있는 작품은 초보자에게 좋은 교재가 아닐 때가 많습니다. 처음에는 스프라이트 1~3개, 변수 1~2개, 배경 1개 정도인 작품을 고르는 편이 이해하기 쉽습니다.
스크래치 실력이 빨리 느는 연습 순서
스크래치는 많이 누른다고 자동으로 늘기보다, 작은 목표를 정하고 반복해서 고치는 방식이 효과적입니다. 저는 처음 배우는 사람에게 보통 4단계로 권합니다. 움직이기, 조건 넣기, 변수 넣기, 화면 꾸미기 순서입니다. 꾸미기를 너무 먼저 하면 시간이 금방 지나가는데, 실제 프로그램의 흐름은 덜 익을 수 있습니다.
예를 들어 30분 동안 연습한다면 처음 10분은 캐릭터 움직임, 다음 10분은 충돌 조건, 마지막 10분은 점수나 배경을 다듬는 식이 좋습니다. 하루에 2시간씩 몰아서 하기보다 20~30분씩 여러 번 하는 편이 기억에 오래 남습니다. 특히 초등학생이라면 한 번에 긴 시간을 붙잡는 것보다 완성 가능한 작은 작품을 자주 만드는 쪽이 더 잘 맞습니다.
스크래치의 좋은 점은 실패해도 부담이 작다는 겁니다. 블록을 빼고 다시 붙이면 되고, 숫자를 바꾸면 결과가 바로 달라집니다. 텍스트 코딩처럼 문법부터 외우는 방식이 아니라서, 생각한 동작을 화면에서 확인하는 재미가 큽니다. 처음에는 고양이 한 마리를 움직이는 정도로 시작해도 괜찮습니다. 그 작은 움직임이 점수와 조건을 만나면 어느새 게임이 되고, 이야기가 되고, 직접 만든 작품이 됩니다.
