[이달의 싸피 2024.02] 배틀 퍼즐게임 PuzzlePop🧩 프로젝트 회고

라니·2024년 2월 29일
0

SSAFYcial

목록 보기
14/16
post-thumbnail

본 포스팅은 SSAFYcial 10기로서 포스팅하는 개인적인 견해임을 밝힙니다. 😄

지난 2024년 1월 8일부터 2월 16일까지 총 6주동안 기획부터 설계, 개발, 발표까지 했던 싸피 2학기 첫 프로젝트! PuzzlePop를 성공적으로 마쳤습니다!! 👏👏

오늘은 6주동안의 회고를 KPT 방식으로 진행해보려고 합니다.

0. PuzzlePop은 어떤 프로젝트?


온라인으로 공격/버프/방어 아이템을 사용하여 퍼즐을 맞추고,
상대방과 대결까지 할 수 있는 서비스입니다🧩

프로젝트 기능

  • 협동 퍼즐 게임 서비스
    • WebRTC, WebSocket과 퍼즐을 결합하여 팀원과 퍼즐판을 공유하고 소통하며 오프라인처럼 즐길 수 있습니다.
    • 버프 아이템 효과, 콤보 효과
  • 배틀 퍼즐 게임 서비스
    • WebRTC, WebSocket과 퍼즐을 결합하여 팀원과 퍼즐판을 공유하고 소통하며 오프라인처럼 즐길 수 있습니다.
    • 공격/버프/방어 아이템 효과, 콤보 효과 등 보다 더 다이나믹한 효과!
    • 상대팀의 퍼즐 진행률을 실시간으로 확인하고 아이템으로 상대방을 공격 또는 상대방의 공격을 방어할 수 있습니다.
  • 친구 관련 기능
    • 친구와 채팅을 할 수 있습니다.
    • 유저를 검색하고 친구 추가를 할 수 있습니다.
  • 랭킹
    • 게임 타입 별 승률, 승리 횟수 등 다양한 랭킹을 조회할 수 있습니다.

Keep👍

1. 프로젝트에 온힘을 다해 몰입하기

지난 6주간 설 연휴를 포함해서도 쉬지않고 프로젝트를 위해 달렸습니다. 웹 게임이라는 특성상 프론트엔드가 할일이 많았었는데, 이를 하나씩 해결할때마다 성취감이 생기고, 그 성취감을 바탕으로 더 열심히 몰입할 수 있었습니다.

2. "쓸데없는 소통은 없다!"

저희팀의 첫주, 부트캠프 기간동안 정했던 그라운드 룰 중 마인드 셋에 관한 문장입니다. 저희 팀은 소통이 최우선이라고 생각하여 아무리 사소한 것이라도 관련자들과, 팀장님과 소통하며 프로젝트를 진행했습니다. 그 덕분에 6주동안 좋은 분위기하에, 팀원들 모두 같은 생각으로 합쳐지면서 프로젝트를 만들어낼 수 있었습니다.

3. 어렵다고, 어떻게 해야할지 모르겠다고 겁먹지말고 "일단 하자! 하면 된다!"

사실 프로젝트 초반에는 사진을 퍼즐의 피스모양으로 어떻게 자르지? 어떻게 정답을 판별하지? 정답일땐 어떻게 붙이지? 등의 어떻게 해결해야할지 감이 잘 안잡히는 문제들이 있었습니다. 하지만 그때마다 움츠러있는 것이 아니라 하나라도 더 검색해보고, 적용해본 것이 많은 도움이 됐고, 결국 완성할 수 있었다고 생각합니다.

Problem😿

1. 역할분담에 대한 아쉬움

저희 팀은 프론트엔드2, 백엔드4로 이루어진 팀이었습니다. 그 중에서도 백엔드는 한 명이 게임로직을, 다른 세분이 API만들기, 인프라 등의 역할로 분담되었었는데요. 아무래도 "게임" 프로젝트이다보니 게임 엔진을 우선시 했었어야했는데 게임엔진 쪽 스케일이 이렇게까지 커질 줄 모르고 역할분담을 한명 밖에 안했다는 점이 아쉽습니다. 물론 각자의 자리에서 모두 최선을 다해서 게임을 완성할 수 있었지만, 최적화나 동시성문제를 완전하게 해결하지 못했다는 점이 너무 아쉽습니다.

2. 우선순위에 밀려 구현을 못한 중요기능에 대한 아쉬움

기획 단계에선 배틀 모드에 상대 화면을 볼 수 있는 기능이 있었습니다. 이를 처음에는 openvidu의 화면공유로 간단하게 상대방의 화면을 공유하도록 기능구현방향을 정했었습니다. 하지만 공유하기전에 어떤 탭을, 어떤 창을, 어떤 화면을 공유할 것인지 사용자에게 선택을 하게 해야했습니다. 그래서 사용자가 공유를 하지 않거나, 퍼즐팝의 게임 화면이 아닌 다른 화면을 공유한다면 의도한 대로 서비스가 되지 않기때문에 일단 우선순위를 미루고 게임의 완성도를 높인 후 생각하기로 결론을 지었습니다. 하지만 게임의 중요한 요소인 "박진감"을 높이기 위해서는 진행률 bar로 끝낼것이 아니라 상대방의 화면이 거의 필수로 필요하다는걸 프로젝트 거의 막바지에 깨닿게 되어서 너무 아쉬웠습니다.

Try🧐

1. 역할에 대한 스케일 측정의 중요성 알기

특히 접해보지 못한 기술을 사용하거나 처음 접해보는 도메인의 경우에는 스케일을 측정하기에 어려움이 있을것입니다. 그럴땐 주위의 선배님들이나 상사분들, 또는 온라인 커뮤니티에 조언을 구해보는것이 좋을 것 같습니다.

2. 싸피의 프로젝트 기간 끝 !== 프로젝트 수명 끝

사실 싸피에서의 프로젝트는 6주라는 정해진 기간 내에 결과물을 만들어내야하기 때문에 생각한 기능들을 다 구현하지 못하는것이 어쩌면 당연하다고 생각합니다. 하지만 싸피에서의 프로젝트 끝이 우리 프로젝트의 끝이 아니므로 차근차근히 refactoring하면서 기능을 추가하고 서비스 자체를 디벨롭해 좋은 서비스, 재미있는 게임을 만들어내고 싶습니다.

profile
강아지를 좋아합니다🐶

0개의 댓글