본문 바로가기

전체 글

(95)
[기사] 드디어 USIM 락 해제 되는가~ “이통 가입자 스스로 휴대폰 개통한다” 3월 27일 부터 USIM 락을 해제 한다고 하는데 여기에 일부 기능은 제외 된다고 하네요~ 초기 USIM 잠금장치가 해제된다 해도 고객이 당장 이용할 수 있는 서비스는 음성통화·영상통화·발신자번호확인(CID) 세 가지 영역에 국한된다고 설명했다. 기존 단말기를 들고 서비스 사업자를 바꾸게 되면 새 사업자에게서 받는 USIM 칩으로는 단문메시지서비스(SMS)를 비롯한 각종 무선인터넷 등 데이터 서비스는 준비 미비로 이용할 수 없다는 것이다. 동일 사업자 내에서 USIM 기반으로 단말기를 교체할 때에는 SMS는 이용할 수 있으나 뱅킹 서비스처럼 UISM에 다운로드한 애플리케이션 기반의 서비스는 역시 이용할 수 없다. 정통부는 데이터 서비스의 기초인 SMS는 늦어도 7..
게임서버의 지형관리 방식에 대한 생각~ GPGStudy를 보다가 보면, 서버에서 지형관리 방식에 대한 논의가 자주 일어나는 것을 볼수 있습니다~ 예전과 다른 점이라면, 예전에는 구현 방식에 대한 논의가 많았다면 요즘은 어떻게 구현할것인가에 대한 논의라는 점일 것입니다~ 그도 그럴것이 2D에서 3D로 넘어 오면서 기존 2D 방식에 z 좌표를 적극적으로 활용하고 싶어하는 개발자가 많아 지면서 부터가 아닐까 생각이 됩니다. 그러다 보니, http://www.gpgstudy.com/forum/viewtopic.php?t=18890 처럼 쿼드트리 또는 옥트리를 사용한 지형 관리 구조를 논하게 되죠~ 필자는 아직까지 이러한 z 좌표를 사용하는 지형관리 구조에 익숙하지가 않습니다. 구조가 나빠서가 아니라, 필자가 고민하는 CPU 부하의 차이를 줄여줄 방법..
[기사] 누리엔, "언리얼 엔진 3.0의 새지평 열었다" - 소셜 네트워크의 도입 이제는 게임엔진(Unreal Engine 3.0)이 소셜 네트워크 분야 까지 진출하는군요.. 점점 모든게 게임화 되는듯한 느낌입니다.. ^^; 기대 됩니다~ 세계적인 게임 개발사 에픽 게임즈(Epic Games Inc.)가 국내 3D 소셜 네트워크 플랫폼(Social Network Platform) 개발사의 기술력에 극찬을 보내, 국내 개발사인 누리엔 소프트웨어에 대한 전 세계 게임 개발자들의 이목이 집중되고 있다. 기사 원문: http://news.naver.com/photo/read.php?mode=LTD&office_id=023&article_id=0001943202&section_id=105&view=all&type=1
객체 이동 방식에 대한 반전!!! 온라인 게임을 논하는 중에 이동 처리 방식에 대한 다양한 의견들이 제시되고 시험되고 있다. 지금 이 시간에도 이러한 논의를 계속 하고 있는 개발자 들이 상당히 있을 것이다. 그럼, 왜 이에 대한 논의가 많은 것일까? 객체 이동은 게임의 기본적인 동작의 표현이자, 서버에게는 데이터 처리를 위해 가장 많은 시간을 사용하게 되는 처리이기 때문이다. -- 그리고, 서버 부하의 주된 원인이 이동 때문에 발생된다고 해도 될 만큼의 부하가 존재하기 때문이다. 그럼, 몇가지 객체 이동 방식에 대해 알아 보자. 1. 현재 위치를 일정 조건에 서버로 전송하는 방식 : 위치의 변화 또는 일정 시간(예를 들어 0.5초) 경과후 현재 위치를 서버로 전송 하는 방식 - 장점 * 위치 이동 응답성이 빠르다 * 비교적 개발이 간단하..
NPC 처리의 구성에서... 온라인 게임에서 NPC의 비중은 최소 최대 예상 PC의 5배수 이상인 경우가 많다. 그만큼 많은 NPC의 처리가 발생하게 된다. 이러한 상황에서 고려해야 할 상황을 정리해 보자~ 1. 이동 - 특징: 주기성을 가지게 되어, 부하 분산 처리에 용의하다. * 일정 주기 단위로(수초 이상) 이동 - 처리 부하 분산 목적 * 이동을 마친후 해당 위치에서 일정 시간 이상 대기 하도록 처리 - 처리 부하 분산 목적 - 이동 중 공격 발생에 대한 처리 상황 - 사용 가능 알고리즘 : 이동해야 할 객체를 판단하기 위해, 3x3 블럭별 Priority Queue 구성 - 이동전 블럭의 PQ에서 이동해야할 NPC를 얻어 이동할 블럭의 PQ로 저장 * 제한: 블럭당 최대 NPC갯수 지정을 통해, NPC가 한곳으로 모이는 것..
참.. 쓸만한 "[Blog RelationShip] JavaScript 버전 공개합니다." 드디어 첫번째로 자바버젼이 공개 되었습니다. http://www.atbloger.kr/ 지금까지 와는 색다른 기능이라.. 참 재미있네요.. 여러분도 한번 써 보아요~ ^^ 설치 하는 방법 첨부 합니다. 1. 적용 방법 - 자신의 블로그 스킨에 테그 사이에 아래 테그를 삽입 - 글 내용을 출력해 주는 부분에 아래 태그 삽입 : 예) tag 사이에 아래 스크립트 코드를 삽입 위 스크립트는 TC를 기준으로 설명 드린것입니다. 다른 블로그를 사용하시는 분은 해당 블로그의 도움말 등을 확인하시고 해당하는 부분에 삽입해 주시기 바랍니다.
시야관리 - 또 다른 관리 방식: Viewport~ 온라인 게임에서 시야란.. 데이터 처리를 위한 것과, 처리된 데이터를 받아야 하는 객체를 관리하는데 가장 큰 목적이 있다. 그런데 문제는 데이터를 받아야 하는 객체의 수가 증가 한다는 것이고, 이를 위해, 시야를 근거리~원거리로 분리하여 관리하는 방법을 소개 하였다. 이번에 고민하는 부분은 데이터를 받아야 하는 객체가 실제로 필요로 하는 데이터를 걸러내기 위한 방법이다. 기존 방식의 객체가 View(보고 있는)하는 범위의 객체 뿐만 아니라 보고 있지 않는 음영에 존재하는 객체에게 까지 데이터를 전달한다는 것이다. 만약, O 라는 객체의 Viewport가 B' 방향으로 향하고 있다면 음영(뒷쪽)에 있는 객체의 정보 중요성은 낮아지게 된다. 다른 객체로 부터 데이터가 발생이 될때 O 객체의 뒷쪽에 존재한다면..
Linux에서 stack trace 출력 Java로 개발을 해본 개발자라면 프로그램에 문제가 발생되었을때 stack trace가 출력된다는데 상당한 매력을 느낀 개발자가 많을 것이라는 것이다. 이러한 출력이 C/C++에서도 구현이 된다면 얼마나 좋을까 하는 생각을 많이들 해봤을 것이다. 그래서 준비했다.. 즐겨 보시길~ #include void debugTrace( int ndepth) { void *array[ndepth]; int size = backtrace( array, ndepth); char **symbols = backtrace_symbols( array, size); while ((--size) >= 0) fprintf( stderr, " %2.i: %s\n", size + 1, symbols[size]); } 이 함수를 호출하는..