Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Diseño y desarrollo de un armazón para la generación procedimental de terreno y vegetación en Unity

Citation

Abstract

Es muy habitual encontrar blogs en Internet de desarrolladores de videojuegos independientes que en algún momento de su vida han pensado en hacer un proyecto que requiera la generación procedural de contenido, incluso que permita a cada jugador enfrentarse a un mundo virtual diferente cada vez. Estos proyectos a menudo tienen dos factores en común. El primer factor es que suelen empezarse de cero, sin usar herramientas que ahorren trabajo a los desarrolladores, que tienden a programar sus propios generadores de terreno basados en ruido y sus propios posicionadores de vegetación. El segundo factor es que los productos finales son muy parecidos entre sí, siendo las únicas diferencias los recursos audiovisuales utilizados en cada proyecto. En este trabajo proponemos una herramienta que busca ahorrar horas de trabajo a estos desarrolladores independientes interesados en usar la generación procedimental de terrenos y vegetación pero sin tener que construirse ellos mismos la infraestructura desde cero y pudiendo personalizar los resultados. Esta herramienta permite al desarrollador generar mundos virtuales con varias características interesantes. En primer lugar, pueden utilizarse biomas adaptables a las características del terreno, es decir, a su altura (partes más altas en sistemas montañosos o partes más bajas en orillas), forma o texturizado. En segundo lugar, hay un sistema de generación de localizaciones y objetos relevantes para el juego. En tercer lugar, hay un posicionador de vegetación según biomas para dar vida al mundo generado. En cuarto lugar, es posible decidir si se usan texturas corrientes sobre un terreno continuo y suavizado o texturas planas sobre un terreno formado por cubos. En quinto y último lugar, cuenta con optimizaciones para mejorar el rendimiento en ejecución tanto del terreno como de la vegetación generada. El funcionamiento se ha validado mediante la realización de pruebas en el laboratorio y también con usuarios reales de la herramienta.
It is very common to find blogs on the Internet from independent game developers who at some point in their lives have thought about doing a project that requires procedural generation of content, even allowing each player to face a different virtual world each time. These projects often have two factors in common. The first factor is that they are often started from scratch, without the use of labour-saving tools for developers, who tend to program their own noise-based terrain generators and their own vegetation positioners. The second factor is that the final products are very similar to each other, the only differences being the audiovisual resources used in each project. In this paper we propose a tool that aims to save hours of work for those independent developers interested in using procedural generation of terrain and vegetation but without having to build the infrastructure themselves from scratch and being able to customise the results. This tool allows the developer to generate virtual worlds with several interesting features. Firstly, biomes can be used that are adaptable to the terrain characteristics, i.e. height (higher parts in mountainous systems or lower parts on shores), shape or texturing. Secondly, there is a system for generating game-relevant locations and objects. Thirdly, there is a biomebased vegetation positioner to bring the generated world to life. Fourthly, it is possible to decide whether to use ordinary textures on a smooth, continuous terrain or flat textures on a terrain made up of cubes. Fifthly and finally, it has optimisations to improve the running performance of both the terrain and the generated vegetation. The performance has been validated by testing in the lab and also with real users of the tool.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo de Fin de Grado en Desarrollo de Videojuegos, Facultad de Informática UCM, Departamento de Ingeniería de Software e Inteligencia Artificial, Curso 2023/2024. En el repositorio de Github pueden encontrarse todas las tareas realizadas a lo largo de todo el proyecto, incluyendo por qué integrante ha sido realizada: https://github.com/Narratech/TFG-Castillo-Comas-Garcia-Villegas

Keywords