실시간 온라인 게임 서버에서의 게임 상태 동기화는 중요한 문제이며, 기존 동기화 방식은 상황 에 따라 성능이 변동하는 한계가 있다. 본 연구에서는 이를 해결하기 위해 하이브리드 동기화 방 식을 제안한다. 클라이언트 간 거리가 가까울 때는 Lockstep 방식을, 멀 때는 서버 동기화 방식 을 사용하여 일관성과 가용성을 모두 만족시킨다. 술래잡기 게임에서 하이브리드 방식을 적용한 결과, 기존 방식보다 최대 74.6% 향상된 위치 일관성과 23.6% 감소된 응답시간을 달성했다.
Massively Multiplayer Online Role-Playing Game(MMORPG) attract thousand of concurrent users, leading to a surge in server requests. The massive requests results in contention on the game server, causing unexpected latency issues that undermine user experience. Delayed latency leads to user dissatisfaction and, ultimately, user churn. In this paper, we propose a multi-threaded game server design that provides stable response time by utilizing computing resources. And we study the performance of the design under various environments by configuring the approaches we implemented. The server consists of a socket system that helps communicate between clients and servers, a task system that handles changes in the status of user, and a synchronization system that allows users to receive the same game information. To prevent serious contention, both lock and lock-free algorithms for process synchronization are applied, and some parallel programming approaches such as visual processing are introduced.
This paper introduces the implementation of client and server for the FPS game which adopts the control element of the racing genre. Game playability is enhanced by combining the users interaction, shooting elements of FPS and the car control element of racing game. User’s tank can move along the slope and the client can stably synchronize with server independently of hardware. By deploying the neutral monster, game excitement is raised. Game server is designed using the IOCP socket to provide the multiplayer game. The proposed game is implemented, and shows the effectiveness of the combining method.
The UCC (User Created Contents) culture has evolved through the game. Video sites Photo specialized UCC the UCC, real-time broadcasting, such as flash-based discusses a range of the UCC. This phenomenon is not an exception in the game too. Games, especially the 'Mercy nima (Machinima)' the words evolved as a form of one of our shows in the UCC. Games like this are a lot of video UCC and the service model, but efficient video content for the service based on the server side of the codec is not much research on automation technology. In this paper in order to improve the server-side based on the automatic translation system, has developed a codec, video game technology in the future will have to contribute to the development of the UCC.
리눅스는 공개용 운영체제였으나 점차 그 사용이 늘어나고 있어 현재는 서버 및 개인용 컴퓨터로도 사용되고 있는 효율적인 운영체제 이다. 이에 본 논문에서는 국내의 게임 개발업체의 게임제작 및 운용기술의 효율성을 위해서 리눅스 서버 기반의 게임 설계 소프트웨어를 개발 하고자 한다. 이를 통해서 게임 산업체의 개발 공정 프로세스의 효율적인 운영 및 관리가 가능하다. 그리고 통신 방송 융합 환경에서의 양방향 게임 설계 공정에도 효율성을 줄 수 있다.
다양한 플랫폼에 따라 게임을 개발하는 데에는 중복되는 작업들이 있는 것 같다. 각 플랫폼 에 따라 데이터를 관리하고 처리하는 유사한 작업이 포함되는데, 이는 개발기간에도 영향을 미 친다. 본 논문은 최근 유행하고 있는 전투 시뮬레이션 게임을 멀티 플랫폼 기반으로 서버를 설 계 하고 제작하여 플랫폼 형태와 상관없이 동일한 서버와 같은 전투 시뮬레이션의 결과를 볼 수 있는 서버 프레임 워크를 제안한다. JSON 데이터 포맷을 사용하여 속성-값 쌍으로 이루어 진 프로토콜을 사용하여 디버깅하기 편하게 설계 하였다. 프로그래밍 언어에 독립적이기 때문 에 다양한 언어와 통신을 할 수 있는 장점도 가지고 있다. 서버는 아마존 서버를 이용하여 쉽 게 서버 구조를 확장하거나 서버 스펙을 업그레이드 할 수 있는 모델을 제안한다.
데이터 센터의 전력 소모가 크고, 그 중에 컴퓨터 서버의 전력 소모 비중이 높기 때문에, 최근 서버의 전력 절약을 위한 연구가 다양한 방향에서 진행되고 있다. 서버 컴퓨터의 구성 유닛들 중에서 특히 CPU는 주된 전력 소모 원인이다. 본 논문에서는 게임 서버 클러스터 환경에서 서버 CPU의 전력 소모를 최소화하기 위한 신규 클라이언트들을 서버에 배정하는 방법을 제안한다. 우리는 클라이언트-서버 배정 문제를 최적화 문제로 모델링하고, 시뮬레이티드 어닐링 기반 방법으로 그 해를 구한다. 우리의 방법의 특징들 중 하나는 CPU의 동작 주파수를 부하에 따라 적절히 선택하는 것으로서, 저 부하시에는 낮은 주파수를 선택해 전력 소모를 줄이게 된다. 우리의 조사에 따르면, 온라인 게임 서버의 전력 소모를 고려한 클라이언트-서버 배정에 관한 연구는 거의 없었다.
게임 애플케이션에서 사용하는 데이터의 크기가 점차 커짐에 따라 물리적인 게임 서버 자원은 점차 늘어 가고 있다. 이에 따라 서버의 I/O 성능을 향상시키기 위해 게임 서버에 I/O 가상화 기술 을 도입하고자 하는 요구가 점차 증가하고 있다. 그러나, I/O 지연 시간이 수시로 변하는 게임 서버 는 I/O 응답성을 쉽게 보장하기가 힘들다. I/O 가상화 효과를 극대화하기 위해 I/O 응답성 보장은 매우 중요하며 가상 머신의 우선순위에 따라 I/O 지연 시간을 관리할 수 있는 I/O 스케줄링 기법이 반드시 필요하다. 따라서 본 논문에서는 가상화 환경에서 최대 I/O 지연 시간을 보장하는 효율적인 지연 제약 스케줄링 기법을 제안한다. 또한 제안한 기법을 이용하여 지연시간을 보장하는지 실험을 하여, 패킷의 손실량이 줄고 스케줄링의 공정성이 증가한 것을 확인하였다.
온라인 게임 개발을 위해서는 서버 개발 기술이 중요하다. 왜냐하면 사용자들이 게임을 진행 하는 클라이언트가 서버에 종속적으로 구현되기 때문이다. 본 연구는 서버 개발 기술 중 서버 가 데이터를 데이터베이스에 저장하고 불러오는 데이터연동 방식을 연구하였다. 서버의 데이터 연동은 장소에 관계없이 게임을 이어서 진행할 수 있는 온라인게임의 특성 때문에 매우 중요한 사항이다. 본 논문에서는 여러 데이터연동 방식을 정의와 함께 제안하며 분류하였다. 제안된 방 식들을 사례를 통해 평가하였다. 본 연구를 통해 향후 온라인 게임 서버의 개발 시에 게임의 특징에 맞는 데이터연동 방식을 선택할 수 있을 것으로 기대된다.
온라인 게임 개발에 있어 전통적인 개발 방법론은 서버, 클라이언트를 별도의 모듈로 개발하 는 것이다. 하지만 이 방법은 네트워크 프로토콜 정의, 기획 데이터 관리 등 중복된 모듈이 많 아 개발 비용과 유지보수 비용이 증가한다. 이에 서버, 클라이언트 개발 시 각 영역별로 통합된 단일 모듈을 기반으로 개발하는 방법론을 제시하였다. 제시된 방법론을 온라인 게임 “충무공 해 상대전”에 적용하여 그 효율성을 보였다. 적용된 사례에서는 서버와 클라이언트의 모듈 통합으 로 프로젝트 규모를 15.1% 줄일 수 있었다.
한 업체가 신규 게임 또는 사용자가 많지 않은 게임들을 서비스 하는 경우, 게임별 별도의 서버를 두는 것 보다 서버 여러 대에서 함께 서비스하는 경우가 편리할 것이다. 본 논문에서는 동일 성능의 서버들로 구성된 클러스터 상에서 게임 여러 개를 효과적으로 서버에 배치하는 방법을 제안한다. 우리의 방법에 의하면, 서버들간 부하 불균등을 줄여 사용자 기각률을 최소화할 수 있는 게임 배치를 구할 수 있다. 본 논문에서 제안한 방법은 게임 서비스 시 서버 수, 서버당 게임 수 등과 같은 서버 운영 사항들을 결정하는데 도움을 줄 것으로 예상한다. 우리의 조사에 따르면, 서버 클러스터에서의 게임 배치에 관한 기존 연구는 거의 발표되지 않았다.
본 논문은 오랜 기간 다양한 분야에서 개발되어 온 공개 네트워크 라이브러리인 ACE를 사용하여 게임 서버에 접목 시켜 보았다. ACE 네트워크 라이브러리는 고성능 실시간 통신 라이 브러리와 어플리케이션 개발에 집중되어 있고 방대한 기능을 제공하고 있다. 본 연구에서는 ACE의 여러 기능 중에 게임 개발에 필요한 부분을 논리적으로 재구성하여 최적화 하였고, 재구성한 라이브러리의 검증을 위해 실제 배틀넷 서버를 구현하였다. 실험방법으로는 배틀넷 서버와 테스트 클라이언트를 설정하여 접속 요청 테스트와 데이터 전송 테스트를 수행하였다. 실험 결과로서 검증된 네트워크 라이브러리인 ACE를 사용하여 온라인 게임 개발이 가능하다는 결과를 얻었다.
게임 속의 인공 지능을 높일 수 있는 지형 분석의 방안에 대하여 소개한다. 지형 분석의 방법을 온라인 게임 서버의 AI 방식에 사용함에 의해서 정해진 패턴이 아닌 좀 더 현실적인 AI의 수행이 가능하다. 본 논문에서는 지형 분석을 통하여 NPC들의 행동패턴을 다양화 할 수 있는 방안을 제시하고 이를 구현하기 위한 온라인 게임서버에서의 NPC 서버의 구조를 설계하고 이를 토대로 적응형 AI구현을 위한 NPC 서버의 실험 테스트을 통하여 실제로 적용 할 수 있는 방안을 제시 한다.