Skip to content

Week0 발표

Taewon Kim edited this page Nov 1, 2024 · 7 revisions

✍🏻 프로젝트 개요

안녕! 클로바파트라는 음성 기반 발음 게임 프로젝트로 사용자들이 음정, 발음과 관련된 다양한 도전을 통해 즐거움을 느끼고, 실시간으로 소통할 수 있도록 도와주는 서비스입니다.

사용자들은 음성 인식과 텍스트 변환 기술을 체험하고, 게임을 통해 즐거움을 느낄 수 있습니다.

📚 주제 선정 포인트

  • 제한된 기간 안에 구현할 수 있는가
  • 사용자와 함께할 수 있는가
  • 기술적 문제 해결 경험을 제공할 수 있는가

🔎 핵심 기능

🎮 멀티 플레이어 게임

게임 방 만들기

친구랑 게임하고 싶으세요? 걱정하지 마세요. 방을 하나 만들고 링크만 공유하면 상대방이 쉽게 접속할 수 있고, 처음보는 사람과도 같이 게임을 즐길 수 있도록 개설된 방에 들어갈 수도 있습니다. 사용자들은 직접 방을 개설하고, 다른 사람들을 초대해 실시간으로 소통할 수 있습니다. 닉네임을 지정하여 방에 참여하고, 참가자 목록을 통해 현재 방에 있는 모든 사람을 확인할 수 있습니다.

  • 방 개설 및 링크 공유
  • 참가자 닉네임 지정 및 실시간 참가자 목록 조회
  • 음성 기반의 실시간 통화 지원

🎮 안녕! 클로바파트라

음성 스트리밍

상대방의 플레이를 숨죽이고 조용히 듣거나, 에베베~ 방해하며 게임에 직접적으로 영향을 줄 수 있습니다. 상대를 최대한 킹받게하세요!

발음 도전

발음 도전 스테이지는 언제 누가 걸릴지 모릅니다. 목표 문장이 주어지면, 정확하게 발음해야 다음 단계로 진행할 수 있어요. 긴장하세요. 어떤 문장이 나올지 모릅니다.

  • 클로바파트라 게임:

    • 서버 소켓을 통해 사용자별 음성 데이터를 수집하고, 이를 텍스트와 음정으로 변환
  • 게임 로직:

    1. 방 개설 및 참여

      사용자는 방을 개설하거나 다른 사용자가 개설한 방에 참가할 수 있습니다. 방에 2명 이상의 참가자가 모이면 게임을 시작할 수 있습니다.

    2. 게임 시작 및 순서 설정

      게임이 시작되면 참가자 순서는 랜덤으로 지정됩니다. 지정된 순서에 따라 참가자들이 차례로 게임에 도전합니다.

    3. 음성 도전 단계

      참가자는 이전 순서의 사용자보다 높은 음을 내야 성공하며, 실패 시 탈락합니다.

    4. 발음 도전 스테이지

      게임 중간에 발음 도전 스테이지가 등장할 수 있으며, 이 단계에서는 정확하게 제시된 문장을 발음해야 성공입니다. 실패 시 탈락하게 됩니다.

    5. 게임 종료

      도전 과정을 거쳐 최종적으로 한 명의 사용자만 남을 때까지 게임이 계속됩니다. 마지막까지 남은 참가자가 승리합니다.

🏛️ 시스템 아키텍처

asdf drawio (1)

클로바파트라(https://clovapatra.com)

👨‍👩‍👧‍👦 가디자인

image (2)

image (3)

image (4)

✨ 마무리

🚀 향후 계획

  • 안녕? 클로바파트라? 세상에서 제일가는 포테이토칩?
  • 발음 도전 문장
  • 추가 게임

🧡 팀원 소개

스크린샷 2024-10-31 135401


질문 및 피드백

  • 음성인식과 관련해서 혹시 어떻게 구현하실 계획이신지 궁금합니다!

    • 음성의 음계(피치) 분리는 기존의 음성 처리 라이브러리(mediasoup 등) 활용 예정이며
    • 텍스트 인식은 Clova AI의 Speech Recognition API를 활용할 예정입니다.
  • redis 활용방안이 궁금합니다.

    • 현재 생성된 게임방 목록, 게임 진행 관련 데이터 등 정합성이 중요한 데이터를 저장할 예정입니다.
  • 레드햇계열 대신 우분투를 사용한이유?

    • 대부분 RHEL(CentOS, Rocky) 경험이 많지 않고 Ubuntu 사용경험이 많아서 채택했습니다.
  • 팀 이름도 클로바파트라인가용? 게임이 상대를 킹받게 하는게 포인트 같아요. 킹받조는 어떻습니까

    • 팀 이름을 정하지 못해서 플젝명과 동일하게 했습니다. 킹받조도 긍정적으로 검토해보겠습니다.
  • 백엔드 기술 스택이 잘 안보여서 그런데 nest 밑에 세개가 뭔지 궁금합니당 - TypeORM, Websocket, Mediasoup입니다.

    • 프로젝트 현황판에 현재 발표 자료 링크 올려두었습니다! <- 감사합니당
  • 팀원이 3명인가요?? 취뽀?ᄃᄃ

    • 원래 4명이였지만 한 분이 좋은 곳(진짜 좋음)으로 떠나셨습니다.
    • 한 분.. 저도 데리고 가주시지..
  • 자칫 잘못하면 프론트 관점에서 API와 프레임워크를 사용했다로 끝날 수 있을 것 같은데 혹시 프론트앤드 관점에서 기술적으로 도전하시는 요소가 있을까요?

    • 일단 프론트엔드가 저 혼자이기도 하고, 완성도 있는 React 프로젝트 경험이 없어 프로젝트의 완성도와, WebRTC, WebSocket, Web Audio API 등의 API와 프레임워크를 잘 활용하는 것을 목표로 하고 있습니다. 스타일링 관련해서도 shadcn/ui 등 고민해 보고 있는 중입니다.
Clone this wiki locally