본문 바로가기

엔트리(ENTRY)로 만든 게임 - 미로 게임

 

생쥐가 치즈를 먹기 위해 각종 장애물을 지나 미로를 탈출하는 게임

이 게임은 <소프트웨어와 창의적 사고>라는 수업에서 진행한 팀 프로젝트이다. 코딩 교육의 중요성이 커지면서 내가 입학한 이후로 교양필수가 되어버린 수업이다. 이때까지는 내가 코딩을 하게 될 줄 몰랐지(^^)...

 

 

피지컬 컴퓨팅 개념의 도식화

프로젝트에 대해 간단히 설명하자면, 피지컬 컴퓨팅 프로젝트였다. 피지컬 컴퓨팅이란 디지털 기술 및 장비를 이용하여 사용자로부터 물리적인(physical) 방식으로 정보를 입력 받아[Sensors] 처리한 결과를 물리적 방식[Actuators]으로 출력하는 컴퓨팅을 의미한다. 뭔 소린지 잘 모르겠으니 내 프로젝트를 예를 들어 설명해보겠다.

 

노트북에서 엔트리로 코딩을 하고 이를 센서보드와 같은 피지컬 컴퓨팅 도구와 연결한다. 센서 보드에는 소리 센서와 슬라이더 등이 있는데, 소리 센서에 바람을 불 수도 있고 슬라이더를 좌우로 움직일 수도 있다. 이러한 센서로 값을 입력받아 처리한 결과를 노트북 화면에 출력하는 것이다. 게임 진행 과정에서 풍선들 위로 말풍선이 떠 있는데, 말풍선에 있는 숫자는 소리 센서 값이다. 소리 센서 값이 일정 이상을 넘어가면 풍선이 터진다. 이런 식으로 피지컬 컴퓨팅 도구를 이용해 컴퓨터와 상호작용하는 것이다.

 

 

햄스터(좌)와 센서보드(우)

프로젝트를 진행할 당시 하드웨어로 햄스터를 쓸지 센서 보드를 쓸지 결정해야 했다. 보통은 햄스터를 사용하는데 나는 왠지 모르게 햄스터를 쓰기가 싫었다. 햄스터같이 생기지도 않았으면서 이름이 왜 햄스터인지 모르겠고 아무튼 정이 안 갔다. 다행히 팀원도 나랑 비슷한 의견이었다. 해서, 우리는 센서 보드를 선택했다. 

 

 

당시 프로젝트 발표자료 일부. 개인정보 보호를 위해 다른 팀원 정보와 학번은 가렸다!

 

프로젝트 기획 배경


1. 간단한 키 조작으로 할 수 있는 게임

2. 센서보드의 다양한 센서 효과를 이용한 감각적 게임

3. 미로 탈출을 이용한 단순 두뇌 게임

 

이라고 발표하긴 했지만~^^! 당시 나는 슬라이더가 갖고 있는 센서를 최대한 활용해야 해서 센서 중심으로 아이디어를 생각해보았다. 슬라이더를 보면서 떠올린 아이디어가 복권이었다. 슬라이더를 좌우로 움직이는 행위가 뭔가를 긁는 것이랑 비슷해서 복권을 긁으면 어떨까! 했던 것이다. 뿐만 아니라 요리 게임이라 하면 짤주를 크림을 짜는 행위를 슬라이더로 할 수 있을 것 같았다. 소리 센서로는 음성인식, 또는 뭔가를 부는 행위를 할 수 있어 풍선을 부는 건 어떨까? 생각했다. 결국 이를 모두 혼합하여 구상할 수 있는 게임으로 미로게임을 선정했다. 

 

프로젝트 목표 및 내용


1. 센서보드의 소리 센서 활용

- 입김을 불어서 풍선이 터지는가?

 

2. 센서 보드의 슬라이더 활용

-슬라이더를 이용해 복권이 긁히는가?

 

3. 변수, 신호, 함수의 활용

 

프로젝트 구현 내용


장면은 크게 메인화면, 1단계, 2단계, 3단계로 이루어져 있다. 

 

생쥐 오브젝트에 대한 코드

게임에 재미를 더하기 위해 생쥐가 미로나 풍선에 닿을 경우 처음 위치, 즉 상자 위치로 돌아가게 했다.

 

1. 센서보드의 소리 센서 활용

- 입김을 불어서 풍선이 터지는가?

 

풍선 오브젝트에 대한 코드

소리 센서 값이 40보다 크면 풍선이 터지도록 코딩했다. 그리고 게임 단계별로 풍선이 터지는 소리 센서 값의 크기를 40, 50, 60으로 다르게 해서 난이도를 조절했다. 단계가 높아질수록 더 세게 불어야 풍선이 터지는 것이다.

 

2. 센서 보드의 슬라이더 활용

-슬라이더를 이용해 복권이 긁히는가?

복권 오브젝트에 대한 코드

슬라이더 키가 맨 왼쪽에 있을 때 센서 값이 1023이고, 맨 오른쪽에 있을 때 센서 값이 0이다. 슬라이더 키가 맨 오른쪽에 있을 때는 키를 왼쪽으로 움직여야, 맨 왼쪽에 있을 때는 키를 오른쪽으로 움직여야 복권이 긁힌다. 

 

복권 오브젝트에 쓰인 함수

복권에서 나올 수 있는 건 꽝, 풍선을 찌를 수 있는 바늘, 순간이동 3가지뿐이며 랜덤으로 주어진다. 바늘이 주어질 경우 원하는 풍선을 찔러 터뜨려주고 순간이동의 경우 원하는 곳으로 순간 이동할 수 있다. 

 

3. 변수, 신호, 함수의 활용

변수
신호
함수

복권번호를 변수로 지정하여 복권이 랜덤으로 나오게 하고, 신호를 통해 <바늘>과 <순간이동> 등을 구현하고, 반복되는 블록은 함수로 바꿨다. (교수님께서 강조하셨던 부분: 반복은 곧 함수다!)

 

프로젝트 기대 효과


- 소리 센서를 활용하여 기존의 단순한 키조작 게임에서 벗어나 소리를 이용한 감각적인 게임이 가능

- 슬라이더를 활용한 다양한 아이디어가 나올 수 있음 ex) 슬라이더를 움직여 짤주로 크림 짜기

라고 쥐어 짜냈다.. ^^~!

 

프로젝트 한계


발표자료에는 넣지 않았던 한계를 지금 생각해보자면 복권 아이디어는 좋았으나 생쥐가 복권을 긁는 행위가 좀 말이 안 됐다. 그리고 다 불어져 있는 풍선을 불어서 터뜨린다는 게 좀 웃기기도 하고(^^) 당시 학점을 받기 위해 센서 보드의 센서를 잘 활용하려다 보니 스토리텔링에서 좀 부족했던 것 같다. 다음엔 스토리텔링에 좀 더 신경 쓰자!

 

GitHub - leeejihyun/Maze-Game: 생쥐가 치즈를 먹기 위해 미로를 탈출하는 게임

생쥐가 치즈를 먹기 위해 미로를 탈출하는 게임. Contribute to leeejihyun/Maze-Game development by creating an account on GitHub.

github.com