프로그래머라면 한번쯤은 궁금해보는게 온라인게임 인것같다<p />
온라인 게임을 하면은 내 동료의 케릭터가 움직이고 내 케릭터가 내 명령에 따라 움직이며 다른 사람 스크린에도 보여진다.<p />
유저의 입장에선 흑마술 같아 보이지만 프로그래머 입장에선 사실 개구라 illusion이라는 것을 이미 알고있다<p />
게임 프로그래밍을 하다보면 이런말을 많이 접한다 "grid computing" 혹은 P2P라고 불리는 네트워킹 구조다<p />
이게 한상 좋은쪽에만 속할까 나쁜쪽에만 속할까?<p />
내생각엔 게임네트워킹에서의 p2p란 매우 오래되고 단편적인 기술인것같다<p />
예를들어 스타, 워크레프트, 각종 온라인 turn based 게임, 플레쉬 게임들이 p2p를 많이 쓴다<p />
근데 p2p가 예를들어 엄청난 수익을 벌어들이는 MMORPG 예를들어 WOW, 아이온 같은 게임을 구현시킬수있을까?<p />
답은 불가능이거나 너무 복잡해질것이다<p />
그리고 p2p를 사용하면 서버를 구축할줄모르기 때문에 p2p를 쓰는것으로 착각을 부를수도 있다<p />
여기서 이런 최신 기술에 적합한 네트워킹은 client - server일것이다<p />
Unreal networking architecture에서 한번 "Server is the man" 이란 말을 명시했다<p />
그리고 사실이다, server is the man이다. <p />
예를들어 꼬꼬마 해커가 "스피드핵" 이라는 프로그램을 개발한다고 해보자.<p />
이 스피드핵이라는 프로그램은 개구라 패킷 (케릭터의 x, y, z 를 클라이언트가 구라로 재조한)을 보내는 형식일것이다<p />
여기서 서버란 이 모든 해킹을 막아주는 최후의 수단일것이다<p />
서버란 유저가 앞으로가, 뒤로가, 옆으로가 같은 user input만 받아들이고 그 input을 다른 플레이어에게 전달하는 역활을 한다<p />
하지만 네트워킹엔 latency라는게 존재한다<p />
유저 네트워크의 컨디션에따라 예를들어 유저가 앞으로 가는 중인데 packet이 늦게 보내져서 다른 유저의 움직임이 끊기거나 갑자기 케릭터가 사라질수도있다<p />
그건 다음편에서 TCP vs UDP 와 함깨 소개하겠다<p />
난 이만 숙제하러 ㅂㅂ2
온라인 게임을 하면은 내 동료의 케릭터가 움직이고 내 케릭터가 내 명령에 따라 움직이며 다른 사람 스크린에도 보여진다.<p />
유저의 입장에선 흑마술 같아 보이지만 프로그래머 입장에선 사실 개구라 illusion이라는 것을 이미 알고있다<p />
게임 프로그래밍을 하다보면 이런말을 많이 접한다 "grid computing" 혹은 P2P라고 불리는 네트워킹 구조다<p />
이게 한상 좋은쪽에만 속할까 나쁜쪽에만 속할까?<p />
내생각엔 게임네트워킹에서의 p2p란 매우 오래되고 단편적인 기술인것같다<p />
예를들어 스타, 워크레프트, 각종 온라인 turn based 게임, 플레쉬 게임들이 p2p를 많이 쓴다<p />
근데 p2p가 예를들어 엄청난 수익을 벌어들이는 MMORPG 예를들어 WOW, 아이온 같은 게임을 구현시킬수있을까?<p />
답은 불가능이거나 너무 복잡해질것이다<p />
그리고 p2p를 사용하면 서버를 구축할줄모르기 때문에 p2p를 쓰는것으로 착각을 부를수도 있다<p />
여기서 이런 최신 기술에 적합한 네트워킹은 client - server일것이다<p />
Unreal networking architecture에서 한번 "Server is the man" 이란 말을 명시했다<p />
그리고 사실이다, server is the man이다. <p />
예를들어 꼬꼬마 해커가 "스피드핵" 이라는 프로그램을 개발한다고 해보자.<p />
이 스피드핵이라는 프로그램은 개구라 패킷 (케릭터의 x, y, z 를 클라이언트가 구라로 재조한)을 보내는 형식일것이다<p />
여기서 서버란 이 모든 해킹을 막아주는 최후의 수단일것이다<p />
서버란 유저가 앞으로가, 뒤로가, 옆으로가 같은 user input만 받아들이고 그 input을 다른 플레이어에게 전달하는 역활을 한다<p />
하지만 네트워킹엔 latency라는게 존재한다<p />
유저 네트워크의 컨디션에따라 예를들어 유저가 앞으로 가는 중인데 packet이 늦게 보내져서 다른 유저의 움직임이 끊기거나 갑자기 케릭터가 사라질수도있다<p />
그건 다음편에서 TCP vs UDP 와 함깨 소개하겠다<p />
난 이만 숙제하러 ㅂㅂ2
댓글 0