Tabla de contenidos p>
Introducción h3>
¿Estás listo para empezar a desarrollar juegos FPS, juegos de rol, juegos de estilo retro, y más con la increíble Unreal Engine? Usted se encontrará con un buen tratamiento, entonces! P>
Unreal Engine 4 es uno de los más populares motores que hay para el desarrollo del juego – la alimentación de todas partes de los juegos indie como Dead de verano em> a AAA juegos como Engranajes 5. em> Su características gráficas de gran alcance permiten a los desarrolladores crear juegos visualmente impresionantes, mientras que el sistema de blueprinting Unreal Engine crea un ambiente que hace que sea fácil para los programadores y no programadores por igual para crear el juego de sus sueños. Para el arranque, el motor es totalmente libre hasta que gane $ 1 millones de dólares con su producto, por lo que es una gran opción para cualquier desarrollador que aspiran. P> Antes de que se sienta intimidado por la potencia del motor, sin embargo, recordar que todo el mundo empieza en algún lugar -. Y este tutorial es el lugar ideal para empezar p> En este tutorial, vamos a estar guiándolo a través de sus primeros pasos como crear su primer juego en el interior del Unreal Engine. Este juego será un juego de plataformas en 3D con gemas de colección y enemigos a evitar. Vamos a ir muchas de las características de Unreal tales como creación de niveles, planos, creando la lógica con los nodos, e incluso la creación de una interfaz de usuario. P> Con todo, vamos a proporcionarle las bases para empezar, así que si usted está listo para ir, vamos a empezar con la creación de plataformas nuestra Unreal Engine! P> No se pierda! extremos de la oferta en Para este proyecto, vamos a utilizar algunos modelos y materiales pre-hechos. P> También puede optar por descargar el proyecto completo para ver lo que las miradas acabados de productos similares. P> El Unreal Engine es un motor de juego creado por Epic Games. Con el foco en potentes gráficos 3D, este motor se ha utilizado para crear muchos juegos AAA populares, incluyendo:. Fortnite, Bioshock, Rocket Liga, y muchos más p> Para instalar el Unreal Engine, hay que descargar los juegos de Epic lanzador. Puede que ya tenga esto, pero si usted no sólo tiene que ir a la página web de Epic Games, y hace clic en el get Epic Games strong> en la parte superior izquierda. P> Ir a través del proceso de instalación y cuando se le pide que de inicio de sesión, que lo hagan. Esto se puede hacer mediante la creación de una cuenta de Epic Games, o iniciando una sesión con su cuenta de Google. P> Una vez que haya iniciado la sesión y tener el lanzador abierta, navegue hasta la Unreal Engine strong>. Aquí, usted quiere ir a la Biblioteca strong> pantalla y haga clic en el botón de instalación. Ya he instalado el motor, por lo que acaba de ver una versión que aparece. P> Esto puede llevar algún tiempo que el motor puede estar alrededor de 15 GB strong> en tamaño. P> Una vez que está completa, haga clic en el botón amarillo Iniciar strong> para abrirlo. Aquí podemos elegir lo que queremos crear. Seleccione Juegos strong> a continuación, haga clic en el siguiente botón strong>. P> La siguiente pantalla nos permite seleccionar una plantilla. Estos son una muy buena fuente de aprendizaje para ver cómo ciertos sistemas se pueden crear en el motor. Por ahora, seleccione en blanco strong> y pulsa siguiente. P> Por último, tenemos la configuración del proyecto. Hay algunas cosas que necesita para asegurarse de que hemos seleccionado. P> En el fondo, se puede elegir la ubicación para guardar nuestro proyecto (que será de alrededor de 800 MB) y el nombre. Una vez hecho todo esto, haga clic en el botón Crear proyecto strong> para abrir el editor. P> Nota rápida: strong> Cuando se abra el editor es posible que aparezca una ventana emergente ventana VR vapor. Podemos simplemente cerca que ya no estamos trabajando en la realidad virtual. P> Bienvenido al editor. Aquí es donde crearemos nuestro juego! Puede parecer desalentador al principio con todas las ventanas, botones y opciones -., Pero vamos a seguir adelante y tratar de hacer un poco de sentido a todo p> Este es el editor de niveles y la pantalla principal que aparece al abrir irreal. El motor se divide en una serie de diferentes editores (editor de materiales, editor de planos, editor de animación, etc.). Cada servir un propósito específico para ayudarnos a crear juegos. El editor de niveles que aquí es lo que usamos para construir nuestros niveles. Lugar más abajo objetos, la configuración de la iluminación y en general gestionar el proyecto. P> Nos va a ir sobre más acerca de cada panel a medida que existe en el tutorial. P> En el Unreal Engine, que tiene el concepto de niveles. Strong> Los niveles son los que se divide un juego arriba. Diferentes etapas, áreas, etc. En este momento, estamos en uno de los niveles de arranque que viene con los primeros contenidos. Ahora vamos a seguir adelante y crear una nueva. P> Esto nos creará un nuevo nivel con un par de cosas que ya están en ella. P> Durante la Mundo Outliner strong> podrás ver que tenemos un modelo de piso, una luz, un comienzo jugador y algunos objetos skybox. Estos ayudan a construir la escena que vemos aquí. P> Antes de continuar, vamos a bajar a la Navegador de contenido strong> y crear 4 nuevas carpetas para almacenar nuestros activos futuros (botón derecho del ratón y seleccione Nueva carpeta em>). P > Ahora podemos guardar nuestro nivel (CTRL + S) en la carpeta Niveles. Darle el nombre de MainLevel strong>. P> Si abrimos la carpeta niveles, podrás ver que tenemos la MainLevel strong> activo allí. Si alguna vez queremos abrir el nivel, podemos hacer doble clic sobre él. P> Nota rápida: strong> Para facilitar la navegación, haga clic en el botón Mostrar Panel Fuentes em>. Esto nos dará una visión general de la estructura de carpetas. P> Mientras estamos aquí, vamos también importan nuestros activos de introducción. Estos son unos pocos modelos en 3D y materiales que usaremos y se pueden descargar aquí. Dentro del archivo ZIP, habrá un Modelos em> y Materiales em> carpeta. Coloque el contenido en sus respectivas contrapartes en el navegador de contenido del editor irreal. Puede pop-up con algunas opciones de importación, haga clic en la importación de todos ellos. P> Ahora es el momento de crear nuestro jugador! Vamos a ser capaces de moverse y saltar sobre las plataformas. Pero antes de saltar en, vamos a configurar los controles, ya que necesitamos saber qué botones son para el movimiento y que son para saltar. P> Abrir el Configuración del proyecto strong> ventana ( Editar> Ajustes del proyecto em>). En la lista de la izquierda, seleccione entrada strong> para ir a las opciones de entrada. Tenemos Acciones em> y eje em> ‘. Las acciones son botones de ingreso individuales (es decir, pulsar un botón y sucede algo). Entonces tenemos eje entradas que cambian un valor basado en la entrada dada (es decir, un controlador de palanca de mando). P> En primer lugar, vamos a crear una nueva acción llamada Ir em>. Coloque la llave en la barra de espacio. P> A continuación, vamos a añadir dos nuevas asignaciones de eje. Un eje para mover hacia adelante y hacia atrás, así como un eje para mover a izquierda y derecha. Asegúrese de ajustar su escala como se ve en la imagen. P> Ahora que tenemos nuestra configuración de entradas, vamos a volver a la ventana principal de nivel (pestaña en la parte superior de la pantalla) y creamos nuestro jugador modelo strong>. En el Unreal Engine, planos son objetos que podemos tener en nuestros juegos que tienen cada uno sus propias propiedades, secuencias de comandos y varias otras cosas. Piense en el jugador, enemigos, joyas, etc. Estos son todos los planos. Ellos tienen su propia lógica y que se pueden crear / destruido. Para crear un modelo, vamos a ir a nuestro Bluerints em> carpeta, haga clic derecho y seleccionar Blueprint Clase strong>. P> Se nos pedirá elegir una clase padre. En irreal, tenemos una serie de clases base que podemos ampliar en función de lo que queremos crear. Seleccione la Hipoteca strong>. A medida que el jugador que podemos poseer un peón por lo que recibirá nuestras entradas. Llamar el modelo:. Reproductor em> p> Ahora haga doble clic sobre el plano para abrirlo en el Editor de Blueprint. Se le puede pedir que abrirlo en el editor completo. Si es así, haga clic en el botón. P> Así que aquí tenemos el Blueprint Editor. Aquí, podemos crear nuestro objeto jugador haciendo muchas cosas. P> Lo primero que tenemos que hacer es darle nuestro empeño (el tipo de clase del jugador es) la capacidad de moverse. O darle el conocimiento de cómo hacerlo. Para ello, podemos hacer clic en el botón Agregar componente strong> y la búsqueda de FloatingPawnMovement em>. Esto añadirá el componente a nuestra lista de componentes. P> A continuación, tenemos que dar al jugador una presencia física. Haga clic en Añadir componentes strong> de nuevo y la búsqueda de StaticMesh em>. Esto es básicamente un modelo 3D. P> Para asignar el modelo, seleccione el StaticMesh em> y otra vez en la Detalles strong> Panel, establecer el Estática de malla em> campo para ser Shape_Sphere em>. p> Nota rápida: strong> Puede mover la cámara en la ventana central. Mantener botón derecho del ratón em> y el uso WASD para volar alrededor. P> Una esfera blanca lisa no queda tan bien, así que vamos también cambiar la Materiales em> a M_Metal_Chrome em>. Cuando establecimos iluminación más adelante en este reflejará todo y se ven bastante bien. P> El componente final va a ser una cámara. Porque necesitamos una manera de mirar al mundo y siguiendo al jugador. Añadir un nuevo Cámara em> componente. En el Detalles strong> del panel … p> Seleccione el StaticMesh strong> y activar Simular Física em>. Esto nos dará la gravedad y la posibilidad de chocar con las cosas. P> También necesita habilitar Events simulación genera Hit strong>. Esto nos permitirá detectar colisiones. P> Para evitar que el jugador se mueva por sí mismo, vamos a abrir el Restricciones strong> y permiten bloqueo de rotación strong> en los ejes X, Y y eje Z. P> Por último, vamos a hacer la malla estática del nodo raíz. Para ello, haga clic y arrastre la malla estática en la parte superior de la DefaultSceneRoot em>. Esto reemplazará ella y hacer que la cámara a un niño. P> Ahora vamos a probar esto en nuestro nivel. De vuelta en el editor de niveles (clic en la pestaña MainLevel), tenemos que crear primero un modelo modo de juego. Esto le dirá el juego de qué objeto es el jugador, etc. En el Modelos strong> carpeta, cree un nuevo proyecto de tipo Modo Juego Base em> y lo llaman MyGameMode em>. p> doble clic en él para abrir el editor de planos. En el Detalles strong> del panel, sólo queremos establecer el Hipoteca defecto Clase strong> para ser nuestro Reproductor em>. P> Guardar que, a continuación, volver a la editor de niveles. En el Detalles strong> del panel, haga clic en la configuración del Mundo strong> y ajuste el Reemplaza GameMode em> para ser nuestro nuevo MyGameMode em>. p> Ahora bien, si hace clic en el Reproducir strong>, verá que el centro de ventana gráfica se convierte en el juego y nuestros engendros jugador en! P> Ahora que tenemos todos los componentes de nuestro jugador, vamos a empezar dándoles la lógica. En el Reproductor em> modelo, haga clic en el gráfico de eventos strong> . Esto nos llevará a la gráfica nodo. En irreal, podemos crear la lógica mediante la creación de estos gráficos. Se componen básicamente de nodos con conexiones. Ciertas conexiones activarán cuando ocurren ciertas cosas. También podemos tener condiciones, por lo que cuando algo sucede, podemos comprobar si era a em> o b em> a continuación, hacer algo basado en eso. p> Se dará cuenta de que hay tres nodos ya allí. Estos son los nodos de eventos (los rojos) y gatillo cuando sucede algo. P> Vamos a prueba de esto. Haga clic derecho y la búsqueda de un nodo llamado Imprimir strong>. Cuando se activa, este nodo puede imprimir algo en la pantalla. P> Se verá que cada nodo tiene estas flechas blancas. Estos son cómo nos conectamos nodos y potencia em> ellos. Algunos, como la impresión tienen una entrada y de salida, blanco comenzará a jugar sólo tiene una salida. Esto significa que cuando se alimenta de impresión, entonces se puede pasar a otro nodo. Haga clic y mantenga pulsado el BeginPlay strong> salida del nodo y arrastre que a Imprimir strong> ‘s de entrada. P> Así que ahora cuando BeginPlay strong> se activa (una vez al inicio del juego), el nodo de impresión se disparará – impresión hola em> a la pantalla. Puede volver al editor de niveles y probarlo. P> Ahora vamos a empezar a trabajar en nuestro jugador se mueve alrededor. Seleccione todos los nodos y eliminarlos (tecla de borrar). También puede moverse con el botón derecho del ratón y el zoom con la rueda de desplazamiento. P> Haz clic derecho y crear un nuevo nodo llamado InputAxis Move_ForwardBack strong>. Se dará cuenta de que esta es una de las entradas que hemos creado. Así que cuando W em> o S em> es presionado, esto desencadenará. También tiene esta verde eje de valores strong> Lo salida también. Los nodos pueden tener ambos valores de entrada y de salida. Para nosotros, el valor del eje es sólo el valor de escala de -1 a 1. P> Drag cabo salida del nodo de flujo strong> (la flecha blanca) y liberarlo. entonces podemos buscar el Añadir Movimiento de entrada strong> nodo y se conectará automáticamente. Este nodo hace todo el trabajo duro de mover realmente el jugador, con algunas entradas dadas. Desde ya tenemos el valor de escala, arrastrar nuestro Eje Valor em> de salida en el Escala Valor em> de entrada. P> Por último, sólo tenemos que darle la dirección mundo que se moverá en. Para ello, haga clic derecho y crear un nuevo nodo llamado Obtener Actor Adelante vector strong> y enchufe que en el Dirección Mundial em> de entrada. p> En la parte superior de la pantalla, ahora podemos pulsar el botón Reproducir strong> y probarlo! Usted puede notar que el jugador es un poco rápido. Seleccione el FloatingPawnMovement em> y establecer el componente Velocidad máxima strong> a 500 em>. P> Ahora podemos configurar el movimiento horizontal. Esta vez con el InputAxis Move_LeftRight strong> nodo que se activa con los em> y D em> llaves. Para la dirección del mundo, queremos utilizar la dirección actor adecuado. P> Ahora usted debería ser capaz de jugar el juego con las teclas WASD. P> A continuación está saltando. Para esto, sin embargo, necesitamos saber cuando estamos de pie en el suelo. Vamos a empezar por la creación de una nueva variable. En el Mi Blueprint strong> Panel, crear una nueva variable llamada a tierra strong>. Durante en el Detalles strong> Panel, establecer el Tipo de variable strong> a booleano em>. Una variable booleana puede ser verdadera o falsa. P> En nuestro gráfico, crear un nuevo nodo llamado Golpe de eventos strong>. Este se activa cada vez que entramos en el colisionador de otro objeto (es decir, el suelo). Hay muchas salidas, pero sólo vamos a usar uno. P> Conectar el flujo de salida a un nuevo nodo llamado Rama strong>. Este es un nodo muy especial que nos permite dividir el flujo en función de una condición dada. Cuando chocan con otro objeto, que no sabemos si se trata de más arriba, hacia abajo o hacia un lado. Por lo que sólo queremos estar conectados a tierra cuando estamos en colisión con un objeto debajo de nosotros. P> Para ello, vamos a crear un nuevo nodo llamado Igualdad (Vector) strong>. Este nodo realiza en dos vectores (propiedad que contiene una X, Y y Z) y las compara. Si son la misma, se da salida verdadera, de lo contrario falso. P> Conectar del Golpe de eventos golpe normal em> de salida al nodo, y establecer la otra entrada a 0, 0, 1 em>. Lo que estamos comprobando aquí es si el objeto que golpeamos, tiene una colisión normal (dirección del punto de colisión se enfrenta a) de hasta. Si es así, esto significa que están de pie en algo. Conectar el nodo a la rama. P> A continuación, en la rama nodo tenemos dos salidas de flujo. Uno de si la condición es verdadera y uno para si es falsa. Crear un nuevo nodo llamado Establecer a tierra strong> y conectarse a cierto que la producción de la rama. Asegúrese de marcar también la entrada de puesta a tierra. Esto significa que cuando chocan con un objeto, vamos a comprobar para ver si estamos de pie sobre algo. Si es así, establecer el a tierra em> variables de verdad. P> pronto puede notar que el gráfico puede verse bastante enrevesado. Una forma de evitar esto es mediante la categorización de las diferentes partes. Así que selecciona todos los nodos relacionados con el movimiento, clic derecho y seleccionar Crea comentario a partir de la selección strong>. A continuación, puede darle nombre. P> Ahora que podemos detectar el suelo, vamos a implementar el salto. Para empezar, podemos crear una nueva variable llamada JumpForce strong>. Establecer el tipo de variable a Flotador em>. Este es un número de coma flotante (es decir, número decimal como 5.2, 100.1, etc). P> Esto es lo que el salto se verá así. P> A continuación, haga clic en el botón Compilar strong> para compilar el gráfico. Esto nos permitirá establecer el valor predeterminado para la variable de fuerza de salto. Define en 70000 em>. Podemos a continuación, pulse el juego y probar el salto. P> De vuelta en el editor de niveles, nuestro juego se ve bastante soso. Para empezar, seleccione a continuación, eliminar el suelo existente. En los Modelos strong> carpeta, arrastre en la Platform0 em> modelo. P> Nota rápida strong> strong> Puede utilizar el aparatito movimiento (rojo, azul y flechas verdes) para mover alrededor de un objeto seleccionado. Puede alternar entre la rotación (pulse E), la escala (presiona R) y mover (pulse W) artilugios. P> También tiene que mover el objeto Player de inicio un poco por lo que está de pie en la plataforma. P> A continuación, vamos a añadir un poco de agua que matará al jugador si la tocan. P> En el Modos strong> Panel, arrastre el objeto de cubo. P> Después de esto, se puede ir a través y agregar en algunos más plataformas. P> Dentro de la StarterContent / Puntales em> carpeta, tenemos un strong> modelo SM_Rock. Arrastre de que en la escena, la posición / escala / rotarlo. entonces podemos copiar y pegar y moverlo para parecerse a la imagen de abajo. Este será un buen fondo para el nivel. P> Ahora vamos a hacer que la noche. Seleccione la Fuente de luz strong>. P> Seleccione el Cielo Esfera strong>. P> No es sin embargo oscuro. Para solucionar este problema, podemos hacer clic en la flecha cerca de la Generar strong> y seleccione Construir Iluminación Sólo strong>. Esto construir nuestra iluminación, haciendo que la escena a ser oscuro. P> No queremos que la escena sea aunque totalmente oscuro. En el Modos strong> Panel, vaya a la Luces strong> y arrastre en una luz direccional strong>. P> Opcionalmente, también puede crear un poco de Rect luces strong> de diferentes colores para añadir un poco de color. Pero no van por la borda, ya que nuestros enemigos y joyas también serán emisores de luz. P> Para guiar al jugador a través del nivel, vamos a tener algunas gemas para que puedan recoger. En el Modelos strong> carpeta, cree un nuevo proyecto con una clase padre de Actor strong>. Llamar a este modelo:. Gema strong> p> Doble click en el plano para abrir el editor. En primer lugar, tenemos que añadir un Estática de malla strong> componente y arrastrarlo a la raíz escena para que sea el componente principal. P> Como hijo de la malla, añadir un nuevo luz del punto strong> componente. P> La selección de la malla estática, vamos a ir a la Detalles strong> del panel. P> Ahora vamos a ir a la Evento Gráfico strong>. Aquí, queremos configurar la capacidad de la gema para rotar con el tiempo. P> Save that, then go back to the level editor. Here, we can drag in the blueprint to create a new object. Place the gem on top of the platform like this. We can then press the Play button and see that it rotates! Now we need the gems to give the player some sort of score. Inside of the gem’s blueprint graph, let’s create a new variable called ScoreToGive of type Integer (whole number). Also enable Instance Editable. This means that when we create one of these gems in the level, we can set the score to give individually. Each gem can have a different score from the rest. Click the Compile button to make these changes appear in the level editor. We don’t have any score to add to yet. So let’s go to the Player blueprint and create a new integer variable called Score. Next, let’s create a new function (click on the + next to Functions in the My Blueprint panel) and call it AddScore. A function is basically a bunch of logic that can be triggered whenever we want. So from the gem script, we could call the AddScore function, and the logic in that blueprint will trigger. Functions can have inputs and outputs. For add score, we want an input on the amount of score to give to the player. What we want to do in this function is add the Score to Give to our Score. Back in the Gem blueprint, let’s implement the ability to collect it. Ul> Let’s now go back to the level editor. Select the gem and you should see a Score to Give property in the details panel. Set that to 1. Let’s also create multiple gems of different values. Copy and paste a gem… Ul> We can also change the score to give value. Right now when the player hits the water, nothing happens. What we want to do, is reset the level when the player “dies”. So in the Player blueprint, create a new function called Die. This function will reset the current level. Ul> Back in the level editor, let’s call this function when the player hits the water. Ol> This will open up a new blueprint editor. Select the static mesh component. Ul> Click on the Event Graph tab as we’re going to setup a few nodes. Ul> Back in the level editor we can press play and test it out! Now it’s time to create the enemy blueprint. This enemy will move back and forth between two positions. If the enemy hits the player, the Die function will be called. So to begin, let’s create a new actor blueprint called Enemy. Ol> The component layout is very similar to the gem. Select the Static Mesh component. Ul> Next, we can head over to the Event Graph and begin to create the logic. We’ll start with the variables. Ul> Click the Compile button so we can set some variable properties in the Details panel. Ul> To begin, we’ll set the initial values for the Start Position and Target Position. Continue the flow into a Move Component To node. This node takes in a few inputs and moves the object towards a certain location. Ul> When we’ve arrived at the target position, the Completed output flow will trigger. Here, we want to switch the TargetPosition variable to the start position and vice versa so that it bounces between the two. The movement is finished! Now let’s work on colliding with the player. This is basically the same as the water blueprint. Hit the Compile button. Then back in the level editor, we can drag in the Enemy blueprint. Ul> If you press play, you’ll see that it will bounce between the two points! And if you hit it, the scene will reset. Finally, let’s setup our user interface (UI). This is going to be text on-screen which will display the player’s score. In the Blueprints folder, right click, hover over User Interface and select Widget Blueprint. Call this ScoreUI. When you double click on it, it will open up in widget editor. Here, we can setup the UI elements and apply some logic to them. In the Palette panel, we can see all the different UI components we can use. Drag in the Text component. You can click and drag to move it around and resize it by clicking and dragging on the white circles. In the Details panel… Ul> Also, change the name to ScoreText and enable Is Variable. This will allow us to modify it with nodes. At the top right of the screen, click on the Graph button. This will switch us over to the event graph. Ol> What we’re doing here, is creating a new string (text) with two elements. First a “Score: ” string combined with the new score. Then the score text is set to this new text. Now we need to hook this up to the player. In the Player blueprint, create a new variable of type ScoreUI called ScoreUI. Let’s then create the Event BeginPlay node which gets called when the game starts. We’re going to create a new widget, add it to the viewport and then set that as our ScoreUI variable. In the AddScore function, let’s call the UI’s UpdateScore text function. You can now press play and see that when we collect gems, our score goes up! There we go! We’ve completed our first game in the Unreal Engine – just like that. Over the course of this Unreal Engine tutorial, we’ve covered a lot. Not only did we learn how to make and add a variety of objects to compose our 3D platformer level, but we learned extensively how to work with Unreal Engine’s blueprinting system to compose every bit of logic of our game (without manually coding anything!). From here you can choose to expand the existing game – adding in new features or upgrading the graphics. Or you could choose to take your new skill set and apply it to a totally new game. There are many different features and editors available in the Unreal Engine, so have a look at them all. There are also many online resources that go over each aspect of the engine, what each node does, and how to do specific things that you may want. Either way, the foundations you’ve developed here will provide a great starting point for you to become an expert Unreal Engine developer! We wish you the best of luck with your future games!
p>
Ul>
ACCESO ahora p>
Proyecto Archivos h3>
¿Cuál es el Unreal Engine? H3>
instalación h3>
p>
p>
Crear un nuevo proyecto h3>
p>
p>
Ol>
Editor general h3>
p>
p>
Ol>
Creación de un nuevo nivel h3>
Ol>
p>
p>
Ul>
p>
p>
p>
Creación del jugador h3>
p>
p>
p>
Ul>
p>
p>
p>
p>
p>
Ul>
p>
p>
p>
p>
p>
p>
p>
p>
p>
Asignación lógica a nuestro jugador h3>
Ul>
p>
p>
p>
p>
p>
p>
p>
p>
p>
p>
p>
p>
p>
p>
p>
Ul>
p>
p>
Edificio del Nivel h3>
Ul>
p>
p>
Ul>
p>
p>
p>
Ul>
p>
Ul>
p>
p>
Ul>
p>
p>
coleccionable Gems h3>
p>
Ul>
Ul>
p>
Ul>
p>
Ul>
p>
Resetting the Player
Enemy Blueprint
Score UI
Conclusión h3>
Mensajes relacionados h3>