이번에 2학기 사회 시간에 사회 문제와 관련하여 팀 프로젝트 게임 개발을 시작하게 되었습니다.
원래는 다른 친구들처럼 한 주마다 글을 작성하며 개발을 할 생각이었으나, 어느새 시간이 다 지나 있었습니다.
그래서 제출을 완료한 기념으로 설명글 겸 느낀 점 등등을 작성할 예정입니다.
저희 게임은 건강하고 행복한 삶 보장을 반영하여 게임을 만들기로 하였습니다.
가장 먼저 떠오른 것은 현재 늘어나는 스마트폰 보급률과 함께 증가하는 피싱 문제였습니다.
그리고 피싱 메시지가 위험하다는 것을 알리기 위해서 게임을 제작하게 되었습니다.
다운로드 링크 : https://drive.google.com/drive/folders/1rqHFQIUzd3uMB_kzNnZouyBjRvJqcCsW
간단 시연 영상 링크 : https://youtu.be/a8-3gnP_hMw
프로젝트 설명
| 게임명 | I hear your Message |
| 게임 장르 | 포인트 앤 클리커 |
| 시점 | 2D |
| 개발 엔진 | Unity, C# |
| 팀원 | 개발 3명 |
| 조작 방식 | 마우스 좌클릭으로 행동을 할 수 있습니다. 설정창 : ESC |
| 목적 | I hear your Message는 2050년 기술의 발전으로 폭증한 피싱 범죄를 막기 위해 국영 기업에 입사해 피싱을 5일간 막아내는 게임입니다. |
| 설명 | 여러 메시지들과 전화들이 날아오게 됩니다. 플레이어는 여러 사람과 대화를 대신 나눈 뒤, 각 대화 마지막에 피싱으로 의심된다면 스팸 버튼을, 아니라면 정상 버튼을 누르면 됩니다. 이에 따라 메시지가 스팸이 맞았다면, 혹은 정상 메시지가 맞았다면, 우측의 기여도가 상승하게 됩니다. 하루에 총 메시지, 피싱을 7개 판단하게 되면 이 기여도에 따라 하루의 스토리가 달라지게 됩니다. 만약 하루가 종료될 때 Worst 등급을 받게 되면, 그 즉시 게임은 종료됩니다. |
| 특징 | 여러 실제 사례를 기반으로 메시지와 전화 피싱을 작성하였으며, 실제로 피해 사례도 있었던 메시지가 포함되어 있습니다. 저는 이를 기반으로 판단력을 기를 수 있다고 생각합니다. |
| 래퍼런스 게임 | That's Not My Neighbor - 이 게임은 정보를 확인하고 비교하며 여러 사람들 중 진짜 이웃을 판별하여 들여보내는 게임입니다. 이 점이 마음에 들어 이쪽으로 기획을 잡았으며, 이 과정에서 피싱 범죄를 막아내라는 게임을 만들자! 라는 구체적인 기획이 나오게 되었습니다. |
| 수상 | 사회 프로젝트 - 장려상 |
메인타이틀 화면

타이틀 화면입니다.
게임 제목이 있고, 버튼이 3개가 있습니다.
각각 게임 시작, 사운드 설정, 게임 종료입니다.
개인적으로 게임 시작과 종료는 콘셉트에 맞게 각각 출근하기, 퇴근하기로 작성하였으나 설정은 따로 다른 말로 못 바꾼 것이 아쉽다고 느껴집니다.
프롤로그

게임을 시작했을 때 만약 게임을 처음 플레이하면, 프롤로그가 뜨게 됩니다.
이 프롤로그를 스킵 여부와 상관없이 한 번이라도 보게 된다면 엔딩을 볼 때까지는 프롤로그가 다시 뜨지 않습니다.
이 프롤로그에서 저희 게임의 콘셉트를 어느 정도 알 수 있습니다.
가운데에 텍스트로 프롤로그가 나오게 되며, 우측 상단의 넘어가기 버튼을 통해 프롤로그를 넘길 수 있습니다.
게임의 메인 화면

배경은 사용자의 배경화면에 따라 바뀝니다.
전화 모양을 먼저 누르면, 현재 진행 중인, 판단이 완료된 모든 메시지를 확인할 수 있습니다.
우측 하단에 메시지가 뜨는 것을 클릭하게 되면, 실시간으로 갱신이 됩니다.
유튜브 버튼은 게임의 시연 영상으로 넘어가게 됩니다.
드라이브 버튼은 게임의 다운로드 링크로 넘어가게 됩니다. 안에 설명서도 적혀 있으니, 한 번씩 확인 바랍니다.
마지막 가장 밑의 전원 버튼입니다. 게임을 즉시 종료하거나 로비로 나갈 수 있습니다.
이 모든 내용은 아이콘에 마우스를 올려두면 설명 툴팁이 뜨게 됩니다.
우측 상단의 날짜 표시입니다.
우측의 슬라이더는 기여도 표시입니다. 스팸인 것을 맞추거나 정상 메시지 판단을 성공하게 되면, 기여도가 상승하고 이에 따라 하루 결과 표시 때 스토리가 조금씩 달라지게 됩니다.
하지만 Worst 등급, 즉 기여도가 낮다면, 그 즉시 게임은 종료되니 조심하시길 바랍니다.
메시지, 전화 피싱 창

게임 화면 우측 하단에 나올 메시지 창입니다.
메시지의 번호와 아이콘, 프리뷰 메시지가 나타나며, 이 디자인은 pc 카카오톡의 알림을 참고했습니다.
메시지를 클릭하면 내용을 확인하고 대화를 진행할 수 있습니다.
대화창

상단에 이름이 뜨게 됩니다.
X 버튼을 눌러 이 대화 창을 종료할 수 있습니다.
상대가 메시지를 보내오며, 여러 대화를 진행할 수 있습니다.
만약 위 예제처럼 대답하는 경우가 없다면 바로 판단을 진행하게 되며, 아니라면 선택지가 뜨게 됩니다.
판별 성공 여부에 따라 안내 메시지가 뜨게 됩니다. 성공을 하면 기여도가 오르며, 실패 시 깎이게 됩니다.



전화 피싱 창입니다.
감청을 시작하면 목소리가 들리며, 대화 내용을 듣고, 피싱으로 의심되면 피싱 버튼, 아니라면 그냥 종료를 하시면 됩니다.

성공하면 기여도가 차게 되며, 우측의 내용은 현재 기여도 값과 간단하게 현재 등급을 나타냅니다.
Worst는 해골, Fail은 침묵, Normal은 평범, Success는 웃음, Perfect는 행복 느낌의 아이콘이 나타납니다.
결과창

Day는 7개의 메시지, 피싱들을 처리하면 넘어가게 됩니다.
몇 메시지를 해결했는지 뜨게 되며, 성공 수, 실패 수가 나타나게 됩니다.
X 버튼을 누르면 현재 등급에 따라 스토리가 뜨게 됩니다.
"오늘 하루는 무사하지 않았다"라는 문구는 기여도의 값이 50을 넘어가면 긍정적인 부분으로 바뀌며, 50 아래라면 부정적인 메시지가 뜨게 됩니다.
결과 스토리

X를 눌러 결과 창을 종료하면, 스토리가 나옵니다.
이때 날짜가 넘어가고 기여도가 초기화됩니다.
여러 스토리가 있으니 보는 재미가 있습니다.
엔딩 스토리

일자가 모두 마무리되거나, 해고를 당하게 되면 엔딩 스토리가 나오게 됩니다.
엔딩 역시 스킵할 수 있습니다.
엔딩은 종료 시 등급에 따라 긍정적, 부정적 스토리 2가지로 나뉘게 됩니다.
긍정적 스토리 2개, 부정적 스토리 2개로 총 4가지 중 한 가지가 나오게 됩니다.
마무리 창

스토리가 끝나면 다시 시작할지, 게임을 종료할지 선택할 수 있습니다.
종료 시, 이전에 하던 내용은 모두 사라지며, 게임을 처음부터 다시 시작할 수 있습니다.
마무리
약 한 달간 진행한 사회 플젝이 마무리되었습니다.
원래 기간은 방학을 포함한 두 달 이였으나, 방학 동안 놀랍게도 아무도 기획 이야기를 꺼내지 않아 방학이 끝나고 진행하게 되었습니다. 저도 방학 때 수업 듣는 것 말고는 거의 놀았기 때문에 프로젝트의 완성도가 떨어지는 것 같아 매우 아쉽다고 생각합니다.
아쉬운 점
그리고 프로젝트를 진행하면서 아쉬운 점이 있었습니다.
저희 게임은 컴퓨터를 통해 게임이 진행되는데, 콘셉트에 맞게 시작, 종료 등을 맞추려 했으나 설정이나 그 외 부분에서 콘셉트에 맞지 않게 작성된 점이 있어 디테일이 살짝 아쉽습니다.
개발적인 부분으로 가자면
한 번 이야기했지만, 방학에 전혀 진행된 점이 없어 제출 시 완성도가 매우 떨어진 점입니다. 원래는 현재보다 메시지가 훨씬 많아야 게임이 재밌는 부분이 생기는데, 현재는 메시지가 약 40 몇 개 + 보이스 피싱 11개 정도가 끝이라 아쉽습니다.
이렇게 되니 분량에도 살짝 문제가 생기게 되었습니다. 하루에 처리할 메시지가 처음에는 적었다가 게임이 진행될수록 더 많아지거나 전보다 자주 메시지가 오게 된다면 1일 차 보다 긴장감이 늘어나게 되니 더욱 재밌을 것 같으나 이 점이 반영되지 않아 아쉽습니다.
또한 완성된 프로젝트 코드들을 보니 아쉬운 부분들이 보이기 시작했습니다. 예시로는 UI 부분에서 인터페이스로 묶을 만한 부분이 있는데 급하게 개발하느라 못한 점이 있습니다. 앞으로는 아무리 급해도 이 부분들도 신경 써서 개발할 수 있도록 더 노력하도록 하겠습니다.
대신 프로젝트를 진행하면서 배운 점, 느낀 점도 많았습니다.
사용한 것
저는 이 프로젝트를 진행하면서 메시지 부분, 게임의 전반적인 시스템을 모두 맡아 개발 팀장 격 역할을 맡게 되었습니다.
이 과정에서 저는 더욱 효율적인 코드 구조를 만들기 위해 노력하였으며, 저장 시스템을 위해 학교 수업 중 네트워크 시간에 배운 DTO를 사용해 보았습니다.
DTO는 Data Transfer Object, 즉 데이터 전송 객체입니다. 프로세스 간에 데이터를 전달하는 객체를 의미합니다.
네트워크 수업 시간에서는 DTO를 사용하여 간단한 서버를 만들고, 유저의 정보를 보내는 것을 배웠습니다.
저는 이 점을 기억하여 DTO를 사용해 최대한 쉽고 구조를 잘 짜도록 해보았습니다.
Save는 Json을 사용하여 만들었으며, 제네릭을 사용하여 세이브 시스템 사용 시, 쉽게 사용할 수 있도록 개발했습니다.
배운 점 / 느낀 점
전보다 훨씬 많은 부분에서 개발을 맡았으며 대부분의 기능을 만들었기에 힘든 점도 있었지만, 이 프로젝트 진행 과정에서 매우 재밌었습니다. 팀장은 아니었으나 팀장이 해야 하는 일인 일 분배, 시간 분배 등을 맡기도 하였으며, 개발의 대부분을 제가 진행했습니다. 팀원들 중 한 명은 보이스 피싱을 맡았으며 한 명은 모든 스토리 작성, 보고서 작성, 메시지 작성을 맡아주어 편했습니다.
그 과정에서 팀원들과 어떻게 소통해야 오해 없이 프로젝트가 잘 진행될지 깨닫게 되었습니다.
당연한 이야기이긴 하지만, 항상 경청하고 말은 끝까지 들어야 한다는 점이 중요한 것 같습니다.
저는 프로젝트를 진행하면서 항상 마무리 단계가 아쉽다는 것을 느끼고 다시 한번 배웠습니다. 그리고 다른 친구들의 프로젝트 진행을 보니 오래 걸린다고 하더라도 구조를 최대한 잘 짜려 노력하고 구조에 대한 기본적인 이해가 잘 되어 있었습니다.
항상 앞으로 미래의 기획만 이야기하는 것 같지만, 더욱더 노력하여 구조를 꿰고 있을 수 있게 공부하겠습니다.
+ 진짜 공부 많이 하고 정리도 꼭 하겠습니다....
'Unity' 카테고리의 다른 글
| 2025년도 2학기 게임엔진 응용 팀 프로젝트 설명글 (0) | 2025.11.08 |
|---|---|
| 방학 개인 프로젝트 개발 일지 - 5주차 (4) | 2025.08.09 |
| 방학 개인 프로젝트 개발 일지 - 4주차 (5) | 2025.08.03 |
| 방학 개인 프로젝트 개발 일지 - 3주차 (2) | 2025.07.26 |
| 방학 개인 프로젝트 개발 일지 - 2주차 (0) | 2025.07.19 |