전체 글
오늘 한 것
- 팀 프로젝트 진행
- Rest API 서버 Entity framework(엔티티 프레임 워크) 문제 해결
- 팀 프로젝트 관련 회의
- 내일 기획 멘토링 관련 준비
- 기획 진행 상황 문서화
- 각 팀원들이 한 일 작성
- 프로젝트의 컨텐츠 추가 및 방향성 재설정
- 마감 기한을 보고 보류 할 기능은 보류하기
배운 것
- 엔티티 프레임워크를 사용하면서 MySQL Nuget 패키지와 호환성 문제를 해결할려고 노력했습니다.
- 알고보니까 호환성 문제가 아니라 테이블의 연관관계를 잘못 설정해서 생긴 문제였습니다.
- 해당 기술을 사용할 때 모르는 부분은 꼭 가이드라인을 찾아보자.
- 해당 기술을 전부 이해해서 사용할 수는 없지만, 궁금한 부분을 꾸준히 공부해서 글로 작성해보자.
느낀 점
- 엔티티 프레임워크를 너무 쉽게 봤던 것 같습니다.
스프링의 JPA와 비슷할 줄 알았는데 다른점들이 꽤 많았습니다.
오늘 한 것
- 팀 프로젝트 진행
- 우분투 게임 서버 해외 IP 차단 관련 자료 리서칭
- 팀 프로젝트 관련 회의
배운 것
- 게임 서버에서 런타임 에러가 발생했는데, 확인해보니까 중국 IP의 접속 시도였습니다.
- 배포 후 외부 IP에서 접속을 시도할 수 있게 되면 이미 보안에 취약해 진다는 것을 알게되었습니다.
- GeoIP Database를 사용해서 특정 나라 IP를 차단할 수 있다는 것을 알게되었습니다.
- GeoIP는 말그대로 location을 기반으로 저장되어 있는 IP Database 오픈 소스입니다.
느낀 점
- 실제로 런칭을 하고 유저를 받는다면 고려할 것이 상당히 많다는 것을 매번 느끼고 있습니다.
- 모든 것을 해결할 수는 없지만 차근차근 하나씩 해결해 나가야 겠다고 생각했습니다.
오늘 한 것
- 팀 프로젝트 진행
- 게임 서버 우분투 컴퓨터에 배포
- 우분투 컴퓨터 포트포워딩 처리
- 팀원들과 멀티플레이 테스트 완료!
- 게임 Room 나가기 기능
- 백준 문제 1개 풀기
- 팀 프로젝트 관련 회의
배운 것
- 유저의 네트워크 환경에 따른 실시간 멀티플레이 게임의 플레이어 형평성 문제
- 유저가 모바일 멀티 플레이 게임을 진행 중 엘리베이터에 들어가 접속이 끊긴다면?
- 클라이언트에서 캐릭터의 움직임 패킷을 서버에 전송한다면,
접속이 다시 되었을 때 순간이동을 하는 문제 발생
- 유저가 부득이하게 와이파이가 느린 환경에서 게임을 한다면?
느낀 점
- 우선은 프로토 타입을 완성해서 기능이 작동하는 것에만 집중을 하고 있습니다.
하지만 고려해야 할 것들이 상당히 많고 유저의 네트워크 환경에 대해서도 고려할 것이 상당히 많다는 것을 알게되었습니다.
오늘 한 것
- 팀 프로젝트 진행
- 백준 문제 1개 풀기
- 팀 프로젝트 관련 회의
배운 것
- 동기화 문제인줄 알았지만 전혀 다른 곳의 문제였다.
- 아주 기초적인 Instantiate를 하고 해당 GameObject를 리턴 받아서 사용하지 않은 문제였다.
- 함수를 사용 할 때 해당 기능에 대해 궁금해하고 가이드를 잘 읽어보자
- 함수에 필요한 인자들과 리턴 값들을 한 번 읽어보고 만든 사람의 의도를 파악해보자.
느낀 점
- 문제를 너무 크게 바라본 것 같았다.
그래도 해결하면서 다양한 인사이트를 얻고 성장하는 좋은 기회였다.
- 서버의 멀티 스레딩 처리에 대해서 좀 더 알게 되었다.
오늘 한 것
- 팀 프로젝트 진행
- 인프런 게임 강의 1개 보기
- 팀 프로젝트 관련 회의
배운 것
- 움직임 동기화 문제를 해결에만 집중하고 있다.
느낀 점
- 움직임 동기화만 잘 해결되면 진행은 순조로울 것 같다.
오늘 한 것
- 팀 프로젝트 진행
- 인프런 게임 강의 1개 보기
- 팀 프로젝트 관련 회의
배운 것
- 팀원과 프로젝트 코드에 대한 얘기를 나누면서 더욱 이해도가 높아졌다.
- 시간이 나면 해당 로직에 대한 이해도를 도표로 그려보자
느낀 점
- 팀원과 같이 문제를 해결하면서 성장하는게 확 느껴졌다.
오늘 한 것
- 팀 프로젝트 진행
- 기술 명세서 엑셀 시트 작성
- 와이어 프레임 그리기
- 게임 UI 배치 및 에셋에 대한 논의
- 인프런 게임 강의 1개 보기
- 백준 문제 1개 풀기
- 1일 1로그 100일 완성 IT지식 1챕터 읽기
배운 것
- 기술 명세서 작성
- 작성하면서 팀원들끼리 기획에서 이해 안되는 부분 서로 설명
- UI나 기능적으로 놓쳤던 부분을 크로스 체크하고 추가
- 와이어 프레임 그리기
- 어떤 UI 배치가 유저에게 좀 더 편하고 친술할 것인가에 대한 고민
느낀 점
- 기획 단계에서 문서를 작성하는데 번거롭고 귀찮은 업무 아닌, 꼭 체크해야 할 중요한 단계라는 것을 알게되었습니다.
- 기획을 더 길게 해야 뭔가 구도가 더 견고해 질 것 같다는 생각을 했습니다.
오늘 한 것
- 팀 프로젝트 기획
- 인프런 게임 강의 1개 보기
- 1일 1로그 100일 완성 IT지식 1챕터 읽기
배운 것
- 게임 프로젝트 기획
- 게임 개발에서 전투 시스템에 대한 고민
- 유저가 바라보는 시점이 다를 시 오는 밸런스
- 위치 선점이 달라짐에 따라서 발생하는 이점의 차이
- 시니어 멘토님과의 시간
느낀 점
- 게임을 하는 유저의 입장도 생각해보고 개발하는 단계에서도 생각해볼 수 있는 하루였습니다.
- 코딩 뿐만 아니라 다른 기획과 게임 시스템 적인 부분까지 많은 고민을 해봤습니다.
오늘 한 것
- 팀 프로젝트 기획
- 백준 문제 1개 풀기
- 블로그 글 1개 작성
- 1일 1로그 100일 완성 IT지식 1챕터 읽기
배운 것
- 기획 단계에서 게임에 대한 인사이트와 클라이언트 개발자와의 소통
- 클라이언트 개발자가 생각하는 게임 개발의 방향성
- 어떤 게임이 재미 있을지 고민하고 유저 관점으로 생각
- 게임 개발 시 어떤 부분에서 과금 요소를 넣고 수익을 실현할 수 있는지에 대한 고민
느낀 점
- 기획 단계의 중요성을 확 체감했다.
- 기획에서 어떻게 틀을 잡을 잡을 것인지에 대해 아직 부족한게 많다.
- 기획이 제대로 안잡히면 다음 단계를 진행하는데 상당한 문제를 준다고 한다.
- 팀원들끼리 각자 다른 방향성을 생각하고 개발하면서 이상한 결과물을 만들 수 있다.
오늘 한 것
- 팀 프로젝트 회고
- 1일 1로그 100일 완성 IT지식 1챕터 읽기
배운 것
- 프로젝트 회고를 하면서 많은 것들을 얻게 되었습니다.
- 다른 팀들의 발표를 듣고 튜터님의 피드백을 들으면서도 상당히 많은 것을 배웠습니다.
느낀 점
- 배울게 산더미이다.
- 계속 도전하고 꾸준히 나아가자.
- 했던 것에만 머물지 말고 도전적으로 시도해보자.