62ª Reunião Anual da SBPC
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 10. Redes
Integração do suporte de rede RakNet no ambiente GameMaker
Felipe Matheus Rosa 1
Luciano Silva 2
1. Universidade Presbiteriana Mackenzie - FCI (IC)
2. Prof. Dr. - Universidade Presbiteriana Mackenzie - FCI (Orientador)
INTRODUÇÃO:
Um game engine geralmente consiste de uma suíte de ferramentas e os componentes de tempo de execução necessários para a criação de jogos, e tipicamente são construídos visando atender a um gênero específico de game (Gregory, et al.,2009). O Game Maker, criado pela YoYoGames, é um game engine que permite a criação de jogos em duas dimensões de maneira visual, do início até a geração do produto executável final. A Raknet é uma biblioteca robusta de código fonte aberto para comunicação de games em rede. Criada utilizando a linguagem de programação C++, é portável para diversos sistemas operacionais. Este trabalho tem como objetivo criar uma extensão para o GameMaker que utilize o padrão wrapper para encapsular as funcionalidades existentes na RakNet de forma a expandir as capacidades de criação de jogos em rede do GameMaker, e também tornar seu uso para o produtor de games mais amigável.
METODOLOGIA:
A metodologia do presente trabalho partiu da revisão da bibliografia pertinente sobre arquitetura e  comunicação em rede utilizando os protocolos TCP e UDP, os quais são suportados pela RakNet. Seguiu-se com o desenvolvimento de um diagrama de classe em linguagem UML contendo as principais funcionalidades da biblioteca a ser desenvolvida. Utilizando-se da ferramenta Visual Studio 2005 Express Edition, foi criada uma DLL (Biblioteca de vínculo dinâmico, em português) para Windows que expõe uma interface que realiza a função de abstrair as chamadas da RakNet. Usou-se uma ferramenta proprietária da YoYoGames para criar uma extensão do GameMaker de forma que a DLL criada pudesse ser integrada ao ambiente do GameMaker, expondo suas funcionalidades ao criador de games.
RESULTADOS:
O produto final do desenvolvimento do presente trabalho foi a criação de uma extensão para o GameMaker, que, através do padrão wrapper, utiliza a biblioteca RakNet como fonte para expor funcionalidades de comunicação em rede no modelo cliente-servidor para o desenvolvedor de jogos.
CONCLUSÃO:
A integração da RakNet ao ambiente GameMaker ocorreu de forma satisfatória. As funcionalidades expostas ao GameMaker possuem os mesmos recursos presentes em sua linguagem de script nativa, como o auto-completar, o que facilita a utilização. A comunicação cliente-servidor através da RakNet se mostra mais robusta quando comparada com a solução nativa presente no GameMaker, devido a extensibilidade da biblioteca e sua capacidade de abstração, que permite ao programador realizar menos chamadas de função.
Instituição de Fomento: PIVIC Mackenzie
Palavras-chave: game engine, jogos multiplayer, cliente-servidor.