개인적인 기준에서는 약간 실패한 프로젝트라고 생각하지만,
그럼에도 불구하고 얻어간 교훈, 성장한 지점이 분명히 존재하기에 TIL로서 기록을 하고자 한다.
DINO game : 필수 기능 구현
프로젝트 EFW : 봄버맨 라이크 멀티플레이 게임 (Unity 클라이언트 + Nodejs SocketIO 서버) 일부 구현
- DINO game : 필수 기능 구현
- 프로젝트 EFW : 봄버맨 라이크 멀티플레이 게임 (Unity 클라이언트 + Nodejs SocketIO 서버) 일부 구현
EFW 플레이어 위치 동기화
서버로부터 맵 에셋 데이터를 통해 맵 초기화
- 언리얼 엔진 클라이언트로 구현 시도
SocketIO 플러그인으로 PingTest 확인하며 연결 완료하였으나, 위치 동기화에 대한 개념 부족 및 언리얼 숙련도가 생산성이 효율을 높이지 못할 것 같아 revoke
- 유니티 엔진으로 변경
위치 동기화 시 log matching으로 테스트할 때 broadcast된 패킷의 sync가 맞지 않음
=> action Queue에 lock을 설정하여 처리하도록 변경
=> 에디터의 백그라운드 러닝 설정
- 기획/설계의 중요성
물론 간과한 부분은 아니지만, 매 프로젝트를 할 때마다 다시금 느끼게 된다. 특히 아래 내용과 결부시켜 다시 이야기하겠다.
- 일정 핸들링
실제 업무라면 특히나 일정이 지연되거나 스케줄링이 바뀌는 일이 비일비재할 것이다. 이에 대해 유연하게 대처할 수 있게 기획/설계 계획에서 이런 지연 상황에 대해 마지노선을 정해서 조정을 더 유연하게 했어야 한다고 생각한다.
이번 활동의 의의는 원하는 퀄리티/완성도까지 완성을 하지는 못했으나, 그래도 소켓 서버에서 위치 동기화를 이뤄냈다는 점인 것같다.
이에 더해 일정 핸들링하는데에 이번 경험을 타산지석삼아 더 잘 대처해야 하겠다.