Sistemas de portales multijugador con Unreal Engine.
Fecha
2023Resumen
Unreal Engine es un motor diseñado y desarrollado por Epic Games. Este motor
se utiliza generalmente para el diseño y desarrollo de videojuegos, pero puede
tener otras aplicaciones. Este motor está preparado para ser usado fácilmente en
modo multijugador, es decir, que varios jugadores pueden estar en la misma
partida y las acciones de uno tienen un impacto en la partida del otro. Aun con
todas las facilidades que el motor otorga, es necesaria una buena comprensión
para poder desarrollar sistemas complejos.
Unreal Engine está demostrando ser cada día más versátil, siendo usado en
infinidad de sistemas y aplicaciones diversas. Por ello, es fundamental trabajar de
una forma que maximice la reutilización de nuestro trabajo. Esto facilita no
tener que resolver el mismo problema una y otra vez. Una forma de lograr esto es
dividir el código en plugins y módulos independientes y agnósticos que
puedan ser fácilmente migrados de un proyecto a otro.
Definimos un portal como un punto en el espacio que está conectado con otro
punto en el espacio en una distinta ubicación, de tal manera que, cuando
cruzamos uno de ellos, la parte de nosotros que lo ha cruzado ha viajado en el
espacio hasta la posición del portal conectado. Además, un portal puede llegar a
tener una representación visual, que sería lo que se vería si estuviésemos mirando
a través del portal conectado, como si la luz también pudiera viajar a través de él.
El objetivo de este proyecto ha sido la realización de un plugin que incorpore
en cualquier proyecto la funcionalidad de portales con soporte de
multijugador. Este plugin debe poder ser fácilmente migrado de un proyecto a
otro y debe ser claro e intuitivo de utilizar, en especial por diseñadores Unreal Engine is an engine designed and developed by Epic Games. This engine
is used generally for the design and development of video games, however it can
have other uses. This engine is prepared for being easily used in multiplayer
mode, that is, two players can be in the same game and their actions have an
impact on each other’s game. However the system is much aiding for developers,
one must have a very good understanding of it for developing a complex system.
Unreal Engine is proving to be more versatile each day, as it keeps getting used in
many different systems and applications. For that, it is important to work in a way
that maximizes reusing our work. That makes it possible to not have to solve the
same problem over and over again. A way of achieving this is to divide the code
in independent and agnostic plugins and modules that can be easily migrated
from one project to another.
We define a portal as a point in space that is connected to another point in space
in a different location in such a way that, if we cross one of them, the part of us
that has crossed it has traveled in space to the position of the connected portal.
Moreover, a portal may have a visual representation of what we would see if we
were looking through the connected portal, as if the light could also travel
through them.
The goal of this project was the development of a plugin that provides in any
project the functionality of portals with support for multiplayer. This plugin
must be easily migrated from one proj