Skip to content

yunjaeeun/game_planet

Repository files navigation

GAME PLANET

나만의 커스텀을 통해 여러 사람들과 함께 게임을 즐겨보자 !

📋 목차

  1. 프로젝트 소개
  2. 기술 스택
  3. 시작 가이드
  4. 아키텍처
  5. 주요 기능
  6. 프로젝트 진행 과정
  7. 팀원 소개
  8. 느낀 점

프로젝트 소개

💡 기획 배경

  • 보드게임이나 게임 특성상 최소 2인부터 많게는 6인까지 하게 되는데, 사람을 모으기 힘들다는 어려움과 실제로 만나서 플레이할 장소를 구해야 한다는 시간적 공간적 제약이 있었습니다.

  • 또한, 게임을 하려면 직접 구매하거나 보드게임 카페에 가서 돈을 내고 해야 한다는 아쉬움이 있었습니다.

  • 또한 컨텐츠의 소모성이 심해서 한 두번하면 질리는 경우가 잦았습니다.

  • 저희는 이러한 불편한 점과 문제점들을 해결하고자 웹 게임 서비스를 기획하게 되었습니다.

🎯 서비스 목표

  • 커뮤니티 기능을 통해서 해당 게임에 대한 정보를 얻고, 리뷰를 통해서 게임에 대한 사람들의 개인적인 의견들을 볼 수 있어서 게임에 대한 꿀팁을 얻거나 취향에 맞는 게임을 선택하는데 도움을 줄 수 있습니다.

  • 게임의 커스텀 기능을 통해서 사용자가 원하는 게임의 테마나 디자인을 할 수 있어서 하나의 게임을 하더라도 질리지 않고 사람들과 꾸준히 즐길 수 있도록 합니다.

  • 실제로 존재하는 게임들과 최대한 유사하게 제작하여 기존 게임을 이용하던 사용자들이 룰을 익히는데 시간이 들지 않도록 하여 접근성을 최대화 했고, 때문에 보다 몰입도 높은 게임을 즐길 수 있습니다.

  • 청정한 게임 환경을 위해서 AI 욕설 감지 프로그램을 동작하여 사용자들의 폭언과 욕설을 스스로 잡아내어 관리자에게 보내줍니다.

⏰ 개발 기간

2025.01.06 ~ 2025.02.21 (6주)

📌 주요 기능

  • 게임 커스텀

    게임 요소를 직접 제작하고 수정할 수 있도록 지원합니다. 관리자 심사 기능을 통해 유저에게 안전한 콘텐츠를 제공합니다.
  • 게임 플레이

    캐치마인드/부루마불 게임을 제공합니다. 플레이어 신고 기능을 통해 부적절한 유저를 제재할 수 있습니다. 화상 채팅 및 레벨·점수 제도를 도입해, 게임에 더욱 몰입할 수 있는 환경을 조성합니다.
  • AI 욕설 탐지

    화상 채팅 중 부적절한 언행을 AI가 즉시 감지하여 제재를 적용합니다.

🛠️ SKILLS

분야 기술 스택 구현 기능
Frontend • React • 컴포넌트 기반 UI 개발
• SPA(Single Page Application) 구현
• Redux • 전역 상태 관리
• 사용자 정보, 게임 상태 관리
• Tailwind • UI 스타일링
• 반응형 디자인 구현
• Styled-component • 컴포넌트별 스타일 관리
• 동적 스타일링
• Three.js • 3D 게임 그래픽 구현
• 3D 모델링 렌더링
• Canvas API • 2D 그림 그리기기 구현
• 실시간 그림 화면 공유
• Socket.io • 실시간 게임 통신
• 채팅 기능 구현
• WebRTC • 실시간 음성/영상 통신
• P2P 연결 구현
Backend • SpringBoot • RESTful API 서버 구축
• 비즈니스 로직 처리
• MySQL • 사용자 데이터 관리
• 게임 데이터 저장
• Redis • 실시간 데이터 캐싱
• 세션 관리
• OpenVidu • 화상 채팅 서버 구축
• 미디어 서버 관리
• JPA • 객체-관계 매핑
• 데이터베이스 연동
• Spring Security • 사용자 인증/인가
• 보안 기능 구현
Infra • Docker • 컨테이너화 배포
• 개발/운영 환경 일치화
• Jenkins • CI/CD 파이프라인 구축
• 자동화된 빌드/배포
• Nginx • 웹 서버 구축
• 로드 밸런싱
AI • Whisper • 음성 인식 기능
• 음성-텍스트 변환
• Electron • 데스크톱 애플리케이션 배포
• 크로스 플랫폼 지원

📜 설계 문서

  • 시스템 아키텍처

  • DB 설계 (ERD)

  • API 설계

  • WBS

  • 요구사항 명세서

✅ 주요 기능

00. 접속 화면

01. 회원가입, 로그인

회원가입

  • 이메일 유효성 검사 : 정규 표현식에 맞는 형식만 가능
  • 비밀번호 유효성 검사 : 영문, 숫자, 특수문자 각 1개 이상 조합하여 9-16자
  • 이름 유효성 검사 : 한글만 조합해 2-5자
  • 닉네임 유효성 검사 : 한글, 영문, 숫자만 조합해 2-10자

로그인

  • 이메일비밀번호로 로그인

02. AI 욕설 감지 Meeple 앱

  • 프로그램을 설치하지 않으면 게임방 생성 및 입장이 불가

  • Meeple 로그인 후 입장 가능

03. 캐치마인드

alt text

  • 그림을 그리면 상대방에서도 실시간으로 그림화면이 공유

  • 일반 채팅과 정답채팅을 구별해서 인식

  • 정답 채팅 입력 시 점수 획득

  • 그리기 도구에서 붓의 굵기와 색 변경 가능

04. 게임 커스텀

  • 부루마불에서 이용할 보드판 커스텀 가능

  • 보드판 커스텀 후 관리자에게 승인 요청을 전송

  • 관리자가 승인을 하면 부루마불 게임 전 커스텀 보드판 사용 가능

05. 부루마불

  • 커스텀된 보드판을 대기방에서 선택 가능

  • 게임 입장하면 커스텀된 사진과 마불(재화)이 적용

  • 기존 부루마불과 같은 룰 적용

06. 관리자

alt text

  • 회원 목록 조회 가능, 회원 프로필 수정

  • 회원 탈퇴 가능, 커스텀 게임 심사

  • 유저 신고 목록 조회, 신고 처리

  • AI 욕설 감지 조회 및 처리

👨‍👩‍👧‍👦 멤버 소개

alt text

느낀 점

윤재은

이번 프로젝트에서 개인적인 목표는 WebSocket, Redis를 사용한 게임 구현, Electron, Whisper, NSIS, LLM을 활용한 욕설 자동 탐지 프로그램 구현하는 거 였습니다. 처음에는 개발 일정을 맞추기 위해 무작정 개발을 진행하다보니 구현이 막히는 부분이 있었고, 이로인해 일정에 차질이 생길 위기에 처했습니다. 이러한 상황의 문제점을 지식의 부족이라고 생각해 개발을 지속하는게 아닌 실제 구현시 필요한 기술들의 구조를 학습하는데 시간을 들였고 결과적으론 성공적이게 구현할 수 있었습니다. 생소했던 기술을 익히는 과정에서 무작정 개념만 익히는게 아닌, 사이드 프로젝트를 만들어 보며 동작 구조를 익히는게 더 좋다는 점을 배울 수 있었던 소중한 경헙이었습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors