초보자를 위한 스크래치 시작하는 방법, 블록 코딩을 쉽게 익히려면 이렇게

처음 스크래치를 켜면 어디서부터 눌러야 할지 막막하더라
얼마 전 초등학생 조카가 코딩을 배운다며 스크래치 화면을 보여줬는데, 생각보다 메뉴가 많아서 저도 잠깐 멈칫했습니다. 고양이 캐릭터 하나가 덩그러니 있고, 왼쪽에는 색깔별 블록이 잔뜩 있죠. 그런데 10분 정도 만져보니 감이 오더라고요. 스크래치는 코드를 직접 타이핑하는 방식이 아니라 블록을 끼워 맞추는 방식이라, 문법을 외우기보다 흐름을 이해하는 데 훨씬 가깝습니다.
스크래치는 MIT에서 만든 교육용 코딩 도구입니다. 웹사이트에서 바로 사용할 수 있고, 계정을 만들면 프로젝트를 저장하거나 공유할 수 있습니다. 설치 없이 브라우저에서 시작할 수 있다는 점이 꽤 큰 장점이에요. 특히 초보자라면 프로그램 설치, 개발 환경 설정 같은 단계에서 지치기 쉬운데 스크래치는 그런 부담이 적습니다.
스크래치를 시작하려면 기본 화면부터 익숙해지기
스크래치 화면은 크게 세 부분으로 나누면 이해가 쉽습니다. 왼쪽은 블록을 고르는 곳, 가운데는 블록을 조립하는 곳, 오른쪽은 결과가 보이는 무대입니다. 예를 들어 ‘10만큼 움직이기’ 블록을 가운데로 끌어오고 클릭하면 고양이가 살짝 움직입니다. 이 단순한 반응이 스크래치의 출발점입니다.
처음에는 모든 블록을 외우려고 하지 않는 편이 좋습니다. 자주 쓰는 블록은 몇 가지로 충분합니다. 움직임, 형태, 소리, 이벤트, 제어 블록만 알아도 간단한 게임이나 애니메이션을 만들 수 있습니다. 실제로 첫 프로젝트는 5개 안팎의 블록으로도 가능합니다.
- 움직임: 캐릭터를 이동하거나 방향을 바꿀 때 사용
- 이벤트: 초록 깃발을 눌렀을 때, 키보드를 눌렀을 때처럼 시작 조건을 만듦
- 제어: 반복하기, 기다리기 같은 흐름을 조절
- 형태: 말풍선, 크기, 색깔 효과를 바꿈
- 소리: 효과음이나 배경음을 추가
근데 여기서 중요한 건 블록 이름을 전부 기억하는 게 아닙니다. ‘내가 원하는 동작을 만들려면 어떤 순서가 필요할까’를 생각하는 쪽이 더 중요합니다. 예를 들어 캐릭터가 오른쪽으로 계속 걸어가게 하려면 ‘시작한다’, ‘반복한다’, ‘움직인다’의 흐름을 만들면 됩니다.
첫 프로젝트는 고양이 움직이기부터 충분하다
처음부터 게임을 완성하려고 하면 금방 복잡해집니다. 그래서 첫 목표는 아주 작게 잡는 게 좋습니다. 추천하는 시작 프로젝트는 키보드 방향키로 고양이를 움직이는 것입니다. 방향키를 누르면 캐릭터가 위, 아래, 왼쪽, 오른쪽으로 움직이는 구조인데, 이 안에 이벤트와 조건, 좌표 개념이 자연스럽게 들어갑니다.
스크래치 무대는 가로 x좌표, 세로 y좌표로 움직입니다. 가운데가 x 0, y 0이고 오른쪽으로 갈수록 x값이 커집니다. 위로 올라가면 y값이 커지고요. 숫자만 보면 딱딱해 보이지만, 직접 움직여 보면 훨씬 쉽습니다. 오른쪽 방향키를 누를 때 x를 10만큼 바꾸고, 위쪽 방향키를 누를 때 y를 10만큼 바꾸면 됩니다.
방향키 움직임 예시
- 오른쪽 화살표를 눌렀을 때: x좌표를 10만큼 바꾸기
- 왼쪽 화살표를 눌렀을 때: x좌표를 -10만큼 바꾸기
- 위쪽 화살표를 눌렀을 때: y좌표를 10만큼 바꾸기
- 아래쪽 화살표를 눌렀을 때: y좌표를 -10만큼 바꾸기
이 정도만 만들어도 이미 ‘입력에 따라 화면이 반응하는 프로그램’을 만든 셈입니다. 솔직히 코딩의 재미는 여기서 꽤 많이 느껴집니다. 내가 누른 키에 따라 캐릭터가 움직이고, 숫자를 바꾸면 속도도 달라지니까요.
재미를 붙이려면 게임처럼 만들어보기
스크래치가 좋은 이유는 결과물이 빨리 보인다는 점입니다. 그래서 기본 움직임을 익힌 뒤에는 작은 게임으로 바꿔보는 게 좋습니다. 예를 들어 고양이가 사과를 먹으면 점수가 1점 올라가는 게임을 만들 수 있습니다. 사과 스프라이트를 추가하고, 고양이와 닿았을 때 점수를 올리면 됩니다.
여기서 변수라는 개념이 등장합니다. 변수는 숫자나 글자를 담아두는 상자라고 생각하면 편합니다. ‘점수’라는 변수를 만들고 처음에는 0으로 설정합니다. 고양이가 사과에 닿을 때마다 점수를 1씩 바꾸면 화면에 점수가 올라갑니다. 초보자에게 변수는 어렵게 느껴질 수 있는데, 게임 점수로 배우면 훨씬 자연스럽습니다.
간단한 사과 먹기 게임 구성
- 고양이: 방향키로 움직이는 캐릭터
- 사과: 무대 어딘가에 놓이는 목표물
- 점수 변수: 사과를 먹을 때마다 1씩 증가
- 소리 효과: 사과를 먹었을 때 짧은 효과음 재생
조금 더 욕심을 내면 사과가 먹힌 뒤 무작위 위치로 이동하게 만들 수 있습니다. 그러면 매번 같은 자리로 가는 단순한 동작이 아니라, 계속 움직이며 점수를 얻는 게임이 됩니다. 블록 몇 개만 추가했을 뿐인데 체감 재미는 꽤 달라집니다.
막힐 때는 완성작을 뜯어보는 게 빠르다
스크래치에는 다른 사람이 만든 프로젝트를 볼 수 있는 기능이 있습니다. 처음 배우는 입장에서는 이게 정말 유용합니다. 완성된 게임을 실행해보고, 안쪽 블록이 어떻게 연결되어 있는지 보면 혼자 설명서를 읽는 것보다 빨리 이해되는 경우가 많습니다.
물론 그대로 베끼기만 하면 실력이 잘 늘지는 않습니다. 대신 하나씩 바꿔보면 좋습니다. 캐릭터 속도를 5에서 15로 바꾸거나, 배경을 바꾸거나, 점수가 10점이 되면 다른 메시지가 나오게 만드는 식입니다. 작은 변경을 반복하다 보면 블록이 어떤 역할을 하는지 몸으로 익히게 됩니다.
사실 초보자가 가장 많이 막히는 부분은 ‘내가 뭘 잘못했는지 모르겠다’는 순간입니다. 이럴 때는 블록을 한꺼번에 보지 말고, 시작 블록부터 순서대로 클릭해보면 됩니다. 어떤 블록까지는 작동하고, 어느 지점부터 원하는 결과가 안 나오는지 확인하면 원인을 찾기 쉬워집니다.
스크래치로 익히면 좋은 생각 습관
스크래치는 어린이용 도구처럼 보이지만, 안에 들어 있는 개념은 꽤 진지합니다. 반복, 조건, 변수, 좌표, 이벤트 같은 개념은 실제 프로그래밍에서도 계속 쓰입니다. 그래서 스크래치를 잘 다루는 건 단순히 블록을 옮기는 기술이 아니라 문제를 작게 나누는 연습에 가깝습니다.
예를 들어 ‘캐릭터가 적을 피하는 게임’을 만들고 싶다면 바로 전체 게임을 생각하기보다 작은 질문으로 나누는 게 좋습니다. 캐릭터는 어떻게 움직일까, 적은 어디서 나올까, 닿으면 어떤 일이 생길까, 점수는 언제 올라갈까. 이렇게 쪼개면 복잡해 보이던 아이디어도 하나씩 만들 수 있습니다.
개인적으로 스크래치는 코딩 입문용으로 꽤 괜찮은 출발점이라고 생각합니다. 화면에서 바로 결과가 보이고, 실패해도 부담이 적고, 작은 수정만으로도 완전히 다른 느낌의 작품이 나오니까요. 처음에는 고양이 한 마리 움직이는 정도로 시작해도 충분합니다. 그 작은 움직임이 쌓이면 어느새 게임 하나가 만들어져 있습니다.
