1. 채팅.
특히 전체 채팅
2. 사용자 혼잡
다수의 사용자가 한 영역에 몰렸을 때.
3. 사용자 튜닝된 아바타 정보 송수신.
모든 케이스를 프로그램에 담을 수 없을 정도라, 3D 모델의 폴리곤(매쉬), 뼈대, 애니메이션 데이타는 갖고 있더라도
텍스춰 데이타는 송수신하는 경우가 많음.
4. 실시간 업데이트.
이벤트 등으로 동시에 사용자들에게 정보가 업데이트 되는 경우.
1. 채팅.
특히 전체 채팅
2. 사용자 혼잡
다수의 사용자가 한 영역에 몰렸을 때.
3. 사용자 튜닝된 아바타 정보 송수신.
모든 케이스를 프로그램에 담을 수 없을 정도라, 3D 모델의 폴리곤(매쉬), 뼈대, 애니메이션 데이타는 갖고 있더라도
텍스춰 데이타는 송수신하는 경우가 많음.
4. 실시간 업데이트.
이벤트 등으로 동시에 사용자들에게 정보가 업데이트 되는 경우.
롤 같은거는 보통 5:5고 그렇다면 9명의 데이터만 받으면 되는거니까 비교적 데이터가 덜 들겠네?
그치 그런건 Massive Multi-user Operation 게임으로 분류하지 않지.
하지만, 실시간성과 동기화를 극대화하면 (0.01초 간격으로 마우스 클릭 명령을 바꾸는걸 반영한다든지) 패킷량은 늘게 되지.
대충 프로게이머들이 APM 을 400~800 까지 찍어대니까, 초당 10회 이상의 커맨드도 처리한다고 봐야됨. 하지만 마우스나 키보드의 명령 정도니 패킷크기 자체가 커지진 않지.
트래픽을 줄이면서 동기화를 깨뜨리지 않는 방법은 룰을 조금 바꾸거나, 예측을 사용하는 방법인뎅 쉽진 않음.
코세 게임에도 관심있냐
나도 지금 실시간 멀티플레이 게임 개발하고 있는데
원래 게임프로그래머였다니깐.
안그러면 다방면에 해박해지기 쉽지 않지.
그렇다면 네비게이션이나 위치찾기??기능쓰는거는 서버랑 나랑 개인간의 영역이라서 데이터를 적게 써야 하는거 아닌가?
모바일에서 빠른 동기화가 중요한 대전게임 만들어봄?
네비가 지도 내장형이면 데이터를 크게 쓸 이유가 없지. 크게 쓴다면 잘못만든 프로그램임. 다만, 교통혼잡정보나 최저가 주유소 정보등을 실시간으로 업데이트 하는 경우엔 패킷이 추가됨.
아닝 모바일 네트웍게임은 2000년대 초반 CDMA 기반으로 만든게 마지막이라 딱히 빠른 동기화가 가능하질 않았음.
내가 지금 만들고 있는게 정확한 동기화, 빠른 반응속도가 중요한 게임인데 무선망 레이턴시 때매 줫같음
하지만 지금의 모바일 환경은 wifi 냐 lte 냐 차이일 뿐이지 tcp / udp 베이스지 않음?
기획을 잘해야지. 특히 모션분할.
ㅇㅇ 앱 개발자들은 걍 추상화된 tcp udp로 코딩하면 됨
대충 기획이 어떤 분야인데? 격투? 퍼즐?
완벽하게 동기화를 맞추려다 보니 유저가 느끼는 반응속도가 떨어지고 반응속도를 올려주자니 동기화가 완벽히 안됨 .. 슈방
응 LTE는 구체적으로 뜯어본적 없지만 짭 기술일수록 작은 패킷 단위 전송속도가 기어다니게 마련.
장르가 뭔데?
4대 4 까지 지원하는 슈팅 대전게임
그럼 에너지 게이지 같은게 있겠네?
HP 말야.
나도 가장 궁금한 부분이넹
hp는 없음. 게임 컨셉이 한방 맞으면 뒤지는 게임임. 피하는 무빙이 핵심
그런 기획이면 손맛을 갖기 힘듦.
네이비 필드란 게임이 좋은 예인데.
얘들이 만들 당시 네트웍 동기화가 쉽지 않았음.
그래서 전함들이 산탄포 처럼 쏘지.
그리고 데미지 숫자가 뜨는거야.
가라앉아도 천천히 가라앉지.
즉, 데미지 숫자가 뜨는 애니메이션 동안 동기화할 여지가 있는거지.
이러면 서로 마구 마구 날려도 동기화가 가능해. 전함 주포라는게 재장전 시간도 걸리니 트래픽이 계속 올라가지도 않고 말야.
그게 아니라 맞으면 꽥 인 써든데스 류라면 기획 자체가 무리.
잠시 한명이 지하철타고 가다 랙이면 걘 걍 죽어가고 있는 셈인거지.
그러면 게임 자체가 성립될 수 없어.
손맛을 살리려면 확률적으로 접근해야 하고, 잠시 오프라인이었던 사람을, 비쥬얼로 설득해 내야함.
달리 FPS 게임류들이 동기화 할 때,
피만 퓩퓩 튀고 사람이 안죽고 그런게 아님.
그걸 한방에 판정내렸다간 내 근처에 총알이 날아온적이 없는데 죽어있는 경우를 경험하게 되니까 플레이어가 억울해진다는거지.
즉, 쏘는 순간 이미 충돌 판정을 낼 수 있게 하든지, 아니면 총알이 천천히 날아가든지, 아니면 에너지가 충분히 있고 데미지가 유동적이어서 납득시킬 수 있게 하든지.
그래서 마비노기 같은 게임에는 deadly 라는 상태를 추가했지.
일단 투사체 속도를 느리게 할 생각임
한방 맞으면 죽는 게임이라도 HP1로 설정하고 맞으면 -1감소 해도 성립되지 않음?
어느정도 유도 형태의 무기를 도입하는것도 도움이 됨.
반쯤 날아갔을때 어느 범위 안에 있으면 끝까지 따라가 맞춰주면 되니까 말야.
랙 한번에 훅가는게 아니라, 기회가 좀 있으면 랙을 실력으로 극복할 찬스가 있는거지뭐.
지금 tcp만 쓰는데, 위치 동기화 부분은 udp로 바꿀생각
모바일에서 tcp 재전송은 너무 거지같은듯
그건 좋은 생각이야 : )
모바일에서 udp를 쓸생각을 하다니 용감하네 ㅋ
예전부터 프갤 눈팅했는데 코세 ㄹㅇ 다방면으로 아는거 많네
태생이 게임프로그래머니 그럴 수 밖에.
udp 는 모아니면 도지뭐. ㅋㄷ 달리 방법이 없을때 건드릴 수 있는건 그것 뿐.
트래픽이 안좋은 상대에 대해 어느정도 확률적 자동회피를 넣어주는것도 방법. 보조 조종사 같은 캐릭터를 구매하게 하고 걔 능력치에 따라 자동회피를 한다든지 : )
근데 그건 ㅇ 의 일반론이고, 대개 wifi 보다 lte 가 취약하다는 부분에서 볼때 udp 는 괜찮은 우회 방법이야.
udp/lte 라면 니가 말하는 다양한 네트웍접속환경은 아닌거잖아.
모바일에선 패킷손실이 자주 일어나서 한번씩 핑이 튈때가 있음 그때 이미 지난 좌표 tcp재전송 하고 있느니 udp로 최신 좌표만 보내는게 난지
p2p 안써서 홀펀칭 문제는 없음
일반적인 게임이라면 니 말이 맞지 완전 무결이라는데서 조금 웃기지만.
당연히, 반드시 전송 되지 않아도 되는 패킷만 udp로 보내려고 하는중..
손맛을 포기하느냐, 기획적인 훼이크를 넣느냐 의 문제일 뿐.
그리고 udp로 실시간 동기화하는 게임들도 많음 : )
사실 udp를 쓰려고 생각한게.. 프라우드넷이라고 게임서버 엔진 만드는 회사 있는데 거기 대표가 모바일에선 tcp/udp를 꼭 같이 쓰라고 하더라고
아니지. udp 는 udp 나름대로 최종결산을 해줘야해. 당연히 tcp 와 처리방법이 달라질 뿐이야.
네 말처럼 정말 잘만든 udp 가 tcp 가 되는 경우도 있지. 하지만 tcp 가 무거운 경우도 많고. 그건 선택의 문제지 저건 아니야 라고 말할 부분이 못돼.
기업상대로 하는 회사니까.. 뭐 그런일 있을수 있겠지 ㅋㅋ
밥그릇 싸움에 관심없음.
그거 다 읽어봤음 설명 안해도 돼.
CGCII 엔진 조상현씨랑 싸운거 이야기잖아.
기획에서 죽었을때의 패널티와 디메릿 보다 이겼을때의 메릿이 크다면, 랙때문제 가끔 죽어도 손맛이 있는 게임이 유효한 기획일 수 있어. 손맛을 극대화하는건 udp가 맞고. 특히나 lte 베이스라면.
항상 무결성보장 보다, 판정 시점에서의 보상쪽이 훨씬 싼 과정인건 자명한거고 말야. 슈팅게임이니까 날아가는 동안 일일이 맞출 필욘 없다고 봐.
코세님 뜬금없지만 c#용 png 압축 라이브러리 추천좀..
걍 PngBitmapDecoder / Encoder 갖다 쓰면 안됨? 난 libpng 쓰는데 C#엔 바로 안붙을것 같으니 pngcs 쓰던가.
감사여