2019년 6월, 고등학교 졸업 전시회를 준비하면서 친구와 함께 2인 팀을 꾸려 게임 개발 프로젝트를 진행하게 되었다.
우리의 전시 주제는 "오즈의 마법사"를 기반으로 한 인터랙티브 미니게임이었다.
기획 의도
스토리는 원작을 기반으로 하되, **"게임적 해석"**을 더해 다음과 같이 구성했다:
- 주인공 오즈가 모험을 하며
- 사자, 깡통 로봇, 허수아비를 차례로 만나고
- 각 캐릭터의 상징적인 요소를 미니게임 클리어를 통해 얻는 구조
캐릭터 | 게임 캐릭터로 얻는 아이템 |
사자 | 용기 |
깡통 | 사랑할 수 있는 마음 (심장) |
허수아비 | 지혜 (뇌) |
즉, 단순한 진행형 스토리가 아닌, 사용자의 행동(게임 성공)으로 다음 단계가 해금되도록 구성한 선형+도전형 스토리텔링 구조라고 볼 수 있다.
구현 기능 요약
- Unity를 활용한 2D / 3D 미니게임 제작
- 기념사진 촬영 기능
- 웹캠 + 캐릭터 합성 사진을 PNG로 저장
- 이메일 발송 시스템
- 게임 후기 + 기념사진 자동 전송
- 파이어베이스 연동
- 실시간 순위판 (Scoreboard) 구현
전시회 현장에서는 방문자가 직접 키오스크 형태의 PC에서 게임을 플레이할 수 있도록 구성했다.
각 게임을 클리어할 때마다 성취감 있는 애니메이션과 사운드를 제공했고, 마지막에 본인의 얼굴과 캐릭터가 함께 나오는 기념사진을 받을 수 있다는 점에서 생각보다 많은 학생들이 흥미롭게 체험했다.
---
게임 화면 구성
- 첫 화면
사용자가 플레이어 이름을 입력할 수 있다.
간단한 인트로 애니메이션과 함께 게임 시작 버튼이 제공된다. - 플레이 화면
각 캐릭터별로 진행되는 미니게임들은 Unity의 다양한 유틸리티와 에셋들을 활용하여 구성했다.
기획의도에 맞게 플레이 타임은 짧고 직관적으로 설계했다. - 게임 완료 후 기념사진 촬영
가장 기억에 남는 기능 중 하나다. 유니티 내에서 사용자의 웹캠과 게임 캐릭터 이미지를 동시에 합성하여 하나의 PNG로 렌더링해주는 작업이 필요했는데, 당시 기준으론 꽤 복잡한 트릭이 필요했다. - 이메일 발송 기능
플레이어가 남긴 후기를 포함해, 사진과 게임 설명을 담은 메일을 자동 전송하는 기능을 넣었다.
Firebase Functions를 활용한 서버리스 방식으로 처리했다. - 실시간 순위판
Firebase Realtime Database를 활용해 점수를 등록하고 실시간으로 TOP 점수를 보여주는 구조였다.
1. 첫화면
-- 플레이 화면
캐릭터와 배경들은 유니티에서 제공해주는 유틸리티를 이용했다.
---게임 실행영상
어려웠던 점
- 첫 게임 개발 프로젝트였기에 전체 흐름을 기획하는 것 자체가 어려웠다.
- 특히나 웹캠을 활용한 이미지 합성 및 저장 기능은 Unity 기본 기능으로는 처리할 수 없어 여러 라이브러리를 조합해야 했다.
- Firebase를 활용한 데이터 연동이나 이메일 발송도 생소했지만, 오히려 이를 통해 풀스택적인 감각을 체험할 수 있었던 좋은 기회였다.
이 프로젝트를 통해 유니티 기초, Firebase 실습, 그리고 팀 프로젝트 협업의 중요성을 온몸으로 느낄 수 있었다.
졸업 전시라는 짧은 기간 속에서 직접 기획하고 구현하고 테스트하며, 개발의 전 과정을 경험한 값진 기회였다.
지금 다시 돌아봐도, 완성도가 부족하긴 해도 도전의 의미는 충분했던 프로젝트였다.
'프로젝트 ' 카테고리의 다른 글
#4 [REACT.JS] 엑셀 데이터 기반 드래그앤드랍 명함 편집 기능 구현기 (0) | 2023.01.28 |
---|---|
#4 [REACT.JS] 사진 불러오기, 엑셀 읽어오기 (0) | 2021.11.22 |
#3 기본 레이아웃 구성 및 팝업 생성 (0) | 2021.11.21 |
#2 기본 버튼 컴포넌트 만들기 (0) | 2021.11.20 |
#1 기획단계 및 UI 작업 (0) | 2021.11.19 |