3 research outputs found

    Re-engineering jake2 to work on a grid using the GridGain Middleware

    Get PDF
    With the advent of Massively Multiplayer Online Games (MMOGs), engineers and designers of games came across with many questions that needed to be answered such as, for example, "how to allow a large amount of clients to play simultaneously on the same server?", "how to guarantee a good quality of service (QoS) to a great number of clients?", "how many resources will be necessary?", "how to optimize these resources to the maximum?". A possible answer to these questions relies on the usage of grid computing. Taking into account the parallel and distributed nature of grid computing, we can say that grid computing allows for more scalability in terms of a growing number of players, guarantees shorter communication time between clients and servers, and allows for a better resource management and usage (e.g., memory, CPU, core balancing usage, etc.) than the traditional serial computing model. However, the main focus of this thesis is not about grid computing. Instead, this thesis describes the re-engineering process of an existing multiplayer computer game, called Jake2, by transforming it into a MMOG, which is then put to run on a grid

    Architecture de rebalancement dynamique pour jeux massivement multijoueurs en ligne fonctionnant sur réseaux pair-à-pair

    Get PDF
    Résumé L'industrie des jeux vidéos a connu une forte explosion ces dernières années. En particulier, un tout nouveau genre de jeux, les jeux massivement multijoueurs en ligne, a connu une forte popularisation. Ces jeux se caractérisent par un environnement virtuel immense et persistant qui est continuellement actif et évolutif. À la différence des autres jeux, les jeux massivement multijoueurs en ligne intègrent des milliers de joueurs qui participent au sein du même univers commun à tous. À l'heure actuelle, la gestion informatique de tels univers nécessite beaucoup de ressources et constitue un défi de taille afin de s'adapter au nombre toujours croissant de joueurs. Le modèle client-serveur est actuellement utilisé, mais ce dernier s'avère éventuellement limité puisqu'il arrive un point où la puissance d'une seule machine ne suffit plus à assurer la prise en charge de tous les joueurs. L'utilisation d'un modèle pair-à-pair constitue une approche intéressante puisqu'il permet de redistribuer la charge de traitement requise pour assurer la maintenance du jeu aux noeuds-joueurs eux-mêmes. Certaines approches pair-à-pair ont été proposées dans la littérature. Nous proposons d'aller un peu plus loin en proposant une approche hybride flexible capable de s'adapter automatiquement aux conditions actuelles en cours de jeu. Plus précisément, notre approche propose de découper dynamiquement le territoire du jeu et d'assigner chaque parcelle à un noeud serveur choisi arbitrairement parmi les joueurs participant actuellement au jeu. Le modèle propose ensuite d'analyser continuellement la charge réseau imposée à chaque noeud et d'appliquer automatiquement des opérations de rebalancement pour redistribuer la charge afin d'assurer une qualité de jeu optimale pour tous. À cette fin, une plate-forme de simulation implémentant le modèle proposé a été construite afin d'évaluer le fonctionnement du modèle sous différentes conditions. Plusieurs simulations complètes de longue durée ont été réalisées. À partir des données produites par ces simulations, nous avons étudié la charge consommée par le serveur central par rapport au modèle client-serveur classique. Nous avons également étudié la charge imposée à chaque noeud serveur pour s'assurer que la capacité maximale n'était pas dépassée et que la latence demeurait dans des valeurs raisonnables. Les simulations les plus restrictives au niveau des paramètres ont montré que dans certaines situations limites (un très grand nombre de joueurs sont rassemblées dans une région restreinte, ou alors la capacité des noeuds est trop faible), le modèle peut avoir de la difficulté à maintenir une bonne répartition de charge. À l'inverse, nous avons déterminé que sous des conditions typiques (capacité des noeuds, distribution des joueurs, taille du monde virtuel), le modèle est pleinement fonctionnel et permet d'assurer une qualité de jeu très satisfaisante pour pratiquement l'ensemble des joueurs, et ce, malgré les fluctuations et changements à l'univers virtuel survenant continuellement en cours de jeu. Nous pouvons donc conclure en disant que le modèle proposé constitue une alternative fonctionnelle et efficace au modèle client-serveur actuellement mis en place.----------Abstract In the recent years, the video game industry has been given much attention. More specifically, a new game genre, massive multiplayer online games (MMOG), has emerged. MMOG games feature a very large and persistent virtual universe that always remains active and evolves continuously. Contrary to other traditional multiplayer games, massively multiplayer online games typically have thousands of simultaneous connected players. As for the moment, managing such complex game universes takes a lot of system resources. Furthermore, adapting to the uctuing number of game players is an important challenge. As of today, massively multiplayer online games use the so-called client-server model, but this model is limited by the fact that a single machine cannot handle more than a given number of players. A peer-to-peer model is a more interesting approach since it allows redistributing game maintenance load to all player nodes. Some peer-to-peer approaches propose have been proposed in the litterature. We propose going farther by proposing a exible hybrid architecture that can adapt itself to current game conditions. More precisely, our approach propose dynamically splitting the game territory into a given number of pieces and assigning each \piece" to an arbitrarily-chosen server node from the currently participating players. The proposed model then propose continuously analyzing the network load for each game zone and automatically applying rebalancing operations to redistribute the load, eectively leading to a better game quality for all players, in all conditions. A simulation patform implementing the proposed model has been developped. This platform, called the \simulator", has been built to evaluate our model operates under dierent conditions. Many complete simulations have been performed. Those simulations have been run for a long time lapse. Data samples have then been produced from the performed simulations. We proceeded to study the load consumed by the central server using the proposed model and compared it against the client-server model. We also studied the load imposed to each server node to ensure the maximal allowable load wasn't exceeded and made sure that the latency was within an acceptable range. The simulations with the more restrictive parameters demonstrated that under some critical situations (such as a very large number of players located in a small area or such as a very low node load threshold), the proposed model may have trouble maintaining a good load balancing. Inversely, we have determined that under typical conditions (node load threshold, player distribution, virtual world size), the model is fully functional and ensures an excellent game quality for pratically all players, despite the constantly-evolving nature of MMOG games. Consequently, we can conclude by saying that the proposed model is a functional and ecient alternative to the traditional client-server typically used in today's applications
    corecore