초보자가 스크래치로 첫 게임 만드는 방법

얼마 전 초등학생 조카가 스크래치로 고양이를 움직이다가 갑자기 “이거 게임도 만들 수 있어?”라고 묻더라고요. 사실 스크래치는 처음엔 블록을 끼워 맞추는 장난감처럼 보이지만, 조금만 익숙해지면 점수판, 장애물, 배경 전환까지 꽤 그럴듯한 작품을 만들 수 있습니다.
처음부터 멋진 게임을 만들려고 하면 금방 막힙니다. 그래서 시작은 작게 잡는 게 좋아요. 예를 들어 캐릭터가 좌우로 움직이고, 떨어지는 물건을 받으면 점수가 1점씩 올라가는 게임이면 충분합니다. 이 정도만 만들어도 스크래치의 기본 구조를 거의 다 경험하게 됩니다.
스크래치를 처음 시작할 때 잡아야 할 기준
스크래치는 코드를 글자로 쓰는 대신 블록을 조립하는 방식입니다. 그래서 초보자는 문법 오류 때문에 고생할 일이 적습니다. 대신 “어떤 일이 일어나면, 무엇을 할지”를 순서대로 생각하는 힘이 중요합니다.
가장 먼저 익히면 좋은 블록은 세 가지입니다. 시작 블록, 움직임 블록, 조건 블록입니다. 초록 깃발을 눌렀을 때 시작하고, 방향키를 눌렀을 때 움직이고, 어떤 물체에 닿았을 때 점수가 오르는 흐름만 알아도 간단한 게임 하나는 만들 수 있습니다.
- 시작: 초록 깃발을 클릭했을 때
- 조작: 오른쪽 화살표 키를 눌렀을 때 x좌표를 10만큼 바꾸기
- 규칙: 캐릭터가 아이템에 닿으면 점수 1 올리기
- 반복: 게임이 끝날 때까지 계속 실행하기
여기서 중요한 건 블록 이름을 외우는 일이 아닙니다. 화면 안에서 어떤 일이 벌어지는지 상상하고, 그 행동을 블록으로 바꾸는 감각입니다. 익숙해지면 “점수가 10점이 되면 배경을 바꾼다” 같은 생각도 자연스럽게 떠오릅니다.
첫 작품은 ‘받아먹기 게임’이 가장 쉽습니다
처음 만드는 게임으로는 받아먹기 게임이 무난합니다. 조작할 캐릭터 하나, 위에서 떨어지는 아이템 하나, 점수 변수 하나만 있으면 됩니다. 만들 재료가 적어서 실패해도 어디가 문제인지 찾기 쉽습니다.
기본 구성
캐릭터는 화면 아래쪽에 두고, 아이템은 화면 위쪽에서 아래로 떨어지게 만듭니다. 플레이어가 방향키로 캐릭터를 움직여 아이템을 받으면 점수가 올라갑니다. 만약 아이템이 바닥에 닿으면 다시 위로 올라가게 만들면 됩니다.
숫자로 생각하면 더 쉽습니다. 캐릭터의 y좌표는 -140 정도, 아이템의 시작 y좌표는 170 정도로 두면 화면 구조가 안정적입니다. 아이템은 0.05초마다 y좌표를 -5씩 바꾸면 적당한 속도로 떨어집니다. 너무 빠르면 초보자가 테스트하기 어렵고, 너무 느리면 지루해집니다.
- 캐릭터 위치: 화면 아래쪽
- 아이템 위치: 화면 위쪽에서 무작위 x좌표
- 점수 규칙: 닿으면 1점 추가
- 재시작 규칙: 아이템을 받거나 놓치면 다시 위에서 등장
이렇게 만들면 게임의 뼈대가 생깁니다. 화려한 효과음이나 배경은 나중에 넣어도 됩니다. 처음부터 꾸미기에 시간을 많이 쓰면 정작 동작 원리를 놓치기 쉽거든요.
막히는 지점은 대부분 비슷합니다
스크래치를 처음 만지는 분들이 자주 막히는 부분이 있습니다. 첫 번째는 좌표입니다. x좌표는 왼쪽과 오른쪽, y좌표는 아래와 위를 뜻합니다. 화면 가운데는 x 0, y 0입니다. 오른쪽으로 갈수록 x가 커지고, 위로 갈수록 y가 커진다고 생각하면 됩니다.
두 번째는 반복 블록입니다. “계속 반복하기”를 써야 캐릭터가 계속 움직이고, 아이템도 계속 떨어집니다. 블록을 한 번만 실행하면 화면에서는 아주 짧게 움직이고 끝나기 때문에, 만든 사람이 보기엔 작동하지 않는 것처럼 느껴질 수 있습니다.
세 번째는 변수입니다. 점수판을 만들려면 ‘점수’라는 변수를 하나 만들고, 게임을 시작할 때 0으로 바꿔야 합니다. 이 과정을 빼먹으면 이전 점수가 남아서 새 게임인데도 7점, 12점처럼 이상하게 시작될 수 있습니다.
문제가 생겼을 때 확인할 것
- 초록 깃발을 눌렀을 때 시작 블록이 연결되어 있는지 보기
- 캐릭터와 아이템에 각각 필요한 블록이 들어갔는지 확인하기
- 반복 블록 안에 움직임 블록이 들어 있는지 보기
- 점수 변수가 시작할 때 0으로 바뀌는지 확인하기
- 아이템이 화면 밖으로 나간 뒤 다시 위로 올라오는지 보기
솔직히 초보 단계에서는 버그가 생기는 게 정상입니다. 오히려 블록을 하나씩 꺼보고 다시 붙이는 과정에서 훨씬 빨리 늡니다. 글자 코딩보다 부담이 덜한 것도 스크래치의 장점입니다.
작품을 더 재미있게 만드는 방법
기본 게임이 움직이면 그다음부터는 재미를 더할 차례입니다. 가장 쉬운 방법은 난이도를 조금씩 올리는 겁니다. 예를 들어 점수가 5점이 넘으면 아이템 속도를 빠르게 하고, 10점이 넘으면 장애물을 하나 추가할 수 있습니다.
배경을 바꾸는 것도 효과가 큽니다. 같은 게임이라도 1단계는 운동장, 2단계는 우주, 3단계는 바닷속처럼 배경을 바꾸면 훨씬 완성도 있어 보입니다. 효과음은 짧게 넣는 편이 좋습니다. 아이템을 받을 때마다 너무 긴 소리가 나면 게임 흐름이 끊깁니다.
- 5점마다 속도 올리기
- 장애물에 닿으면 점수 1점 줄이기
- 10점이 되면 배경 바꾸기
- 제한 시간을 30초로 두기
- 게임이 끝나면 최고 점수 보여주기
여기서 욕심을 조금만 조절하면 좋습니다. 기능을 10개 넣은 어수선한 게임보다, 규칙 2~3개가 분명한 게임이 더 오래 가지고 놀기 좋습니다. 특히 아이와 함께 만든다면 “왜 재미있는지”를 같이 이야기해보는 시간이 꽤 괜찮습니다.
꾸준히 배우려면 작품을 남기는 게 좋습니다
스크래치는 배울수록 결과물이 눈에 바로 보입니다. 그래서 작은 작품을 여러 개 만들어두면 실력이 쌓이는 느낌이 선명합니다. 첫날에는 캐릭터 움직이기, 둘째 날에는 점수 넣기, 셋째 날에는 장애물 추가하기처럼 나누면 부담도 줄어듭니다.
실제로 30분짜리 연습을 5번만 해도 만들 수 있는 범위가 꽤 넓어집니다. 퀴즈, 미로, 클릭 게임, 피하기 게임, 간단한 애니메이션까지 이어갈 수 있습니다. 중요한 건 완벽한 작품보다 끝까지 실행되는 작품을 하나 남기는 일입니다.
처음 만든 스크래치 게임은 어딘가 삐뚤고 단순할 수 있습니다. 그런데 그 안에는 방향키, 좌표, 조건, 반복, 변수 같은 코딩의 기본 재료가 다 들어 있습니다. 그래서 스크래치는 어린이용 도구라기보다, 생각을 화면에서 움직이게 만드는 꽤 좋은 출발점에 가깝다고 느낍니다.
