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

얼마 전 초등학생 조카가 컴퓨터 앞에서 고양이 캐릭터를 움직이느라 한참을 집중하더라고요. 뭘 하나 봤더니 스크래치로 간단한 게임을 만들고 있었습니다. 사실 코딩이라고 하면 영어 명령어부터 떠올라서 어렵게 느껴지는데, 스크래치는 블록을 끼워 맞추는 방식이라 처음 만지는 사람도 꽤 빨리 감을 잡습니다.
스크래치는 MIT 미디어랩에서 만든 교육용 프로그래밍 도구입니다. 화면에 보이는 블록을 드래그해서 붙이면 캐릭터가 움직이고, 말하고, 소리를 내고, 점수를 계산합니다. 초등학생도 많이 쓰지만, 코딩 개념을 처음 배우는 중학생, 학부모, 성인 입문자에게도 잘 맞습니다.
스크래치를 시작하려면 먼저 구조부터 익히기
스크래치 화면은 크게 세 부분으로 나눠 보면 편합니다. 왼쪽에는 움직임, 소리, 이벤트 같은 블록 목록이 있고, 가운데에는 블록을 조립하는 작업 공간이 있습니다. 오른쪽에는 실제 결과가 보이는 무대와 캐릭터가 있죠. 이 구조만 알아도 처음의 막막함이 많이 줄어듭니다.
스크래치에서 캐릭터는 보통 ‘스프라이트’라고 부릅니다. 기본으로 나오는 고양이도 스프라이트이고, 공, 자동차, 사람, 직접 그린 그림도 스프라이트가 될 수 있습니다. 각 스프라이트마다 따로 명령을 줄 수 있어서 게임의 주인공과 장애물을 분리해서 만들 수 있습니다.
- 무대: 결과가 보이는 화면
- 스프라이트: 움직이거나 반응하는 캐릭터와 물체
- 블록: 명령을 담은 조각
- 스크립트: 여러 블록을 연결한 명령 묶음
처음에는 모든 메뉴를 외우려 하지 않아도 됩니다. 자주 쓰는 건 자연스럽게 반복됩니다. 특히 ‘초록 깃발을 클릭했을 때’, ‘10만큼 움직이기’, ‘안녕하세요 말하기’, ‘계속 반복하기’ 정도만 써도 첫 작품을 만들 수 있습니다.
첫 작품은 움직이는 캐릭터로 작게 만들기
처음부터 완성도 높은 게임을 만들려고 하면 금방 지칩니다. 스크래치는 작은 동작 하나를 만들고, 거기에 기능을 하나씩 얹는 방식이 잘 맞습니다. 예를 들어 고양이가 오른쪽으로 걷고, 벽에 닿으면 튕기고, 클릭하면 소리를 내는 정도면 첫 연습으로 충분합니다.
가장 쉬운 흐름은 이벤트 블록에서 시작합니다. ‘초록 깃발을 클릭했을 때’를 놓고, 그 아래에 ‘계속 반복하기’를 붙입니다. 그 안에 ‘10만큼 움직이기’와 ‘벽에 닿으면 튕기기’를 넣으면 캐릭터가 화면 안에서 계속 움직입니다. 여기까지 만드는 데 익숙한 사람은 3분도 안 걸리고, 처음 해도 10분 정도면 따라갈 수 있습니다.
처음 만들기 좋은 예시
- 고양이가 좌우로 움직이는 애니메이션
- 키보드 방향키로 움직이는 캐릭터
- 공을 피하는 간단한 게임
- 버튼을 누르면 설명이 나오는 퀴즈
근데 여기서 중요한 건 예쁘게 꾸미는 것보다 ‘내가 넣은 블록이 어떤 결과를 만드는지’ 확인하는 겁니다. 블록 하나를 바꿨을 때 속도가 달라지고, 반복 횟수를 바꾸면 움직임이 달라지는 걸 보는 순간 코딩의 기본 감각이 생깁니다.
게임처럼 만들려면 변수와 조건을 쓰기
스크래치가 재미있어지는 지점은 변수와 조건을 쓰기 시작할 때입니다. 변수는 점수, 시간, 생명 같은 값을 저장하는 상자라고 생각하면 됩니다. 예를 들어 공을 잡으면 점수가 1점 올라가고, 장애물에 닿으면 생명이 1 줄어드는 식입니다.
조건은 ‘만약 ~라면’ 형태의 판단입니다. ‘만약 고양이가 공에 닿았다면 점수를 1 올리기’, ‘만약 점수가 10보다 크다면 성공 화면 보여주기’처럼 씁니다. 실제 게임이나 앱도 이런 판단을 계속 반복합니다. 그래서 스크래치를 만지다 보면 자연스럽게 프로그래밍 사고방식에 가까워집니다.
예를 들어 30초 안에 별을 많이 모으는 게임을 만든다고 해볼게요. 별 스프라이트는 무작위 위치로 이동하고, 주인공이 별에 닿으면 점수가 올라갑니다. 타이머가 0이 되면 게임이 멈춥니다. 이 구조 안에는 이벤트, 반복, 조건, 변수, 좌표 개념이 모두 들어갑니다. 초보자용으로 보이지만 생각보다 핵심 요소가 많습니다.
막힐 때는 완성작을 분해해서 배우기
스크래치 사이트에는 다른 사람이 만든 프로젝트가 정말 많습니다. 검색창에 ‘maze’, ‘catch game’, ‘quiz’ 같은 단어를 넣으면 비슷한 예제를 쉽게 찾을 수 있습니다. 마음에 드는 작품을 열고 내부 코드를 보면 어떤 블록을 어떻게 연결했는지 확인할 수 있습니다.
솔직히 처음부터 혼자 다 만드는 것보다, 완성된 프로젝트를 보고 조금씩 바꿔보는 편이 훨씬 빠릅니다. 배경을 바꾸고, 캐릭터 속도를 바꾸고, 점수 조건을 바꾸는 것만으로도 구조가 눈에 들어옵니다. 남의 코드를 그대로 베끼는 것이 아니라 작동 원리를 뜯어보는 연습에 가깝습니다.
- 캐릭터가 움직이는 블록 찾기
- 점수가 올라가는 조건 확인하기
- 게임이 끝나는 기준 바꿔보기
- 소리와 배경을 내 취향대로 교체하기
이렇게 바꾸다 보면 어느 순간 ‘이 기능은 나도 만들 수 있겠다’는 감이 옵니다. 코딩 입문에서 이 감각이 꽤 중요합니다. 문법을 많이 외우는 것보다, 원인을 바꾸면 결과가 바뀐다는 경험이 오래 남습니다.
스크래치를 꾸준히 배우는 쉬운 순서
스크래치를 처음 배우는 사람에게는 순서가 중요합니다. 바로 변수나 복잡한 게임으로 들어가면 어렵게 느껴질 수 있습니다. 먼저 캐릭터 이동, 다음은 키보드 조작, 그다음은 조건, 이후에 변수와 복제 기능으로 넘어가는 흐름이 무난합니다.
하루에 20분씩만 해도 일주일이면 꽤 많은 걸 만들 수 있습니다. 첫날은 캐릭터 움직이기, 둘째 날은 방향키 조작, 셋째 날은 배경과 소리 넣기, 넷째 날은 점수 만들기, 다섯째 날은 게임 종료 조건 넣기처럼 나누면 부담이 덜합니다. 특히 아이와 함께 한다면 결과물이 빨리 보이는 과제를 고르는 게 좋습니다.
스크래치는 전문 개발 도구와 비교하면 단순하지만, 그 단순함이 장점입니다. 반복, 조건, 변수, 이벤트 같은 개념은 파이썬이나 자바스크립트에서도 계속 등장합니다. 그래서 스크래치로 익힌 감각은 다음 단계로 넘어갈 때 꽤 든든한 발판이 됩니다.
처음에는 고양이 하나 움직이는 것도 어색할 수 있습니다. 그런데 블록 몇 개를 붙여서 화면이 반응하는 걸 보면 생각보다 재미가 붙습니다. 코딩을 공부해야 한다는 부담보다, 작은 장난감을 직접 조립한다는 느낌으로 시작하면 스크래치는 훨씬 편하게 다가옵니다.
