떨어지는 영단어를 그대로 쳐서 박살 내세요.
세 번 놓치면 끝납니다.
단어가 부서질 때 무슨 일이 일어나는가
SMASH TYPING은 떨어지는 영단어를 쳐서 박살 내는 타자 게임입니다. 설치도 가입도 없고, 외부 이미지나 사운드 파일도 쓰지 않습니다. 아래에서 이 게임을 만든 이유와 플레이 방법, 그리고 타격감을 만들어 내는 장치들을 정리했습니다.
01이 게임을 만든 이유
타자 게임은 이미 세상에 많습니다. 그런데 대부분 한 번 해 보고 닫게 됩니다. 이유를 오래 생각해 봤는데, 단어가 그냥 사라지기 때문이더군요. 힘들게 쳐서 맞혔는데 글자가 조용히 없어지면, 맞힌 게 아니라 지운 것 같습니다. 성취가 손에 남지 않습니다.
게임을 만드는 사람들은 이걸 게임 필(Game Feel) 또는 타격감이라고 부릅니다. 재미있는 규칙과는 별개의 문제입니다. 규칙이 아무리 좋아도 버튼을 눌렀을 때 손끝에 아무 반응이 없으면 재미가 전달되지 않고, 반대로 규칙이 단순해도 반응이 시원하면 계속하게 됩니다. 그래서 이 게임은 규칙을 최대한 단순하게 두고, 부서지는 순간에만 공을 들였습니다. 단어를 맞히면 무엇이 일어나는가, 사실상 그것만 만든 게임입니다.
제약도 있었습니다. 블로그 글 본문에 그대로 들어가야 했기 때문에 무거우면 안 됐습니다. 게임 엔진도, 이미지 파일도, 효과음 파일도 쓸 수 없었습니다. 그래서 파티클은 전부 도형으로 그리고, 소리는 브라우저가 파형을 직접 만들어 내게 했습니다. 결과적으로 불러오는 외부 파일이 한 개도 없습니다. 페이지가 뜨는 순간 이미 다 준비되어 있습니다.
덕분에 데이터를 쓰지 않고, 광고나 결제 유도도 없고, 기록을 서버에 보내지도 않습니다. 심심할 때 잠깐 들어와 손가락을 풀고 나가는 정도의 물건입니다. 다만 그 잠깐 동안은 확실히 부수는 맛이 있기를 바라며 만들었습니다.
02플레이 방법 3단계
규칙은 세 줄이면 끝납니다. 키보드만 있으면 바로 시작할 수 있습니다.
게임 시작 누르기
게임 시작을 누르면 입력창에 자동으로 커서가 들어갑니다. 따로 클릭할 필요 없이 바로 치면 됩니다.
휴대폰이라면 이때 키보드가 올라옵니다. 중간에 키보드가 내려가면 게임 화면을 한 번 터치하면 다시 올라옵니다.
떨어지는 단어 치기
화면 위에서 영단어가 내려옵니다. 그중 하나를 골라 보이는 그대로 입력하세요. 치는 동안 일치하는 단어의 친 만큼이 금색으로 물듭니다.
지금 터뜨릴 단어에는 모서리 조준 표시가 붙습니다. 제대로 조준됐는지 눈으로 확인하고 발사하면 됩니다.
Enter로 박살 내기
단어를 다 쳤으면 Enter 또는 Space를 누릅니다. 맞으면 그 자리에서 터지고, 틀리면 입력창이 붉게 흔들리며 콤보가 끊깁니다.
단어가 화면 맨 아래 붉은 선에 닿으면 라이프가 하나 줄어듭니다. 세 번 놓치면 게임이 끝납니다. 중간에 지우고 싶으면 Esc를 누르세요.
03부서질 때 동시에 터지는 다섯 가지
단어 하나를 맞히면 0.1초 안에 다섯 가지가 한꺼번에 일어납니다. 하나씩 떼어 놓으면 별것 아닌데, 겹쳐야 비로소 부서지는 느낌이 납니다.
시간이 잠깐 멈춥니다
맞히는 순간 0.075초 동안 게임 전체가 정지합니다. 파티클도 낙하도 전부 멈춥니다. 격투 게임에서 주먹이 꽂힐 때 화면이 한 박자 멎는 것과 같은 장치이고, 이 바닥에서는 히트스톱이라고 부릅니다.
눈에 보이지도 않는 짧은 시간이지만, 이걸 빼면 아무리 화려하게 터뜨려도 손맛이 물컹해집니다. 실제로 이 게임에서 가장 큰 차이를 만든 한 줄입니다. 콤보가 쌓이면 정지 시간도 조금씩 길어집니다.
단어가 자기 글자로 쪼개집니다
파편만 흩뿌리는 게 아니라, 단어를 이루던 글자 하나하나가 그대로 튀어 나갑니다. 각 글자는 단어 중심에서 멀수록 더 세게 튕겨 나가고, 회전하면서 떨어집니다.
여기에 작은 사각 파편 서른여덟 개 이상과 직선으로 뻗는 스파크가 겹칩니다. 콤보가 높을수록 파편 수가 늘어납니다.
파편에 진짜 물리가 걸립니다
파편은 사라질 때까지 중력을 받아 아래로 가속하고, 공기 저항으로 조금씩 느려지며, 바닥에 닿으면 튕겼다가 다시 떨어집니다. 두 번 튕긴 뒤에는 바닥을 구르며 멈춥니다. 좌우 벽에도 부딪혀 튕깁니다.
포물선을 그리며 우수수 쏟아지는 모양이 나오는 건 이 때문입니다. 미리 그려 둔 애니메이션이 아니라 매 프레임 계산한 결과입니다.
화면이 덜덜 떨리고 하얗게 번쩍입니다
화면 흔들림은 충격량을 쌓아 두고 시간에 따라 줄여 나가는 방식인데, 실제 흔들림은 그 값을 제곱해서 씁니다. 그래야 처음엔 격렬하고 끝은 부드럽게 잦아듭니다. 위아래 좌우 이동에 미세한 회전까지 섞어 두었습니다.
동시에 화면 전체가 아주 짧게 흰색으로 번쩍였다가 곧바로 원래 색으로 돌아옵니다. 어두운 배경이라 이 한순간의 대비가 특히 세게 들어옵니다.
소리가 콤보에 따라 높아집니다
효과음 파일을 하나도 쓰지 않았습니다. 대신 브라우저가 파형을 그때그때 만들어 소리를 냅니다. 사각파와 삼각파를 겹치고, 잡음을 좁은 대역으로 걸러 유리 깨지는 소리를 흉내 냈습니다.
재미있는 부분은 여기입니다. 콤보가 오를수록 타격음의 음높이가 같이 올라갑니다. 눈으로 숫자를 안 봐도 지금 잘 가고 있다는 게 귀로 먼저 들립니다. 오른쪽 위 스피커 버튼으로 켜고 끌 수 있습니다.
04점수와 레벨 규칙
점수는 단어 길이와 콤보 두 가지로 정해집니다. 규칙을 알고 치면 같은 실력에서도 점수가 크게 달라집니다.
| 기본 점수 | 단어 글자 수 × 10점. 여섯 글자 단어는 60점부터 시작합니다. |
|---|---|
| 콤보 배수 | 연속으로 맞힐수록 커지며 최대 4배까지 올라갑니다. 콤보 3부터 화면에 배수가 크게 표시됩니다. |
| 콤보가 끊기는 경우 | 없는 단어를 입력했을 때, 또는 단어를 바닥까지 놓쳤을 때. 두 경우 모두 즉시 0으로 돌아갑니다. |
| 레벨업 | 단어를 10개 부술 때마다 레벨이 오릅니다. 화면에 레벨 표시가 뜨고 짧은 팡파레가 울립니다. |
| 레벨이 오르면 | 단어가 더 빨리 떨어지고 더 자주 생성됩니다. 한 번에 최대 일곱 개까지 화면에 뜹니다. |
| 라이프 | 3개. 단어가 화면 아래 붉은 선에 닿을 때마다 하나씩 줄어듭니다. |
| 게임 종료 | 라이프가 모두 소진되면 점수 · 최대 콤보 · 레벨 · 부순 단어 수가 정리되어 나옵니다. |
05점수를 올리는 요령
빨리 치는 것만이 답은 아닙니다. 실제로 점수 차이를 만드는 건 다음 쪽입니다.
- 콤보가 전부입니다. 기본 점수는 글자 수에 비례해 얌전히 오르지만, 콤보 배수는 최대 4배까지 곱해집니다. 빨리 많이 치는 것보다 한 번도 안 끊는 것이 훨씬 큽니다.
- 확신이 없으면 Enter를 치지 마세요. 틀린 입력은 그 자체로 콤보를 날립니다. 애매하면 Esc로 비우고 다른 단어를 노리는 편이 이득입니다.
- 긴 단어가 더 비쌉니다. 글자 수에 그대로 비례하므로, 여유가 있을 때는 짧은 단어보다 긴 단어를 먼저 처리하는 쪽이 점수가 큽니다.
- 붉게 변한 단어부터 치세요. 바닥에 가까워지면 글자가 붉어지고 밑줄이 생깁니다. 그건 곧 라이프가 깎인다는 경고입니다. 점수보다 생존이 먼저입니다.
- 첫 글자로 고르세요. 새 단어는 화면에 이미 떠 있는 단어와 첫 글자가 겹치지 않도록 다시 뽑습니다. 그래서 대개 한 글자만 쳐도 어느 단어가 조준됐는지 바로 보입니다. 전체를 읽고 시작하지 말고 첫 글자를 친 뒤 조준 표시를 보고 이어 치세요.
- 금색으로 물드는 걸 보고 치세요. 오타가 나면 그 순간 색이 안 따라옵니다. 화면을 보면서 치면 Enter를 누르기 전에 알아챌 수 있습니다.
- 소리를 켜세요. 콤보가 오를수록 타격음이 높아집니다. 숫자를 확인하러 시선을 옮기지 않아도 되니 실제로 기록이 올라갑니다.
- 레벨 6을 넘기면 발상을 바꾸세요. 그때부터는 모든 단어를 처리할 수 없습니다. 가장 아래 것만 확실히 끊어 내며 라이프를 지키는 쪽이 오래 삽니다.
06한눈에 보는 정보
| 장르 | 영문 타자 · 아케이드 |
|---|---|
| 조작 | 키보드 A-Z 입력 · Enter 또는 Space 발사 · Esc 입력 비우기 |
| 단어 사전 | 영단어 36개 · 네 글자에서 아홉 글자 |
| 구현 | HTML5 Canvas · 순수 자바스크립트 · CSS. 게임 엔진이나 라이브러리를 쓰지 않습니다 |
| 외부 파일 | 0개 · 이미지 · 폰트 · 효과음 모두 불러오지 않습니다 |
| 소리 | 브라우저가 실시간으로 합성 · 스피커 버튼으로 끄고 켜기 |
| 기록 저장 | 없음 · 새로고침하면 처음부터 시작합니다 |
| 데이터 전송 | 없음 · 점수와 입력이 서버로 가지 않습니다 |
| 이용 조건 | 회원가입 · 앱 설치 · 결제 없음 |
07자주 묻는 질문
휴대폰에서도 할 수 있나요?
됩니다. 게임 시작을 누르면 입력창에 자동으로 커서가 들어가 키보드가 올라옵니다. 화면이 좁으면 글자 크기가 자동으로 줄어듭니다. 다만 물리 키보드보다는 아무래도 느리니, 기록을 노리신다면 데스크톱을 권합니다.
소리가 안 나요.
브라우저는 이용자가 화면을 한 번 건드리기 전까지 소리를 막습니다. 게임 시작 버튼을 누른 뒤부터 소리가 납니다. 그래도 안 들리면 오른쪽 위 스피커 버튼이 꺼짐 상태인지, 기기가 무음 모드인지 확인해 주세요.
한글이 입력되지 않습니다.
영문 전용 게임이라 영문자만 받도록 되어 있습니다. 한영 전환 키를 눌러 영문 상태로 바꿔 주세요. 한글이나 숫자를 쳐도 입력창에 들어가지 않고 자동으로 걸러집니다.
단어를 다 쳤는데 안 터져요.
입력만으로는 터지지 않고 Enter나 Space를 눌러야 발사됩니다. 화면에서 그 단어가 전부 금색으로 물들었는지 확인해 보세요. 한 글자라도 다르면 색이 따라오지 않습니다.
기록이 저장되나요?
저장되지 않습니다. 점수는 게임이 끝날 때 화면에 보여 줄 뿐 기기에도 서버에도 남기지 않습니다. 남기고 싶으시면 게임오버 화면의 결과 복사를 눌러 메모장이나 메신저에 붙여넣으세요.
화면이 흔들려서 어지럽습니다.
기기나 브라우저에서 동작 줄이기 설정을 켜 두시면 화면 흔들림과 일부 연출이 자동으로 꺼집니다. 아이폰은 손쉬운 사용, 윈도우는 접근성 설정에서 바꿀 수 있습니다. 게임 진행 자체는 그대로입니다.
너무 어렵습니다. 쉬운 모드는 없나요?
난이도 선택은 따로 없고 레벨이 오르며 자연히 빨라지는 구조입니다. 처음에는 레벨 3에서 4 사이를 넘기기 어려운 게 보통이니, 모든 단어를 잡으려 하지 말고 아래쪽부터 확실히 끊는 연습을 먼저 해 보세요.
이용에 앞서 알아 두실 점
개인정보 · 이 게임은 점수와 입력 내용을 서버로 전송하거나 저장하지 않습니다. 회원가입이나 개인정보 입력을 요구하지 않으며, 외부 파일을 불러오지도 않습니다.
접근성 · 기기의 동작 줄이기 설정을 켜 두면 화면 흔들림과 일부 연출이 자동으로 꺼집니다. 빛 번쩍임에 민감하신 분은 이 설정을 켜고 이용해 주세요.
이용 · 개인적으로 즐기고 공유하는 것은 자유입니다. 다만 이 게임의 코드나 결과물을 판매하는 등 상업적 용도로는 이용할 수 없습니다.