게임 프로그래머의 만담, 게임코디 2nd
+3 투표
2.3k views 만담 (72p) , 2.3k views
이번에 신입으로 입사하여 열심히 공부를 하고 있는 게임 서버 프로그래머 꿈나무입니다.

제가 입사한 회사에서는 현재 redis, django 등을 활용하여 python http서버를 통해 개발을 하는데요, 나중에 회사에서 MMORPG를 개발하게 되면 제가 주도적으로 그 역할을 수행하고 싶습니다.

위의 역할을 수행하기 위해서 제가 궁금한 것은 아래의 사항입니다.

1. 주로 개발에 사용되는 언어는 어떤 것인가요? 보통 C를 사용하시나요? 원래는 제가 진성 C언어파였는데, 최근 Python을 공부해보니 몇몇 모듈을 C로 만들고 이를 Python 환경에 활용하는 것을 통해서 어느 정도의 속도와 빠른 개발 속도를 추구하는 방식도 보여서 질문드립니다.

2. 프라우드넷이 많이 사용되는 것 같은데, 혹시 엔진을 사용하셨다면 어떤 것을 사용하셨었나요? 특별히 선택하신 이유도 있으시다면 말씀해주시면 감사하겠습니다.

3. 엔진 외에 다른 것들은 주로 어떤 것을 사용하셨는지, 그것을 선택하신 이유 또한 있으시다면 말씀해주시면 감사하겠습니다! ex) redis, mongoDB, Jetbrain의 라이더나 파이참, 비쥬얼 스튜디오 등등..

4. 혹시 C로 처음부터 끝까지 엔진을 다 제작하신 분도 계신가요? 계시다면 어떤 서적을 참고하셨었나요?

 

일단 제가 검색을 해서 사놓고 공부를 하고 있는 책들은 '게임서버프로그래밍 교과서(배현직 저)', '멀티플레이어 게임 프로그래밍(조슈아 글레이저, 산제이 마드하브 저)', '온라인 게임 서버 프로그래밍(한동훈 저)'입니다.

(아직 책들을 다 완독하지는 못했습니다 ㅜㅜ..)

 

업무가 익숙해지면 여가시간을 활용해서 락스텝을 활용한 스타크래프트 같은 게임, P2P를 활용한 격투게임, 그리고 마지막으로 MMORPG 게임을 제가 제작한 서버 환경으로 구현해보는 것이 목표입니다. 이를 위해서 위에 질문을 드렸는데, 이에 대한 답변을 실제적인 경험을 섞어서 말씀해 주시면 정말 감사하겠습니다!

 

끝까지 읽어주셔서 감사드립니다. 한 주간도 고생많으셨고, 남은 하루도 좋은 하루되시기 바랍니다!

감사합니다!

만담에 대한 답글을 하려면 로그인 또는 가입해야합니다.

4 answers

+3 투표
우수 답변
개인적인 의견 입니다. 참고하셔요~

1. mmorpg 는 여전히 c++ 을 가장 많이 사용합니다.  요즘은 c# 이나 기타 스크립트 언어들도 조금씩 사용이 시도되고 있습니다.

2. 예전에 프라우드넷을 사용 해보았습니다.  엔진을 구매해서 개발하면 아무래도 편의성은 있습니다.  네트워크 기술이 없다면 편하죠.

3. 전 없어서 생략..

4. 네,  서적은 나열하신 책들 모두 좋습니다.  어느 책 하나로 완성보긴 힘듭니다.  어떤 기술이든 책의 내용은 기초적인 부분이 많고 한정적이라 본인의 직접적인 개발과 테스트를 통해 찾아가시는 방법뿐이 없습니다.

나열하신 책만 정독하고 제대로 이해하고 하셔도 어느정도 수준까지 도달 하실 수 있을 것입니다.  다만 게임서버 개발이라는건  단순히 네트워크 api 사용법, 서버 설계..  이런 부분만의 문제가 아닙니다.   굉장히 복합적이죠.

OS, 시스템 프로그래밍, 네트워크 프로토콜의 이해 등등 여러가지가 함께 받쳐 주어야 합니다.

너무 단기간의 목표로 달려가시면 포기하게 될 터이니  네트워크 프로그래밍과 함께  OS, 프로토콜, c++, 알고리즘 등 여러가지 파트를 동시에 조금씩 조금씩 장기전으로 학습 해 나가시길 권장 드립니다.
답글 (42.1kp)
선택됨
좋은 답변 감사드립니다! 참고해서 열심히 해보겠습니다!
말씀해주신 내용으로 최선을 다해 공부하여서, 되도록이면 C로 서버 엔진을 쌓아올릴 수 있는 능력을 기르기 위해 노력하겠습니다!!

남은 하루도 좋은 하루되시고, 내일도 좋은 하루되시기 바랍니다!
정말 감사합니다!
+4 투표
1. 주로 개발에 사용되는 언어는 어떤 것인가요? 보통 C를 사용하시나요? 원래는 제가 진성 C언어파였는데, 최근 Python을 공부해보니 몇몇 모듈을 C로 만들고 이를 Python 환경에 활용하는 것을 통해서 어느 정도의 속도와 빠른 개발 속도를 추구하는 방식도 보여서 질문드립니다.

>> C는 거의 안 쓰고요, C++을 많이 씁니다.

2. 프라우드넷이 많이 사용되는 것 같은데, 혹시 엔진을 사용하셨다면 어떤 것을 사용하셨었나요? 특별히 선택하신 이유도 있으시다면 말씀해주시면 감사하겠습니다.

>> 프라우드넷 말고도 boost asio 등 여러가지가 더 있습니다.

3. 엔진 외에 다른 것들은 주로 어떤 것을 사용하셨는지, 그것을 선택하신 이유 또한 있으시다면 말씀해주시면 감사하겠습니다! ex) redis, mongoDB, Jetbrain의 라이더나 파이참, 비쥬얼 스튜디오 등등..

>> 저희의 경우 비주얼스튜디오, MySQL or SQL Server, Elasticsearch, ASP.NET (내부 직원들이 쓰는 앱 개발용) 입니다.

4. 혹시 C로 처음부터 끝까지 엔진을 다 제작하신 분도 계신가요? 계시다면 어떤 서적을 참고하셨었나요?

>> 현재 현업에서는 없습니다. 그런 서적도 있을리 만무합니다. 포크레인(C++)로 땅을 파도 될 것을 굳이 삽(C)로 땅을 팔 필요가 있을까요?
답글 (412p)
좋은 답변 감사드립니다!
제가 C를 C++을 포함하는 의미로 말씀드렸던 것인데, 혼란을 드려 죄송합니다 ㅜㅜ..
말씀해주신 내용으로 열심히 공부하겠습니다!

먼저 답변을 주신 분이 계셔서 우수 답변으로 채택해드리지 못해서 죄송합니다.
답변 감사드리고, 내일도 좋은 하루되시기 바랍니다!
0 투표
mmo가 방향성이라면 이직을 권해드립니다.
답글 (1.7kp)
서버쪽 mmo라면 배울것도 많다고 봐요
본문에 디장고 쓴다고 했는데 무슨 소리입니까? 저런 환경에서 작업하다 디비에 바이너리 때려박는 환경으로 넘어가면 10에 9는 적응 못합니다.
MMO가 방향성이긴 한데, 회사가 분위기가 너무나 좋고, 주위에 계신 분들도 다 좋아서 이직은 고민이 됩니다..
일단 업무에 익숙해지고 혼자 공부하다가 한계를 느끼면 고민해보겠습니다!
염려해주시고 말씀해주셔서 감사합니다!
+2 투표
서버엔진을 쓸 때 가장 큰 장점은
경험자들을 빨리 모을 수 있다는것과 문제가 생겼을때 도와줄 전문가가 있다는 점 같습니다.

자신이 처음부터 C++로 된 라이브러리를 구축해 나간다는건 분명 보람있는 일이지만 회사차원에서는 어서 컨텐츠 만들어서 팔아먹어야 할텐데 프로그래머가 눈에 보이지도 않는 무언가를 만든다며 수개월을 사용하고 있다면 고민이 깊어지겠죠.

문제가 터졌을때도 100% 자신이 만들었다면 문제의 원인을 파악하는 것
문제를 조치하는 것
그 문제의 책임을 지는 것
모두 서버프로그래머 혼자의 외로운 싸움이 될 것입니다.
mmorpg나 글로벌 서비스를 하다보면 예기치 못한 많은 이슈들의 소용돌이에 빠지게 되는데 정신적 소모가 심할것 같아요.

그래서 저도 C++을 사랑하지만 회사 프로젝트라면 프라우드넷을 사용할것 같습니다 ㅎ
답글 (8kp)
네, 알겠습니다!
고견 감사드립니다!

자체 엔진은 지적호기심으로 취미로 하고, 차후에 회사에서 MMORPG 프로젝트를 시행한다면 상용 서버엔진을 이용하는 방향으로 해보겠습니다!

다시 한 번 감사드립니다!

게임 프로그래머의 만담 커뮤니티, 게임코디 입니다

온종일 코드와 씨름하는 우리들의 외로움을 삭이고자 합니다