프롤로그 - 특화 프로젝트를 시작하며
최근까지 하던 공통 프로젝트를 마무리하고 드디어 2학기의 특화 프로젝트를 시작하게 되었다. 공통 프로젝트가 끝나갈 무렵 특화 프로젝트를 위해 팀원들을 구하는 주변 싸피생들이 보였고 그때 나도 특화 팀에 대해 고민하게 되었다. 사실 이번 프로젝트에서는 백엔드 개발자를 지망하는 사람으로써 프론트엔드는 가급적이면 하고 싶지 않았다. 그래서 많은 팀들을 고심해서 둘러 보았는데 보통 싸피에서는 전공자들이 주로 백엔드를 맡는데 솔직히 말해서 아직 Java도 제대로 모르고 spring도 모르는 나의 입장에서는 백엔드를 희망하는 전공자 사이에서 백엔드를 하고 싶다는 의견을 쉽사리 내지 못할뿐더러 의견을 낸다고 해도 팀을 위해 기각당할 확률이 높았기 때문에 최대한 백엔드를 맡을 확률이 높은 팀을 찾아다녔고 그 중 메타버스 게임 팀에서 백엔드 개발자를 필요로 했고 게임 프로젝트 특성상 spring 백엔드가 구현할 기능들이 많지는 않았기 때문에 메타버스 게임 팀에 들어가는 것을 결정하게 되었다.
본론 - 싸피 2학기 특화 프로젝트 (Dropzone)
싸피생들끼리 친목을 위해 제작한 6인 배틀로얄 게임.
8월 26일 ~ 10월 11일
싸피 2학기에는 총 3번의 프로젝트를 진행하는데 친한 사람들하고 팀을 짜는 경우도 있지만 그렇지 않은 경우가 있는데 그럴때 어색한 팀원들과 친해지기 위해 다양한 컨텐츠를 생각하는 팀장들이 있다는 것을 알게 됨.
싸피에서 어색한 팀원들 또는 일상 생활에서 어색한 사람들과 친목도모를 위해 게임을 제작하여 제공하면 어떨까해서 기획을 하게 되었고 다양한 게임 장르들을 생각하다가 팀원들과 상의한 결과 6인 배틀로얄 게임을 기획하게 되었으며 즉, 목적으로는 싸피의 팀장들이 팀원들과 좀 더 친목도모를 수월하게 할 수 있도록 게임 컨텐츠를 제공하는 것이다.
Unity
, Photon pun2
Spring boot
, Spring security
mySQL
, mongoDB
AmazoneEC2
, Docker
, Jenkins
, NGINX
JIRA
Gitlab
, PlasticSCM
황준(팀장 - 클라이언트), 김동준(팀원 - 클라이언트), 손동희(팀원 - 클라이언트), 박재영(팀원 - 클라이언트, 서버), 차상곤(팀원 - 서버), 김헌규(팀원 - 서버)
6명의 플레이어가 참여하는 배틀 로얄 게임으로, 최후의 1인이 남을 때까지 싸우고 생존하는 것이 목표이다.
일정 시간마다 맵이 떨어지면서 맵이 랜덤한 한 점으로 점점 줄어들게 된다. 각 플레이어는 점점 좁아지는 맵에서 생존하기 위해 떨어지는 구역을 피하며 싸워야 한다.
게임에는 4명의 캐릭터가 등장한다. 근접 캐릭터 2명, 원거리 캐릭터 2명으로 구성하였는데 근접 캐릭터로는 복서와 펑크 캐릭터가 있으며 원거리 캐릭터로는 솔저, 아처가 있다. 복서 캐릭터는 이름 그대로 복서의 외형을 갖춘 캐릭터이며 체력 110, 공격력 5, 스피드 7, 스킬 쿨타임 7의 스펙을 갖추고 있다. 스킬로는 슈퍼아머를 가지고 있으며 모든 상태이상을 해제할 수 있는 스킬을 가지고 있다. 펑크 캐릭터는 방망이를 든 불량배의 외형을 갖추고 있으며 체력 120, 공격력 15, 스피드 6, 스킬쿨타임 5의 스펙을 갖추고 있다. 스킬로는 방망이를 크게 휘둘러 적을 밀치며 밀쳐지는 적이 벽에 부딪히면 기절 상태에 빠진다. 솔저 캐릭터는 군인의 외형을 갖춘 캐릭터이며 체력 100, 공격력 10, 이동속도 5, 스킬 쿨타임 5의 스펙을 갖추고 있다. 스킬로는 플레이어와 오브젝트들을 관통하는 관통탄을 쏜다. 아처 캐릭터는 마치 툼레이더의 캐릭터와 닮은 외형을 갖추고 있으며 체력 100, 공격력 15, 스피드 5, 스킬 쿨타임은 6의 스펙을 갖추고 있다. 스킬로는 차징샷을 쏜다.
본게임에 들어가기 전, 5단계로 구성된 미니 게임을 플레이하게 된다. 각 스테이지에는 총 4개의 포탈이 배치되어 있으며, 다른 유저들보다 빠르게 포탈을 이용해 다음 스테이지로 이동해야 한다. 가장 먼저 5스테이지에 도달한 플레이어는 본게임에서 사용할 수 있는 아이템을 보상으로 받는다.
결론
이번에 게임 프로젝트에 참여를 하였는데 웹 개발자를 지망하는 만큼 특화 프로젝트에서 다른 도메인들에 비해서는 별로 영양가는 없는 도메인이지만 이제껏 한 프로젝트 중에서는 개발 도중에 가장 재미있었고 팀 분위기도 제일 좋았던 프로젝트여서 정말 만족스러웠다.
또한 Java, Spring, Spring STOMP, Docker, Jenkins, nginx에 대해서 학습을 하면서 백엔드에서는 간단하게 나마 배포까지 구축할 수 있을 만큼 역량을 성장 시킬 수 있어서 얻을 것도 많았고 단순히 기능 구현을 넘어서, 처음 접하는 기술들을 학습하고 이를 실질적으로 프로젝트에 적용하는 과정에서 배우는 재미와 성취감을 느꼈다. 간단한 규모의 프로젝트였지만, 개발 중 겪은 어려움을 해결하고 팀과 함께 결과물을 만들어냈다는 점에서 매우 보람 있었다.
이번 프로젝트는 단순히 기술적으로 성장한 것뿐만 아니라 개발자로서의 즐거움과 협업의 중요성을 깨닫게 해준 값진 경험이었다. 앞으로도 이번 프로젝트를 통해 얻은 배움과 동기부여를 바탕으로, 더욱 깊이 있는 역량을 갖춘 웹 개발자가 되기 위해 노력하겠으며 이번에 즐겁게 같이 프로젝트를 진행한 팀원들에게 고생했다고 한마디 남기겠다.