(MHF 개발일지) 서버 구현 강의 파트 완강, (+모델링 연습.)
만들고자 계획한 게임 MHF가 하필이면 네트워크 게임이어서 서버를 사용하는 것이 꼭 필요하다. 수많은 방식의 재밌는 게임들이 많이 있지만, 나는 네크워크로 연결되어 다른 사람과 같이 플레이하는 게임을 특히 좋아한다. 그래서 만들고 싶은 게임도 서버를 꼭 가지고 있어야 했다. 그런데 이 서버 관련한 공부는 정말 쉽지 않았다. (그래서 ‘꼭 첫 게임을 백엔드 탑제한 게임으로 만들어야 하나?’라고 생각하기도 했다. 아무튼 … 그나마 근래 했던 **서버 관련 공부의 방식은, **보고 있는 강의를 따라하기만 하면 되어서 덜 힘들었다.
드디어 이 강의를 완강했다. 빨리 완강하려고도 했는데, 도중에 스스로 주석으로 정리해보려고 시간을 쓰고, 잘못 따라한 코드들 때문에 생기는 에러를 디버그하느라고 오래 걸렸다.
- 서버와 멀티쓰레드 프로그래밍에 대한 컴퓨터 기초이론 지식.
- C#에서 패킷 통신하기.
- 패킷 작성 코드 자동화하기, 패킷 모아보내기 등.
- 유니티와 연동하기.
아래의 동영상은 별도의 서버에서 10개의 player의 위치 정보를 랜덤값으로 생성해서 전체 유저에게 브로드캐스팅 하고, 유니티클라이언트에서는 그 정보를 받아서 자기 자신(MyPlayer)를 제외한 플레이어(Player)들의 위치 정보를 업데이트 해주는 장면이다. 자기 자신의 위치는 ‘코루틴’으로 별도의 루프로 인해 업데이트 된다.
https://github.com/southglory/MultiThread_Programming
GitHub - southglory/MultiThread_Programming Contribute to southglory/MultiThread_Programming development by creating an account on GitHub. Contribute to southglory/MultiThread_Programming development by creating an account on GitHub.
서버를 이해하고 실수없이 구현되도록 사용하기가 쉽지 않기 때문에 1)책을 보거나 2)강의를 듣거나 3)직접 작은 것부터 만들거나 하면서 반복숙달해야 하는 파트인 것 같다. 또한, FPS와 MMO는 서버의 구현 방식도 다르다고 하는데, 거기까진 잘 모르겠다. 이러다간 첫 게임이 3개월 뒤에 나올 수도 있겠다. 좋지 않다. 쉬운 게임을 여러 개 만드는 게 더 좋을 것 같다. 서버는 큰 덩어리라서 최소한 인프런 강의 **‘Part5.데이터베이스’, ‘Part6.웹서버’, ‘Part7.MMO 컨텐츠 (유니티, C#연동) 구현’, ‘Part8.전체프레임워크 구현’, ‘Part9. DB연동’ **이걸 다 들어야 대략 경험치가 쌓이지 않을까 기대해본다.. 이래서 첫 게임은 그렇다 치고 VR은 언제 다룰 수 있을까..? 그래서 그 동안은 정말 쉽고 서버나 DB연동이 필요 없는 클라이언트 위주의 게임을 병렬로 만들어보려 한다. 하이퍼x2 캐주얼 게임을 만들자.
- 인프런 수강 계속 진행.
- 서버, DB가 필요 없는 하이퍼 캐주얼 게임을 ‘별도 프로젝트’로 제작. (광고는 들어가도록.)
- 블렌더 모델링(맵, 캐릭터) 연습.
+ 모델링 툴로 컨텐츠 만들기 연습 따라하기 좋은 유투브 튜토리얼이 있어서 소소하게 따라해봤다. blender를 처음 다뤄봤던 2년 전만 해도 국내외 영상이 많이 없고 친절한 튜토리얼이 부족했는데, 많은 유투버 분들이 따라하기 좋은 영상을 많이 올려주셨다. 덕분에 체계적인 느낌으로 tool을 다룰 수 있게 되어 만족한다.
나는 유투버 ‘코드모드’님의 영상을 따라했다. 하루 1시간 정도 하고 나니 일주일이 걸렸다. (https://youtu.be/y1UQoCRtYpA)
https://github.com/southglory/Blender
GitHub - southglory/Blender Contribute to southglory/Blender development by creating an account on GitHub. Contribute to southglory/Blender development by creating an account on GitHub.
위의 액자에 있는 사진은 여기 블로그의 사진과 같다.
블렌더는 매우 재밌고 활용도가 놀라운 3D 모델링 툴인 것 같다. 역시나 보기 좋은 떡이 먹기도 좋다고 하듯, 긴 시간은 들이지 않았지만 제일 뿌듯했다.
개인 프로젝트의 소소한 일지를 기록하고 있습니다. 읽어주셔서 감사합니다.






