2024-10-10 CH-4 팀프로젝트 (랜덤 타워 디펜스) 시작

MOON·2024년 10월 10일
0

내일배움캠프 과제

목록 보기
19/38
post-thumbnail

오늘도 팀프로젝트가 또 바로 시작이네요. 이번 과제는 웹으로 실행되는 랜덤 타워 디펜스 게임을 구현하는 과제입니다. (websocket)을 이용하여 서버로직을 구현하고 좀더 서버에 익숙해지기 위한 과제 인것 같습니다. 먼저 과제 내용 부터 보시죠.

1. 프로젝트

  • 프로젝트 명 : 랜덤 타워 디펜스
  • 소개
    • 한 줄 정리 :  Web Socket을 활용한 게임 서버 구축 프로젝트

  • 필수 기능 내용
    1. 계정 관련 기능
      • 회원가입 기능
      • 로그인 기능
      • 로그인 성공 시 Access Token을 발급 받도록 하기
    2. 유저 별 게임 데이터 관리
      • 공통 데이터
        • 기지 체력
        • 최초 유저 골드
        • 타워 구입 비용
        • 초기 타워 개수
      • 유저 데이터
        • 몬스터 레벨
        • 몬스터 생성 주기
        • 게임 점수
        • 기존 최고 점수
        • 타워 좌표들
    3. 클라이언트가 서버로부터 수신하는 이벤트
      • 커넥션 성공 이벤트
      • 커넥션 실패 이벤트
      • 상태 동기화 이벤트
    4. 클라이언트가 서버로 송신하는 이벤트
      • 게임 시작 이벤트
      • 최초 타워 추가 이벤트
      • 타워 구입 이벤트
      • 몬스터 죽이는 이벤트
      • 게임 오버 이벤트
    5. 유저 별 최고 기록 스코어 저장
      • 유저 정보와 최고 기록 스코어를 기록할 데이터베이스


  • 도전 기능 내용
    • 타워 환불 기능
    • 특정 타워 업그레이드 기능
    • 보물 고블린 몬스터 출연 기능

먼저 ERD 작성이랑 와이어프레임, API명세서, 패킷 구조, HandlerEvent(실행할 이벤트) 명세서도 작성해 보았습니다. 게임 데이터 파일도 정했습니다.

HandlerEvent(실행할 이벤트) 명세서 기반으로 업무 분담을 각자 맡아서 진행하기로 하였습니다.

오늘의 회고

그중에서 저는 이번에 "웨이브 레벨 상승"하는 이벤트핸들러 기능 구현을 맡았습니다.

웨이브 레벨 상승 일단 생각으론 저번 크롬 다이노 과제했을때의 스테이지상승이랑 비슷한 개념일거란 생각이 드네요! 그럼 일단 빠르게 구현해보고 추가로 할 수 있는 일을 팀원분들에게 물어봐서 찾거나 해야될 것 같습니다. 그럼 오늘은 여기서 마무리 하겠습니다.

오늘도 화이팅

profile
안녕하세요

0개의 댓글