viernes, 19 de febrero de 2016

Preparando para la cosecha | Preparing for the harvest

Español | English

Si bien tengo que arreglar unos bugs para la 2° actualización del Infinite Squared Run, es tiempo de que vaya preparándolo para que recorra su camino solo. Con esto me refiero a que para esta segunda actualización trataré de dejar el juego con la plataforma mencionada en los posts anteriores, Tappx. Para el que no se acuerda o no leyó, Tappx muestra las publicidades de otros desarrolladores en mi juego y a cambio esos otros desarrolladores muestran mi aplicación. Después de implementar este servicio, será tiempo de que abandone este juego para empezar otro nuevo, pero obviamente manteniendo cada tanto viva la chispa de Marketing que conlleva a publicar el link del juego en las redes sociales y seguir compartiéndolo.

Para implementar este servicio y reparar otras "molestias" que tenían los usuarios, debo cambiar la forma en la que mi juego se reinicia. Ya que, por lo referido a mi anterior entrada, mencioné los inconvenientes que me trae no poder guardar variables ya que la aplicación se reinicia desde cero. Por lo que en vez de reiniciar la aplicación entera, tengo que posicionar manualmente todos los elementos a como estaban al principio, en sus posiciones originales. El único conflicto entonces que puede aparecer son los "GroundSpawner", los elementos que generan las plataformas aleatoriamente, ya que si uno pierde digamos a los 10 m. , uno vuelve a la posición inicial pero los bloques que estaban más adelante seguirán estando ahí, que puede hacer que se generen bloques encima de otros.

Para solucionar este problema de "colisión" entre las plataformas, cree un script para esto que elimina las plataformas que se toquen entre sí, el problema con este script es que elimina el bloque entero, osea que si de una plataforma que puede constar de 3 bloques, 1 bloque de esta toca con cualquier otro tipo de bloque, ambas se eliminarán. Generalmente esta solución da buenos resultados, el problema es cuando es eliminan las plataformas más bajas, que pueden llegar a crear un vacío muy grande, lo que conlleva a saltos imposibles.

Por lo que ahora mis mayores problemas se basan en el diseño de los mapas. Para lo cual se me ocurren algunas soluciones:
  • Mejorar el script que hace que se borren los bloques al colisionar, haciendo que no se eliminen las plataformas enteras sino los bloques que esta chocándose en cuestión.
  • Mejorar la distribución de los "Ground Spawner" y el rango de tiempo en le cual estos general plataformas.
  • Borrar al perder todas las plataformas que quedaron al perder.
Voy a intentar primero con la última opción ya que noté que todas las plataformas contienen el mismo nombre "plataforma (copia)" para dar un ejemplo, por lo que si elimino todos los elementos que contienen este nombre deberían borrarse todas las plataformas que sobraron. Por lo que este será mi problema a resolver por hoy.

-L


------------------------------------------------------------------------------------
                                                              English


Although I have to fix some bugs for the 2° update of Infinite Squared Run, is time for me to prepare the game to go for its own. With this I mean that for this second update I'll try to implement the platform I've mentioned in the previous entries, Tappx. For anyone who didn't read those or doesn't remember, Tappx shows ads of other dev's gams and as exchange I get to show my ads on theirs, After implementing this service, it would be time to abandon this game to start a new one, but obviously keeping alive the Marketing spark, that involvs sharing the game's link and keep sharing the game.

To implement this service and repair other things that "bothered" some users, I have to change the way the game restarts. As mentioned on the last entry, there disadvantage of can't store variables as the application restarts from scratch. For which instead of restarting the whole application, I will put every object on its initial position. The only conflict then might appear with the "GroundSpawner", which are the elements that generate the platforms randomly, so lets say one loses at 10 m., when one comes to the initial position (0), the blocks that were there and a bit further will remain there, which can cause other blocks to be generate in top of others.

To solve this "collision" problem between platforms, I created a script which eliminates the platforms that touches other platforms, the problem with this script is that it eliminates the whole platform, so if a 1 platform of 3 blocks has 1 block which touches another one, both whole platforms will be eliminated. Generally this solution gives good results, the problem is when it eliminates platfors that are on the "lower" level which can cause an emptyness between platforms which leads to impossible jumps.


For now my biggest problems come around the maps design. So I came up which some solutions:
  • Upgrade the script that makes the blocks delete when colliding, making them to eliminate only the conflicting blocks rather than the whole platforms.
  • Upgrade the distribution of the "GroundSpawner" and the range of time in which theese generate blocks.
  • Eliminate all the remaining platforms after one loses.
I'm first gonna try this last option, as I noticed all the platforms contains the same name "platform (copy) " as an example, so if I eliminate all the platforms containing this name, all the remaining platforms should be deleted. So this is gonna be the problem for me to solve today.

-L

1 comentario:

  1. Gracias amigo! Fantástico el juego. Saludos desde Vitacura, Santiago de Chile.

    ResponderBorrar