초보자를 위한 스크래치 시작하는 방법

초보자를 위한 스크래치 시작하는 방법

얼마 전 조카가 컴퓨터로 게임을 만들고 싶다고 해서 옆에서 같이 만져본 적이 있습니다. 처음에는 코드를 직접 입력해야 한다고 생각했는지 살짝 겁을 내더라고요. 그런데 스크래치를 켜고 블록을 하나씩 끼워 맞추기 시작하니 10분도 안 돼서 고양이 캐릭터가 움직이고, 소리도 나고, 점수까지 올라가는 장면을 만들었습니다.

스크래치는 프로그래밍을 처음 배우는 사람에게 꽤 좋은 출발점입니다. 글자로 코드를 길게 쓰는 방식이 아니라, 색깔별 블록을 조립하는 방식이라 실수에 대한 부담이 적습니다. 특히 초등학생이나 코딩이 처음인 성인에게도 잘 맞습니다. 사실 프로그래밍에서 중요한 건 어려운 문법을 외우는 것보다 ‘무엇을 어떤 순서로 실행할지’ 생각하는 힘인데, 스크래치는 그 감각을 자연스럽게 익히게 해줍니다.

스크래치가 처음이라면 무엇부터 보면 좋을까

스크래치를 처음 열면 화면이 크게 세 부분으로 나뉘어 있습니다. 왼쪽에는 움직임, 소리, 제어 같은 블록들이 있고, 가운데에는 블록을 조립하는 공간이 있습니다. 오른쪽에는 실제로 캐릭터가 움직이는 무대가 보입니다. 이 구조만 이해해도 절반은 편해집니다.

가장 먼저 해볼 만한 건 캐릭터를 움직이는 일입니다. 예를 들어 ‘초록 깃발을 클릭했을 때’ 블록 아래에 ‘10만큼 움직이기’ 블록을 붙이면 됩니다. 그러면 초록 깃발을 누르는 순간 캐릭터가 오른쪽으로 움직입니다. 여기에 ‘계속 반복하기’ 블록을 넣으면 캐릭터가 멈추지 않고 움직이죠. 이런 식으로 블록 하나가 어떤 행동을 만드는지 직접 확인하는 게 좋습니다.

처음부터 멋진 게임을 만들려고 하면 금방 복잡해집니다. 대신 5분 안에 확인할 수 있는 작은 기능부터 만드는 편이 훨씬 낫습니다. 캐릭터 움직이기, 배경 바꾸기, 소리 넣기, 점수 올리기처럼 눈에 바로 보이는 기능을 하나씩 붙이면 재미가 오래갑니다.

기본 블록은 이렇게 익히면 편하다

스크래치에는 다양한 블록이 있지만 처음부터 전부 알 필요는 없습니다. 자주 쓰는 블록 몇 가지만 익혀도 간단한 애니메이션이나 게임은 충분히 만들 수 있습니다. 특히 움직임, 이벤트, 제어, 감지, 변수 블록은 자주 등장합니다.

  • 이벤트 블록: 초록 깃발 클릭, 키보드 입력처럼 시작 조건을 정할 때 씁니다.
  • 움직임 블록: 캐릭터를 이동시키거나 방향을 바꿀 때 사용합니다.
  • 제어 블록: 반복, 기다리기, 조건 판단을 만들 때 필요합니다.
  • 감지 블록: 캐릭터가 벽이나 다른 캐릭터에 닿았는지 확인할 때 씁니다.
  • 변수 블록: 점수, 시간, 목숨 같은 숫자를 저장할 때 사용합니다.

예를 들어 피하기 게임을 만든다고 생각해볼게요. 플레이어 캐릭터는 방향키로 움직이고, 장애물은 위에서 아래로 내려옵니다. 장애물에 닿으면 목숨이 줄고, 오래 버티면 점수가 올라갑니다. 이 안에는 이벤트, 움직임, 제어, 감지, 변수 블록이 모두 들어갑니다. 그런데 하나씩 보면 어렵지 않습니다. 방향키를 누르면 움직이기, 장애물에 닿으면 목숨 줄이기, 1초마다 점수 올리기처럼 작은 규칙을 연결한 것뿐입니다.

근데 여기서 중요한 건 블록을 많이 쓰는 게 아닙니다. 같은 기능을 더 단순하게 만들 수 있는지 보는 습관입니다. 블록이 너무 길게 이어지면 나중에 고치기 어렵습니다. 캐릭터별로 역할을 나누고, 같은 동작은 반복 블록으로 묶어두면 훨씬 보기 좋아집니다.

광고

간단한 게임을 만들며 감을 잡는 방법

처음 만드는 프로젝트로는 ‘동전 먹기 게임’이 좋습니다. 규칙이 단순해서 실패할 가능성이 낮고, 점수 개념도 바로 배울 수 있습니다. 화면에는 플레이어 캐릭터와 동전 캐릭터가 있습니다. 플레이어가 방향키로 움직이다가 동전에 닿으면 점수가 1점 올라가고, 동전은 다른 위치로 이동합니다.

이 게임을 만들 때 필요한 흐름은 이렇습니다. 먼저 점수 변수를 만들고 0으로 시작합니다. 그다음 플레이어 캐릭터에 방향키 이동 블록을 넣습니다. 동전 캐릭터에는 ‘플레이어에 닿았는가’를 계속 확인하는 조건을 넣습니다. 닿았다면 점수를 1만큼 바꾸고, 동전을 무작위 위치로 이동시키면 됩니다.

이 정도만 만들어도 아이들은 금방 자기 아이디어를 붙입니다. 제한 시간을 30초로 넣기도 하고, 동전 대신 별이나 과일을 넣기도 합니다. 배경을 우주로 바꾸고 캐릭터를 로켓으로 바꾸면 분위기가 완전히 달라집니다. 스크래치의 장점은 여기 있습니다. 기본 구조는 그대로 두고 모양과 규칙을 바꾸면서 새로운 작품처럼 만들 수 있습니다.

실제로 수업에서 스크래치를 쓰는 경우도 이런 방식이 많습니다. 먼저 완성 가능한 작은 예제를 만들고, 그다음 각자 변형합니다. 같은 ‘점수 올리기’ 기능을 배워도 어떤 사람은 미로 게임에 쓰고, 어떤 사람은 퀴즈 게임에 씁니다. 그래서 스크래치는 단순한 코딩 도구라기보다 생각을 화면에 빠르게 옮겨보는 연습장에 가깝습니다.

막힐 때는 오류를 찾는 순서가 있다

스크래치를 하다 보면 분명히 이런 순간이 옵니다. 블록은 붙였는데 캐릭터가 안 움직이거나, 점수가 갑자기 100점씩 올라가거나, 게임이 시작하자마자 끝나는 식입니다. 처음에는 당황스럽지만 대부분 원인은 몇 가지 안에 있습니다.

가장 먼저 볼 건 시작 블록입니다. ‘초록 깃발을 클릭했을 때’ 같은 이벤트 블록이 빠져 있으면 아무 일도 일어나지 않습니다. 그다음은 조건 블록입니다. ‘만약 닿았는가’ 조건이 너무 넓게 걸려 있으면 점수가 계속 올라갈 수 있습니다. 변수 초기화를 확인해야 합니다. 게임을 다시 시작했는데 점수가 이전 값에서 이어진다면 시작할 때 점수를 0으로 정하는 블록이 빠졌을 가능성이 큽니다.

  • 작동하지 않으면 시작 이벤트가 있는지 확인합니다.
  • 너무 많이 반복되면 반복 블록 안의 조건을 확인합니다.
  • 값이 이상하면 변수 초기화 위치를 확인합니다.
  • 캐릭터가 사라졌다면 좌표와 보이기 블록을 확인합니다.

솔직히 오류를 고치는 과정이 처음에는 제일 귀찮습니다. 그런데 이 과정에서 프로그래밍 감각이 많이 자랍니다. ‘왜 안 되지?’에서 멈추지 않고 ‘어느 블록부터 실행되지?’를 따라가다 보면 자연스럽게 순서, 조건, 반복을 이해하게 됩니다. 이건 나중에 파이썬이나 자바스크립트 같은 텍스트 코딩을 배울 때도 그대로 이어집니다.

광고

스크래치를 더 재미있게 이어가는 팁

스크래치를 오래 재미있게 하려면 완성 기준을 작게 잡는 게 좋습니다. 처음부터 10단계짜리 대작 게임을 만들려고 하면 중간에 지치기 쉽습니다. 하루에 기능 하나씩 붙이는 방식이 더 현실적입니다. 오늘은 캐릭터 이동, 다음에는 점수, 그다음에는 시간 제한처럼 나누면 부담이 줄어듭니다.

다른 사람이 만든 프로젝트를 열어보는 것도 좋습니다. 스크래치 커뮤니티에는 게임, 애니메이션, 음악 프로젝트가 정말 많습니다. 마음에 드는 작품을 보면 어떤 블록으로 만들었는지 확인할 수 있고, 일부 구조를 응용할 수도 있습니다. 물론 그대로 베끼기보다 ‘이 사람은 점수를 어떻게 처리했지?’처럼 특정 기능을 배우는 식이 좋습니다.

부모님이나 선생님이 옆에서 도와줄 때는 답을 바로 알려주기보다 질문을 던지는 쪽이 낫습니다. 캐릭터가 움직이지 않는다면 “어떤 조건에서 시작해야 할까?”, 점수가 안 오른다면 “언제 1점이 올라가야 할까?”처럼 생각의 순서를 잡아주는 겁니다. 스크래치는 정답을 맞히는 도구가 아니라 직접 실험해보는 도구라서, 조금 돌아가도 스스로 고친 경험이 오래 남습니다.

스크래치를 잘한다는 건 블록을 많이 외웠다는 뜻이 아닙니다. 내가 상상한 장면을 작은 규칙으로 쪼개고, 그 규칙을 차근차근 연결할 수 있다는 뜻에 가깝습니다. 처음에는 고양이 한 마리 움직이는 것만으로도 충분합니다. 거기에 소리 하나, 점수 하나, 배경 하나가 붙다 보면 어느새 꽤 그럴듯한 작품이 됩니다. 그래서 스크래치는 코딩 입문용으로 가볍지만, 생각하는 힘을 키우기에는 생각보다 알찬 도구라고 느낍니다.

초보자를 위한 스크래치 시작하는 방법 - 요약