첫날 발제 끝나고 무슨 게임 만들지? 이런 고민을 하다 뭔가 포톤 써보면서 서버게임 하나 만들어보자 이런 얘기를 나눠서 포트리스 생각나는데 한번 만들어보죠! 해서 포트리스 모작을 해보기로 결정했다. 제목도 포트리스 모작으로 푸투리스로 했다.
좀 더 자세한 프로젝트 내용은 깃의 리드미에 적어놨다.
개발을 하면서..
생각보다 쉬울줄 알았는데 막상 해보니까 구현 난이도가 상당해서 고생을 많이했다. 총 두가지가 제일 큰 문제였는데..
타일맵의 파괴
첫번째 난관이 포트리스를 보면 지형이 부분적으로 파괴되는 로직이 있는데 참고할만한 레퍼런스대로 만들긴 했는데 폴리곤 콜라이더를 연산하는것에 대해 연산량으로 인해 렉이 좀 걸리는 문제가 있었다. 다양한 시도를 해보면서 텍스쳐의 크기를 수정해서 맵을 부분으로 쪼개고 실시간 갱신을 바꾸면서 문제를 해결하긴 했는데 근본적인 해결법은 아닌것 같아서 아쉽다.
포톤사용
앞서 TIL에 포톤 관련을 3번이나 정리했음에도 포톤을 사용하는데에 있어 많은 지식이 필요해서 계속 공부하고 그래도 문제해결하고 로직수정하는데 시간을 많이 쓴것같다. 특히나 동기화 관련해서 여러 이슈들도 있었고 최적화도 못한것 같아서 아쉽다. 기회가 된다면 포톤공부를 좀 더 하고 다양한 서버 공부를 해야겠다고 생각했다.
발표 피드백
생각보다 칭찬을 좀 더 해주셔서 기분이 좋았다. 외부 라이브러리 가져와서 사용한것도 많고 UI나 사운드 같은 부분들은 하지 못해서 로직적인 부분은 잘 했는데 디테일을 신경쓰지 못해서 아쉽지만 문제 해결하는 과정이나 로직적인 완성도가 좋았다고 하셨다.
오늘의 회고
로직적으로 좀 더 많이 성장했다는것을 느꼈던게 옜날에는 코드를 봐도 잘 이해하지 못했는데 이번에 포톤이나 맵파괴 로직들을 보면서 코드 흐름도 잘 볼수있게 되고 어느부분이 문제인지도 알고 해결을 시도할 수 있게 된것이 기분이 좋았다.
같이 함께한 팀원분들도 열심히 해서 정말 뿌듯한 프로젝트였다. 처음으로 제대로된 게임을 만든 느낌이라 너무너무 좋았다.
포톤은 역시나 너무 어려운것.. 옜날에 뒤끝슬떄도 람다식이 너무 많고 콜백이 어려웠는데 그나마 뒤끝공부 할때는 실시간 상호작용이 없어서 좀 나았는데 포톤은 실시간으로 상호작용해야 하는 부분이 많아서 이게 어려웠다. 잘 적응해야지!
벌써 오늘이 딱 반돌았다. 내일부터는 최종 프로젝트도 해야되고 더 바빠질것같다. 날도 덥고 체력관리를 잘해서 좋은 최종 프로젝트 해야겠다.