버그 해결을 위한 모든 질문을 던져
0 votes
528 views

안녕하세요 20살 게임 개발 지망생입니다. ( 고졸입니다. ) 

현재 개발 중인 게임이 TPS 총 게임으로, 두 팀으로 나눠서 팀 데스매치 형식인 게임을 개발할 생각 중입니다.

클라이언트단은 어느정도 개발이 진행된 상태라서 이제 서버단을 개발해야하는데, 어떻게 서버 선정 기준을 세워야 할지 모르겠습니다..

이전에 개발한 게임은 웹 사이트에서 플레이 할 수 있는 멀티 카드게임을 개발했었는데, 그 때는 턴제 게임 형식이라 가볍다고 생각해서 무작정으로 node.js의 socket.io 을 사용했었습니다.

 

근데 FPS 게임은 서버에서 동기화 처리와 총알 처리를 할 때 빠른 실시간 통신이 필요하기에, 서버 선정 기준을 잘 세워야겠다고 생각이 들었습니다. 

그뿐만 아니라 내년 상반기에 게임회사 취업을 희망하고 있어서( 클라이언트보다 서버 개발자를 더 희망하고있습니다. ), 서버를 잘 선정해야겠다는 생각이 들더군요.

 

구글링을 했을 때는 C++, C로 짜는게 좋다고들 하는데 최근에는 웹서버를 사용하거나 C# 도 사용한다고들 해서요.. 

그리고 독학을 하고있어서 주변에 아는 게임 개발하는 지인도 없어 계속 헤매고 있는 중입니다.

 

서버 선정 기준을 어떻게 세우는 것이 좋을까요 ? ㅠㅠ 

 

-----------------------------------

이때까지 혼자 개발한 게임들은 github에 올려놨습니다. 혹시라도 지적할 점이 있다면 부디 알려주세요!!

Github : https://github.com/You-Yeon

asked (3 point)
수정됨 , 528 views

2 answers

+2 votes
FPS나 TPS 게임이면, 20밀리초의 레이턴시도 눈에 띌만큼 성능에 민감합니다.

서버가 메시지를 받아서 그것을 처리하고 다시 클라이언트에게 보내기 직전까지의 지연시간은 길어야 50마이크로초 이내로 나와야 합니다.

50마이크로초 이내라 하더라도, 아무리 최적화를 해도, 성능이 아쉬운 상황이 어느날 나올겁니다.

FPS나 TPS면 C++이 가장 좋습니다. C#도 평소 괜찮습니다만 마이크로컨트롤 수준의 최적화가 필요한 상황에서 손가락을 빨아야 할 때가 나올 수 있습니다. 50마이크로초는 웹서버나 스크립트언어 입장에서 짧은 시간이지만, C++ 입장에서는 매우 긴 시간입니다.

C++을 지원하는 네트워크 엔진은 여러가지가 있으니 골라 쓰시면 되겠습니다. 오픈소스 라이브러리라던지, 프라우드넷(...)이라던지 말이죠.
answered (56 point)
답변 감사합니다!

FPS TPS는 성능에 민감하군요. 좋은 정보 감사합니다.

C++을 지원하는 네트워크 엔진들을 알아보겠습니다!
0 votes
UDP로 짭니다. 요즘은 c#으로도 많이 짜고 있으니깐 편하신 언어로 짜도 됩니다. 엔진을 사용하시면 어차피 내부에는 대부분 c++로 되어있을테니깐요
answered (12 point)
C#으로도 FPS가 커버되나요? 물리시뮬레이션을 하는 게임이라면 모를까 그게 없거나 축약된 상황이라면 내부의 C++로 된 것의 성능 비중은 상대적으로 적을텐데요?

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

270 질문
403 answers
407 댓글
563 users