스티브코딩

살아남기 게임

모루·지뢰·좀비·용암을 반복과 랜덤으로 쏟아내는 생존 미니게임 만들기

활동2026-10-20 갱신

한눈에 보기

  • 무엇: 하늘에서 떨어지는 모루, 땅속 지뢰, 몰려오는 좀비, 차오르는 용암을 코드로 만들어 놓고 끝까지 버티는 미니게임
  • 누구: 반복·랜덤 위치·블록 채우기를 써 본 초등 고학년~중학생
  • 몇 분: 게임 하나에 40분 1차시(만들기 20분 + 플레이·난이도 조절 20분)
  • 결과물: 교사 한 명이 채팅 명령을 실행하면 반 전체가 함께 도전하는 생존 게임
  • 게임의 공통 뼈대(시작 설정·점수·타이머)는 「미니게임 만들기」 페이지
메이크코드 #58 모루 피하기 썸네일
메이크코드 #58 모루 피하기 썸네일

살아남기 게임의 공통 뼈대

장치 하는 일 쓰는 블록
위험이 실제로 통하게 서바이벌 모드, 난이도 '평화로움' 아님, 좀비는 밤 게임 모드 변경, 난이도 설정, 시간 설정
경기장 위쪽에 바닥을 깔고 그 안에서만 위험이 생기게 블록 채우기, 텔레포트(위로)
위험 쏟아내기 반복 안에서 랜덤 위치에 모루·TNT·몬스터 반복, 랜덤 위치 선택, 블록 놓기, 몹 소환
숨 돌릴 시간 한꺼번에 쏟아지지 않게 쉬기·준비 시간 일시중지(ms)
아웃 처리 영역을 벗어나거나 용암에 닿으면 이동·탈락 만약 + 블록 탐지, 텔레포트, 게임 모드 변경
- **난이도 손잡이**: 반복 횟수(위험 개수), 랜덤 범위(피할 공간), 일시중지(쉬는 시간) 세 가지 숫자

[활동 안내] 모루 피하기

  • 모루는 떨어지는 블록이라 맞으면 큰 피해(영상에서는 한 방). '블록 놓기'로 높은 곳에 놓으면 떨어짐
  • 반복 겹치기: 안쪽 30번 × 바깥 5번 = 150개, 30개마다 4초 쉬기
  • 영역: 내 발밑에 금 블록 11×11칸(-55)을 깔고, 반복할 때마다 발밑이 잔디(영역 밖)면 위로 텔레포트 → 떨어져 벌칙
  • 범위를 넓히면 피할 곳이 많아 쉬움, 좁히면 어려움. 높이를 40~50처럼 범위로 주면 떨어지는 때가 제각각
  • 변형(「모루닭 #마크게임제작실험실」): 선생님 다섯 명이 라운드마다 끝까지 살아남기. 마지막 라운드엔 모루와 함께 닭을 떨어뜨려 헷갈리게
채팅 명령 "1"
  게임 모드 변경: 서바이벌, 모든 플레이어(@a)
  블록 채우기: 금 블록, ~-5 ~-1 ~-5 부터 ~5 ~-1 ~5, 교체하기
  반복 5회
    반복 30회
      모루를 랜덤 위치(~-5 ~40 ~-5 ~ ~5 ~50 ~5)에 놓기
      만약 블록 탐지(잔디, ~0 ~-1 ~0) 이면 다음 좌표로 텔레포트 ~0 ~50 ~0
    일시 중지 4000 ms
① 모루 피하기 코드: 반복 겹치기와 영역 벗어남 판정 (06:43)
① 모루 피하기 코드: 반복 겹치기와 영역 벗어남 판정 (06:43)
② 금 블록 영역 위에서 시작 (05:50)
② 금 블록 영역 위에서 시작 (05:50)

[활동 안내] 지뢰 지대 통과

  • 땅속에 TNT 100개를 랜덤으로 깔아 5초 동안 보여 준 뒤 벽돌과 압력판으로 덮기. 위치를 기억해 출발점(잔디)에서 도착점(잔디)까지
  • 쌓는 순서: 잔디 바닥 → TNT → 벽돌 → 압력판. 압력판만 덮으면 TNT가 보여서 벽돌로 먼저 덮음
  • TNT는 플레이어보다 2칸 아래에. 더 깊으면 압력판 신호가 닿지 않음(「메이크코드 #43」)
  • 변형: 걷거나 달리면 위로 텔레포트 → 웅크린 채로만 이동. TNT를 150·200개로 늘려 난이도 올리기
채팅 명령 "시작"
  난이도 설정하기: 어려움
  다음 좌표로 텔레포트 ~0 ~20 ~0
  잔디를 ~0 ~-1 ~0 에 놓기(출발), ~36 ~-1 ~36 에 놓기(도착)
  블록 채우기: 잔디, ~1 ~-3 ~1 부터 ~35 ~-2 ~35
  반복 100회: TNT를 랜덤 위치(~1 ~-2 ~1 ~ ~35 ~-2 ~35)에 놓기
  일시 중지 5000 ms
  블록 채우기: 벽돌, ~1 ~-1 ~1 부터 ~35 ~-1 ~35
  블록 채우기: 압력판, ~1 ~0 ~1 부터 ~35 ~0 ~35
플레이어가 걷고 있으면 실행: 다음 좌표로 텔레포트 ~0 ~5 ~0
플레이어가 달리고 있으면 실행: 다음 좌표로 텔레포트 ~0 ~5 ~0
① 지뢰 지대 코드와 걷기·달리기 벌칙 (05:19)
① 지뢰 지대 코드와 걷기·달리기 벌칙 (05:19)
② 5초 동안 보이는 TNT 위치 (03:48)
② 5초 동안 보이는 TNT 위치 (03:48)
③ 벽돌과 압력판으로 덮인 지뢰 지대 (04:13)
③ 벽돌과 압력판으로 덮인 지뢰 지대 (04:13)

[활동 안내] 좀비 서바이벌: 발밑이 용암으로

  • 공중 잔디 경기장(50×50)에 밤이 되고 좀비 20마리. 시작하면 내 발밑이 계속 용암으로 바뀌어 멈추면 빠짐 → Ctrl 키를 누른 채 달리며 버티기
  • 좀비를 용암 쪽으로 유인해 빠뜨리는 것도 작전. 조작이 서툰 학생의 WASD·달리기 연습용으로도 좋음(「메이크코드 #41」)
  • 변형: 좀비 → 좀벌레(빠르고 어려움), 스켈레톤 + 다이아몬드 검 지급. 경기장을 줄이면 소환 범위도 같이 줄이기
  • 용암 바로 위 1칸을 공기로 비우는 이유: 용암이 깊어 보이고, 뛸 때 용암이 넘쳐 흐르지 않게(#41 코드: 발밑 둘째·셋째 칸 ~0 ~-2 ~0, ~0 ~-3 ~0은 용암, 바로 아래 ~0 ~-1 ~0은 공기 — 영상 5:16, 이유 설명 5:38)
채팅 명령 "시작"
  다음 좌표로 텔레포트 ~0 ~10 ~0
  블록 채우기: 잔디, ~0 ~-1 ~0 부터 ~50 ~-5 ~50
  난이도 설정하기: 기본 / 시간 설정: 밤
  반복 20회: 소환 몬스터(좀비), 랜덤 위치 ~0 ~0 ~0 ~ ~50 ~0 ~50
  채팅창에 말하기 "곧 게임이 시작합니다. 준비하세요."
  일시 중지 5000 ms
  반복 300회: 블록 채우기(용암, 플레이어 발밑)
① 좀비 서바이벌 코드 (02:41)
① 좀비 서바이벌 코드 (02:41)
② 밤, 발밑이 사라지는 경기장에서 달리기 (03:44)
② 밤, 발밑이 사라지는 경기장에서 달리기 (03:44)

[활동 안내] 라바런: 위에서 내려오는 용암

  • 높은 탑 꼭대기에서 출발해, 위에서 한 층씩 차오르는 용암을 피해 바닥까지 먼저 내려가기. 학생이 만든 게임과 월드(「메이크코드 #65」)
  • while 반복: '용암' 변수(시작 높이 79로 설명)가 3보다 큰 동안 그 높이 층을 용암으로 채우고 1씩 내리고 0.5초 쉬기. 쉬는 시간을 늘리면 쉬워짐
  • 아웃: 무한반복으로 머리 위 용암을 탐지하면 대기 장소로 텔레포트 + 크리에이티브(탈락). 시작 때 clear @a, 효과 제거, 재생 효과로 공평하게
  • 실험실 플레이(「라바런 #마크게임제작실험실」): 판마다 용암 속도를 바꾸고, 랜덤 플레이어에게 멀미·실명. 바닥에 내려와 탈출 버튼을 눌러야 끝
(시작 코드 뒷부분)
  일시중지 5000 ms
  반복(while) 3 < 용암 인 동안
    블록 채우기: 용암, 월드 (11, 용암, 30) 부터 (-11, 용암, 28), 유지하기
    용암 값 -1 증가
    일시중지 500 ms
  메시지 보여주기: 모든 플레이어, "게임끝"
  다음 블록으로 교체: 용암 → 공기, 월드 (-11, 80, 28) 부터 (11, 5, 30)
  다음 치트키 실행: "tp @a -2 4 19"
무한반복: 만약 블록 탐지(용암, ~0 ~1 ~0) 이면 텔레포트 월드 (-2, 4, 19), 게임 모드 크리에이티브(@s)
① 라바런 탑 (00:43)
① 라바런 탑 (00:43)
② while 반복으로 한 층씩 용암 채우기 (05:00)
② while 반복으로 한 층씩 용암 채우기 (05:00)
③ 용암 제거 명령과 머리 위 용암 탐지 (02:51)
③ 용암 제거 명령과 머리 위 용암 탐지 (02:51)

[활동 안내] 좀비디펜스: 주민을 지켜라

  • 좀비에게 공격받은 주민은 좀비가 됨 → 1분 동안 주민 10명을 지키는 협동 게임. 탱커(몸으로 어그로)·원거리 공격으로 역할 나누기(「메이크코드 #83」)
  • "0" 게임장: index 0~3 반복으로 원(반지름 10)을 한 층씩 공기로 파 내려가고, 테두리는 바다 랜턴(밤에도 보이게)
  • "1 숫자" 소환: 입력한 숫자(num1)만큼 좀비 소환 = 난이도. 영상은 8, 혼자면 5. 성공하면 숫자를 늘려 다시
  • 좌표는 월드(절대) 좌표라 플레이어가 어디 있든 같은 곳에. 60초 뒤 몬스터를 없애고 낮으로. 서바이벌·평지 맵 추천
채팅 명령 "1" (num1)
  시간 설정: 밤 / 난이도 설정하기: 기본
  반복 10회: 소환 동물(주민), 월드 (-174, 4, -221)
  채팅창에 말하기 "좀비로부터 주민을 지키세요. 3초 뒤에 좀비가 소환됩니다."
  일시중지 3000 ms
  채팅창에 말하기 "좀비가 소환되었습니다. 1분동안 주민을 지키세요."
  반복 num1 회: 소환 몬스터(좀비), 월드 (-174, 4, -221)
  일시중지 60000 ms
  죽이기: 모든 몬스터(좀비) / 시간 설정: 낮
① 게임장(index 반복)과 소환 코드 (06:50)
① 게임장(index 반복)과 소환 코드 (06:50)
② 원 모양으로 파 내려간 게임장 (06:04)
② 원 모양으로 파 내려간 게임장 (06:04)

더 많은 살아남기 게임

게임 규칙 배우는 코딩 개념 영상
어둠 속의 추락 유리 바닥을 깨서 상대를 떨어뜨리기. 시작 아이템 2개(횃불·곡괭이로 보임), 10초마다 랜덤 플레이어에게 성급함·실명 등 효과. 좀비·좀벌레·크리퍼 소환, PvP 참으로 규칙을 바꿔 가며 밸런스 맞추기 블록 채우기(외곽선·층), 랜덤 플레이어(@r) 효과, 규칙 실험 [어둠 속에서 살아남기](https://youtu.be/4j1oRkCAL-k?t=373)
복불복 소환게임 밤에 머리 위에서 몬스터 4종·동물 1종 중 무작위로 떨어짐. 5초마다 소환 배열(0번부터), 랜덤 0~4, 함수 '소환명령' [#28 복불복 소환게임](https://youtu.be/s_AXOUkKgF4?t=581) (배열과 리스트 페이지와 함께)
범버맨 크레이지 아케이드처럼 TNT를 놓아 상대를 맞히기. 3초에 한 번 설치, 맵 블록은 부서지지 않음, 죽은 횟수를 점수판으로 쿨타임·점수판 같은 규칙 설계(제작 코드는 영상에 없음) [범버맨 #마크게임제작실험실](https://youtu.be/ZLM1cY0K9aY?t=43)

수업 팁

  • 한 명만 실행: 코드는 교사(호스트) 한 명이 실행하고 학생은 접속해 플레이. 학생은 멤버 권한·서바이벌로
  • 실패해도 다시: 용암·추락으로 죽으면 소지품이 사라지니 소지품 유지 규칙을 켜 두거나, 시작 때 아이템을 다시 주기
  • 밸런스 기록: 한 판 끝날 때마다 "너무 쉬움·적당·너무 어려움"을 적고 숫자 하나만 바꿔 다시 하기(어둠 속의 추락 영상 방식, 제안)
  • 정리 코드 준비: 남은 몬스터 죽이기, 용암을 공기로 교체하는 명령을 따로 만들어 두면 다음 판이 빨라짐
  • 예전 버전: 영상(2018~2020)은 코드 커넥션 창. 지금은 C키로 코드작성기를 열어 같은 블록을 씀

관련 영상

관련 공식 자료

함께 보기

출처

  • 유튜브 「[마크게임제작무따기] 14장. 지뢰 지대를 통과하자」(2018-07-12)