Complutense University Library

Editor de terreno y máquina de estados para el desarrollo de videojuegos

Simón, Alejandro (2010) Editor de terreno y máquina de estados para el desarrollo de videojuegos. [Coursework] (Unpublished)

[img]
Preview
PDF
3MB
View download statistics for this eprint

==>>> Export to other formats

Abstract

Este proyecto ha sido concebido para resolver dos de los problemas más importantes en el desarrollo de videojuegos. Ambos problemas serán tratados durante todo este documento, proponiendo diversas soluciones y explicando el por qué de la solución escogida en cada caso. Como producto final se han creado dos herramientas que pueden ser usadas para mitigar dichos problemas. Para demostrar su correcto funcionamiento y la consecución del objetivo marcado se incluyen pruebas y demostraciones de ambas herramientas.
Por un lado, la mayor parte de los videojuegos actuales requieren escenarios y terrenos realistas, que además puedan ser modificados dinámicamente durante el desarrollo de la partida. Esto dotará de un gran realismo a cualquier juego. En este ámbito se han investigado diferentes técnicas, las cuales serán explicadas en esta memoria. La herramienta desarrollada ha tenido como requisito indispensable disponer de un manejo fácil e intuitivo, ya que teóricamente está ideada para ser usada, entre otros, por diseñadores con el fin de crear distintos escenarios dentro de un juego. El nombre utilizado a lo largo de esta memoria para referirse a esta herramienta es Editor de Terreno o Terrain Editor.
El segundo problema abordado con el desarrollo de este proyecto es el de la animación y movimiento de los personajes en el juego. Desde el punto de vista del usuario se puede llegar a pensar que esta parte del desarrollo de un videojuego consiste únicamente en modelar y animar a los personajes en un software de modelaje 3D como puede ser Maya, 3D Studio Max o Softimage ModTool, éste último ha sido el empleado para la realización del proyecto. Pero se debe tener en cuenta que además crear el modelo y las animaciones, se debe integrar este trabajo dentro del juego. Esto no es algo trivial y consume gran cantidad de tiempo y recursos. Sin lugar a dudas este proceso es uno de los más costosos y supone un cuello de botella en la planificación y en el desarrollo de cualquier videojuego. Es aquí donde la segunda herramienta desarrollada en este proyecto entra en escena. La aplicación, denominada Finite State Machine tool, supone un puente entre el trabajo de modelado y animación y el código del juego. Además sirve de ayuda directa a los diseñadores, ya que les permite visualizar sus creaciones tal como serán en el juego final. Utilizar esta herramienta en las primeras etapas del desarrollo puede ahorrar mucho tiempo y puede suponer un aumento en la calidad final del producto. Es importante aclarar en este punto que esta herramienta no son los modelos 3D o las animaciones. El contenido variará dependiendo del juego en el que la aplicación vaya a ser utilizado.
Ambas herramientas han sido desarrolladas utilizando Microsoft XNA Framework en el lenguaje C#, para dos plataformas diferentes: Windows y Microsoft Xbox 360. XNA es un framework de libre distribución que permite la utilización de un motor gráfico y físico junto con librerías específicas para el desarrollo de videojuegos tanto para PC como para Xbox 360, Zune y, en la última versión del producto, Windows Mobile. Ésta se ha convertido en un herramienta muy popular entre el mundo del desarrollo de juegos independientes, por su potencia y accesibilidad. Las dos herramientas desarrolladas en este proyecto encajan perfectamente en este marco. Cambiando el contenido del material usado por ellas, como los modelos, texturas o animaciones, ambas herramientas pueden ser usadas para el desarrollo de prácticamente cualquier tipo videojuego que se quiere implementar con este framework. Sin embargo, se escogió un concreto juego en desarrollo.
[ABSTRACT]
My main responsibility on this project is to solve two different common problems when developing a video game. On the one hand, I have researched on the need of games to have realistic scenarios, including the possibility of being modified dynamically during playtime. As a requirement, the tool designed for this purpose should be easy and intuitive to control due to it will be used theoretically by level designers to performance different stages for a game. On the other hand, it is well known that animations are, at the same time, an indispensable feature in a game and a bottleneck during the development. Therefore, the overall aim of this research project is to solve the previously addressed problems in an efficient and satisfactory way. To achieve my goals, two different tools were implemented: Terrain Editor tool and Finite State Machine tool.
Both tools were designed to be used within the XNA framework, for two different platforms: Windows and Xbox360. In addition to this, either the Terrain Editor or the FSM tools are independent from the game that will be applied on. This means that by just changing the project content (models, animations and textures) the tools can be used in the development of almost any kind of game within the XNA Framework. Nevertheless one specific game was chosen in order of the implemented tools to be evaluated and to demonstrate the capabilities of them. The reader of this paper will find more detailed information about this game in section 3: Background. Furthermore, the tools were used in a second game that takes advantage of the potential of the tools. The main feature of this game, called Tremors, is the realism of the deformable dynamic environment. More information about this game can also be found in section 7: Demonstration, including screenshots taken during play time.
Video games development can be considered an art. However, during the creation of a game a great bunch of different things can go wrong, wasting a lot of work, effort, dedication and, why not, money. The tools proposed in this paper were implemented with the idea, not only of minimized risks concerning the terrain creation and animations, but also of using advanced techniques to achieve great performance. The high quality results achieved with these tools can make big difference in the overall game product.
The techniques selected to implement the tools are height mapping, normal mapping, Phong model for lighting and altitude based texture sampling for the Terrain Editor tool and finite state machines with keyframed animations for the second tool. During the reading of this paper, it will be shown to reader the advantages of those techniques and why they were chosen.

Item Type:Coursework
Additional Information:Trabajos de curso (Departamento de Ingeniería del Software e Inteligencia Artificial, FDI) Proyecto de Sistemas Informáticos (Facultad de Informática, Curso 2009-2010)
Uncontrolled Keywords:Editor de terreno, Height mapping, Normal mapping, Phong model lighting, Finite state machine, Keyframed animation, XNA Game Studio Framework, Máquina de estados
Subjects:Sciences > Computer science > Expert systems (Computer science)
ID Code:11282
Deposited On:18 Oct 2010 14:22
Last Modified:06 Feb 2014 09:00

Repository Staff Only: item control page