Skip to content
노현진 edited this page Dec 3, 2024 · 12 revisions

MafiaCamp 🕵🏻‍♂️

배포 링크
https://mafiacamp.p-e.kr/



목차


🌱 MafiaCamper 소개

김영현 노현진 심재성 최경수
@0Chord @HyunJinNo @simjaesung @Gyeongsu1997
Back-end Front-end Back-end Back-end

📝 프로젝트 소개

  • 😆 화상 채팅을 통해 온라인으로 마피아 게임에 참여할 수 있게 함
  • 💖 텍스트 외에도 다양한 비언어적 신호를 바탕으로 마피아 게임의 긴장감을 고조
  • 🚃 실시간 투표 및 다양한 직업 별 역할 수행을 통해 새로운 차원의 마피아 게임 경험 제공


💾 주요 기능

소셜 로그인

카카오톡-로그인

  • 사용자는 서비스를 이용하기 위해 로그인을 할 수 있습니다.

관리자 회원가입 및 로그인

관리자-회원가입

  • 관리자 회원가입 및 로그인을 할 수 있습니다.
  • 로그인 페이지에서 ctrl + .을 같이 누르면 로그인페이지에서 관리자 페이지로 갈 수 있습니다.

온라인 상태 표시

온라인 상태 유저

  • 사용자들은 실시간으로 현재 온라인 상태인 유저의 수와 명단을 확인할 수 있습니다.
  • 현재 게임에 참여중인 사용자와 그렇지 않은 사용자를 구분해 표시합니다.

게임방 개설 및 참가

방만들기

  • 사용자는 게임 방을 개설할 수 있습니다.
  • 로비에서는 실시간으로 개설된 방 목록을 조회할 수 있고 참가하기 버튼을 눌러서 방에 입장할 수 있습니다.

직업 별 임무 수행

직업 정보

  • 게임 참여자에게는 시민, 경찰, 의사, 마피아로 구성된 네 가지 직업 중 하나가 부여됩니다.
  • 게임 참여자는 자신에게 부여된 직업에 따라 정해진 임무를 수행하며 승리를 위해 투쟁합니다.
    • 마피아: 시민을 제거할 대상을 선택합니다.
    • 의사: 특정 시민을 보호할 수 있습니다.
    • 경찰: 플레이어의 정체를 조사할 수 있습니다.

채팅 기능

채팅모습

  • 사용자들은 게임이 시작하기 전과 게임이 진행되는 동안 방에 있는 사람들과 채팅으로 대화를 나눌 수 있습니다.

마피아 전용 채팅

마피아_채팅

  • 마피아 멤버들에게는 마피아끼리만 대화할 수 있는 비밀 채팅방이 부여됩니다.
  • 마피아 팀원 간 전략을 논의하고 시민을 속이는 계획을 세울 수 있습니다.
  • 비밀스러운 소통을 통해 게임의 긴장감을 더합니다.

1차 투표

1차 투표

  • 토론 후 마피아로 의심되는 사람에게 투표하는 첫 번째 단계입니다.
  • 동률일 경우 최종 변론으로 넘어가며, 시민팀과 마피아팀 간의 긴장감이 고조됩니다.

최종 변론

최종 변론

  • 게임 말미에 각 플레이어가 자신이 마피아가 아님을 증명할 기회를 가집니다.
  • 최종 변론은 플레이어들의 심리전을 극대화하며, 팀 승리를 위한 중요한 순간입니다.

최종 투표

최종 투표

  • 최종 변론 이후 플레이어들은 투표를 통해 최종적으로 마피아를 추리합니다.
  • 투표 결과에 따라 게임의 승리 팀이 결정됩니다.

마피아 임무 수행

마피아

  • 마피아 팀은 밤 시간 동안 시민들 중 한 명을 제거할 대상을 선정합니다.
  • 마피아 간의 협력이 게임 승패를 좌우하는 중요한 요소입니다.
  • 해당 인원이 의사에게 보호받지 못할 시, 아침 시간에 게임에서 탈락하게 됩니다.

최종 결과

최종결과

  • 게임의 승리 조건에 따라 시민팀 또는 마피아팀의 승리 여부를 발표합니다.
  • 게임 결과는 모든 플레이어에게 실시간으로 공유됩니다.


🏗️ 아키텍처

아키텍처



📚 기술스택

분류 기술 스택
공통
FE Zustand
BE
Database
Infrastructure
Collabortation Tools

📞 커뮤니케이션은 이렇게!

  • 슬랙 읽었으면 반응하기
  • 슬랙 팀 채팅방 알림 필수 켜기
  • 언급 당하면 꼭 답해주기
  • 언급하기 전에 시간 한번 보기
  • 코어타임 내 점심시간(12시 ~ 13시) 제외 1시간 이내 응답

💻 개발은 이렇게!

  • 하루 개발 시작 전 오늘 할 태스크 공유하기
  • 개발 마무리 단계 오늘 완료한 태스크 공유하기
  • Daily 개발 일지를 작성하여 개발상황 기록하기
    • 오늘 작업 내용, 어려움 등을 공유 환영!
  • Sprint 계획은 1주 단위로 실행
  • PR 올린거 3명이 전부 코드 리뷰 후 Merge 하기
  • 맨 처음 올라온 PR부터 코드 리뷰 후 Merge 하기
  • 미리 정해둔 Convention 따르기
  • 주 1회 그룹 리뷰 시간과 같이, 학습한 내용 또는 구현 과정에서의 어려움과 해결 과정 등을 공유하는 시간 가지기
  • 최대한 코어 타임을 준수하기
    • 그 외 시간에도 작업이 필요하면 하지만 그것을 당연하게 강요하는 분위기 만들지 않기

MafiaCamp

📔소개
🎯프로젝트 규칙
💻프로젝트 기획
🍀기술 스택
📚그룹 회고
🌈개발 일지
🍀문제 해결 경험
🔧트러블 슈팅
Clone this wiki locally