Summary: | Made available in DSpace on 2016-06-02T19:06:21Z (GMT). No. of bitstreams: 1
6591.pdf: 8019461 bytes, checksum: 4326ece159964b796f9e5dc900653fb4 (MD5)
Previous issue date: 2014-09-17 === The electronic gaming industry has recently witnessed an exponential growth in terms of titles and overall complexity of the games. This growth is responsible for many advances in computational technologies. But it also revealed problems related to the development process. It is very common that game projects exceed budget and schedule, not to mention the high number of bugs delivered to the final consumer. Current tools that support the development of games, such as game engines, allow great flexibility and artistic freedom, but require professionals with a high degree of technological knowledge, which means that a high financial investment is often needed. To help solving these problems, the literature suggests the use of Model-Driven Development (MDD). The increased abstraction level made possible through MDD can lead to higher reuse levels, and the automation achieved by code generation helps to reduce development time. But for automation, the developer often has to pay the price of reduced flexibility since the MDD exists a lack of flexibility in designs, but with manual code that can be overcome. Given these challenges, it is proposed an approach for game development that targets models to offer efficiency but without losing the flexibility in projects. This goal can be achieved through the integration of multiple DSLs with handwritten code, with the help of design patterns. To evaluate this approach, it was developed a tool capable of assisting the development of games following the concepts of MDD, which was subsequently subjected to experiments to validate its effectiveness. According to the experimental analysis, it was possible to observe that the proposed approach can provide the desired efficiency and flexibility in game development. It was also noted that due to the automation offered by code generators, inexperienced developers could create their projects with greater ease. However the study indicates that abstraction offered by MDD hinders the learning of the technology used. === Nos últimos anos, a indústria dos jogos eletrônicos tem assistido a um crescimento exponencial em termos de novos títulos e também na complexidade dos jogos. Este crescimento e responsável por muitos avanços nas tecnologias computacionais. Mas também revelou problemas relacionados com o processo de desenvolvimento. E muito comum que projetos de jogos excedam o orçamento e o cronograma, para não mencionar o elevado numero de jogos com defeitos entregues ao consumidor final. As ferramentas atuais que apoiam o desenvolvimento de jogos, tais como motores de jogo, permitem grande flexibilidade e liberdade artística, porem elas necessitam de profissionais com alto grau de conhecimento tecnológico, o que significa que muitas vezes e necessário um alto investimento financeiro. Para ajudar a resolver esses problemas, a literatura sugere o uso de Model-Driven Development (MDD). O aumento do nível de abstração oferecido pelo MDD pode conduzir a maiores níveis de reutilização, e da automação conseguida na geração de código ajudando a reduzir o tempo de desenvolvimento. Mas para ocorrer a automação, o desenvolvedor muitas vezes tem que pagar o preço da redução da flexibilidade ja que no MDD existe a falta de flexibilidade nos projetos, porem com código manual isso pode ser superado. Diante desses desafios é proposta neste trabalho uma abordagem de desenvolvimento de jogos dirigida a modelos capaz de oferecer eficiência sem perder a flexibilidade nos projetos. Esse objetivo pode ser alcançado por meio da integração de multiplas DSLs com códigos escritos a mão através da definição de padrões de projetos específicos. Para avaliar essa abordagem, foi desenvolvida uma ferramenta capaz de auxiliar o desenvolvimento de jogos seguindo os conceitos do MDD, a qual posteriormente foi submetida a experimentos para validar sua eficácia. De acordo com a analise experimental foi possível observar que a abordagem proposta pode oferecer a eficiência e flexibilidade desejada no desenvolvimento de jogos. Também foi notado que devido as automatizações oferecidas pelos geradores de código, desenvolvedores inexperientes puderam criar seus projetos com maior facilidade. Contudo o estudo indica que a abstração oferecida pelo MDD dificulta o aprendizado da tecnologia utilizada.
|