- 유튜브 보다가 삘꽂혀서 닌텐도 스위치 타이틀 [세계 놀이 대전 51]의 Yacth를 웹으로 으로 만들기로 함.
- 15일 오늘 기준 node.js 기초만 다진 상태
- 온라인 멀티플레이를 구현하려면 서버와 통신 할 방법이 필요함. 뭐 써야하는지 모름.
- 구글링 후 소켓통신을 사용하기로 함.
- 채팅 예제로 socket.io 공부
- 게임 전반적인 기획
- 데드라인을 넉넉히 10일로 잡음.
- 싱글페이지로 만드는게 편하겠다고 판단함.
- 채팅기능을 우선적으로 구현하고 socket의 room을 지정해 채팅방끼리만 통신하도록 구현
- 게임 진행을 위한 여러 예외처리나 선공 후공 결정, 중간에 플레이어가 나갈 경우, 방이 다 찼을 경우 , 인원수 전체 업데이트 등등등등등 다 기억안남.
- 해야할게 너무 많다.
- 주사위를 굴릴 area결정.
- grid형태로 화면 구성.
- 주사위 랜덤으로 뽑는건 server에서 돌아감.
- 각 socket별로 score보드를 저장하기로 함.(클라이언트에서 접근하면 안됨. 그건 핵임)
- 주사위를 굴리고 킵하는 과정에서 양측의 화면이 동시에 업데이트 되도록 함.(client -> server -> client)
- 또 예외처리 이것저것 (내 턴일때만 굴리기 등등등)
- 주사위 굴린 후 점수판 계산 로직 구현(이게 젤 쉬움)
- 각 화면에 업데이트
- 족보를 선택하면 점수에 반영되도록(이또한 서버사이드)
- 게임 종료 이벤트 처리
- footer추가
- 여러 잔 오류 잡음
- UI개선
- 모바일 UI도 조금 손봄
- heroku로 배포
- 짬짬히 했는데 생각보다 빨리끝남.
- 코드가 엉망. 지금보면 수정하거나 구조화시킬게 너무많음. 또 변수명도 너무 대충지음.
- 클라이언트에서 값을 조작해 게임진행에 치명적인 이상을 줄만한 코드는 왠만하면 서버사이드로 빼둠. (isMyTurn제외 -> 이스터에그ㅋㅋ)
- 디자인이 구림.
- 주사위 굴리는 사운드도 있으면 좋을 듯
- 싱글모드가 없음 (무조건 두명 이상 있어야됨)
- heroku 무료 계정이라 조금 딜레이가 있는데 잘 돌아감.
- 두 플레이어가 같은 방에 join한다.
- 자동으로 시작된다.
- 이외의 규칙과 족보는 닌텐도 야추다이스랑 똑같음.
- 두 플레이어 모두 보드를 채우면 끝난다. (Total score로 승패 결정. 구현은 안해둠. 눈으로 봐야함)
모바일로 보면 주사위가 이쁘게 보인다.