Mostrando las entradas con la etiqueta Infinite Squared Run. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Infinite Squared Run. Mostrar todas las entradas

lunes, 14 de marzo de 2016

Mejorando la ficha de Play Store de Infinite Squared Run | Upgrading Play Store page of Infinite Squared Run

Español | English

La entrada de hoy no va a ser sobre Nerdy Run sino de mi anterior juego, Infinite Squared Run, el cual tiene una característica particular que me preocupa. Ya hablé en la entrada anterior sobre una actividad medio "extraña".

Lo que ocurre es que utilizando la plataforma de publicidad cruzada Tappx, veo que algunas personas clickean en mi publicidad, hacia mi juego, pero no veo modificado le número de descargas en mi juego, lo que me hace pensar dos cosas:

  • A la gente no le gustó el juego desde Play Store
  • Hay desarrolladores que clickean en publicidades para ganar más créditos de Tappx.
Siguiendo la teoría de que lo segundo si bien es posible es poco probable, voy a centrarme en la problemática de que a la gente no le gusta el juego "en vidriera", el factor que más presente esta en la ficha de Play Store son las imágenes, además de la descripción que casi nadie la lee, y de esos que la leen, muchos menos la leen hasta el final.

Por lo cual podemos concluir que las imágenes son las que están afectando de forma negativa a los posibles futuros usuarios, también podemos pensar en factores como el peso del juego. Si bien es cierto que el juego es relativamente pesado, no hay mucho más que pueda modificar para variar esto.

Entonces lo que tengo que hacer es crear nuevas imágenes del juego o modificarlas, una opción que se me ocurrió fue crear como unas "cintas" que pueden contener frases como "Adictivo!" o "Imperdible", para enfatizar esos aspectos hacia el subconsciente del jugador. 

-L 


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

Today's entry won't be about Nerdy Run but of my previous game, Infinite Squared Run, the game has a particular characteristic that I don't like. I've spoke about it on the last entry, about a weird situation.

What is going on is that with the cross promotion platform that I'm using, I have some people who click on my ad, they go to my game but I don't see the download numbers increase, which makes me thing in two causes:

  • People don't like the game from the Play Store.
  • There are some devs who click on the ads to earn credist for Tappx.
Following the theory that the second casue, although it is possible its very unlikely, I'm going to focus on the problem that people don't like the game "on the store", the most present factors on the Play Store page are the images, besides the description which almost no one read and from those who read it, even fewer read it to the end.

For which we can conclude that the images are what are affecting on a negative way the possible future players, we can also think as a factor the apk size. Although it's true that the game is relatively heavy, there is very little I can do to change this.

So, what I need to do is to create new images for the game of modify the existing ones, one thing that came to my mind was to create "stripes" which could contain texts like "Addictive" or "You can't miss it", to emphasize this aspects to the player's subconscious.

-L

viernes, 26 de febrero de 2016

Primeros resultados de Tappx | First results with Tappx

Español | English

Luego de publicar mi Update de Infinite Squared Run con el SDK de Tappx era hora de que me activen la cuenta y ya empiece a promocionar mi juego, si bien esto no se hizo instantáneamente, al mandar un mail con los chicos de soporte técnico (muy amables y dispuestos a ayudar en todo) ya me lo pudieron solucionar, con lo que ya tengo mis primeros resultados de mi experiencia con Tappx en 1 día.

Lo que obtuve apenas estuvo activo medio día mi aplicación fue: 360 Impresiones (veces que se mostró mi juego), 1 click (alguien que clickeó en la publicidad) y 500 Tappx (lo que me "costó"). Recordemos que Tappx se centra en esta mecánica de que 1 click = 500 Tappx, por lo que si alguien clickea en nuestra publicidad son 500 Tappx menos y si alguien clickea en la publicidad de otro en mi juego me dan 500 Tappx (se pueden ganar Tappx de otras formas también).

Me gustaron los números inicialmente, 360 veces que se mostró mi publicidad es bastante, lo cual si bien no clickearon, pudieron ver que mi juego estaba ahí, que existía. Gracias a que la consola de Desarrollador de Google Play no esta nunca al día sino que siempre muestra con 1 o 2 días de retraso las instalaciones, no puedo ver si esa persona instaló o no mi juego.

Pero por sobre todo, suponiendo que cada día se muestran 300 o más impresiones de mi juego haciendo su promoción me dejan tranquilo ya que a mi parecer ese número esta bien. Por lo que como proyecté, puedo dejar el juego "solo" y que se haga la promoción por sí mismo.

Actualización: A la hora de actualizar esta entrada (que casualidad) se actualizaron los datos de Tappx, por lo que ahora mis datos son: 595 impressions,  5 clicks y 2500 Tappx. Lo cual enfatiza la conclusión.

-L


-----------------------------------------------------------------------------------------
English
After publishing the Infinite Squared Run Update with Tappx's SDK it was time for them to active my account so I could start promoting my game, although this wasn't done instantly, after sending a mail to the guys of tech support ( which are very nice and willing to help you at anything) the could solve the problem, so I now how my first experience of 1 day of Tappx.

What I got after being active for half a day was: 360 impressions (times the ad of my game was shown), 1 click (someone who actually clicked the ad) and 500 Tappx (what it "cost" me). Lets remember the way Tappx works: 1 click = 500 Tappx, so if someone clicks on my ad that is 500 Tappx less for me but if someone clicks on the ad of another dev on my game, I gain 500 Tappx (the Tappx can be earned in other ways also).

I liked the initial numbers, 360 times my ad was shown, which is a big number, althoug they didn't click too much, the could see my game was there, that it exists. Thanks to Google Developer Console I can't see if there was an increase in the number of installs as it always shows up to two or three days before, like a "delay".

But among all things, assuming that every day 300 ads of my game are displayed leaves me calm as to me that number is fine. As I planned, it seems I can leave my game "alone" and let it promote itself.

Update: Right after publishing this entry, the numbers of Tappx got updated so now I have: 595 impressions, 5 clicks and 2500 Tappx. Which emphasizes the conclution.

-L

martes, 23 de febrero de 2016

3,2,1 Despegue! | 3,2,1 Launch!

Español | English

Al fin! Versión 4.2 del Infinite Squared Run lista! Luego de tantos errores y complicaciones finalmente todo se pudo arreglar, la integración de Tappx, la intercalación de publicidades, la nueva forma de reiniciar el juego, todo. Tengo una sensación de alivio pero otra de preocupación, ya que este juego no alcanzó su objetivo en descargas que había planeado (+100 descargas). Esto se debe en parte a culpa mía de no iniciar el Marketing de este juego antes y en parte a que el juego no llama mucho la atención, lo cual es aceptable ya que soy consciente de la simplicidad que tiene.

Pero estoy feliz de las cosas que he aprendido, que no fueron pocas, desde como se publica un juego y su distribución hasta resolver partes lógicas para la programación, todo esto va a servir para mi próximo juego, del cual voy a escribir en el futuro. También, mi próxima entrada será sobre como hice para implementar Tappx con Admob y Google Play services intercalando las publicidades.

Por ahora solo queda decir que este juego seguirá disponible con la nueva versión, cada tanto mantendré el trabajo de promocionarlo para tratar de conseguir más descargas para este. Me decidí que en caso de que el juego mejore en descargas y supere su objetivo de descargas, saldrá otro nuevo Update. Pero hasta eso, a dedicarme a otro juego, lo más probable es que siga trabajando para Android y luego pasarme a PC.

Ahora voy a hacer una lista de las cosas que no me gustaron de mi propio juego y que debo mejorar para no hacer estas cosas de nuevo en mi siguiente proyecto:

  • Diseño demasiado simple: Quitando el fondo de pantalla que si me agradó y lo utilicé como fondo de pantalla para Twitter, pero quitando eso, el personaje era un cubo rojo y las plataformas un rectángulo con diseño muy simple. Por suerte en caso de querer cambiarlo solo debería modificar los Sprites y listo.
  • Música: La música si a mi me gustó para el juego pero soy consciente de que es muy simple y repetitiva, para el próximo proyecto debe ser más elaborada.
  • El peso del juego: Al empezar calculaba que el juego  debía pesar una vez instalado 30Mb máximo , lo preferible eran 20 Mb y resultó ser 40Mb, lo cual se debe a los plugins como de Google Play Services que pesan mucho y el hecho de que ya que todos los juegos de Unity para Android pesan +7Mb debido a que Android no tiene un reprodctor de Unity.
Así que eso es todo Infinite Squared Run, ya puedo guardar tu carpeta aparte y empezar un proyecto de cero.

-L

----------------------------------------------------------------------------------

English




Finally! Version 4.2 of Infinite Squared Run is ready! After many errors and other complications finally all could be fixed, the Tappx integration, the ads switch, the new way of resetting the game, all. I have a sensation of relief but at the same time of worry, as this game didn't reach its download objective (+100 downloads). This is partially my fault of starting too late the Marketing campaign  and also the fact that the game don't draw too much attention, which is acceptable as I am aware of its simplicity.

But I'm happy with the things I've learned, which weren't few, from how to publish a game to its distribution or resolving logical problems for its programming, all of this is going to be useful for my next game, which I'll write about it on the future. Also, my next entry is going to be on how I did for implementing Tappx with Admob and Google Play Services, switching between ads.

But for now this game will remain available with this new version, every now and then I'll keep up the work of promoting it to try to get for downloads for it. I decided that if the game improves on downloads and reaches its download-objective, I'll launch a new Update. But until then, I'll be dedicating my time to other games, it will probably be for Android too and later on move to PC.

Now I'm gonna do a list of all the things I didn't like about my own game and that I'll have to improve to don't make them again on my next project:
  • Too simple design: Taking away the background which I really liked and I'm currently using as wallpaper for my Twitter, the player is a red cube and the platforms where rectangles with a design too simple. Luckily, in case I want to change that, all I have to do is to modify the Sprites and done.
  • Music: I liked the music, but I'm conscious that is too simple and repetitive, for the next project it needs to be more complex
  • Game size: When I was starting I calculated that the game should weight once installed 30 Mb. The preferable were 20 Mb but it resulted to be 40 Mb, which is caused by the plugins such as Google Play Services which are heavy and the fact that every Unity game for Android does weigth +7Mb. as Android don't have a Unity player.
So that is all Infinite Squared Run, I can now keep your folder apart and start a new game from scratch.

-L

lunes, 22 de febrero de 2016

Errores inesperados | Unexpected errors

Español | English

Y justo cuando todo iba bien.. Me levanto con la intención de retomar donde dejé ayer, en la intercalación de las publicidades entre Admob y Tappx. Por lo que quería jugar el juego en la PC para ver que errores tiraba, pero al inicial me aparece " Null Reference: Object Reference not set to an instance of an Object" que en pocas palabras quiere decir que el código que debería comunicarse con el jugador, se rompió. 

Por un extraño motivo que todavía sigo sin entender el mismo código que vengo usando hace meses se arruino prácticamente solo, ya que aparecieron errores en partes del código que no toqué o en cosas que ya estaban solucionadas. Este error no permitía que el jugador se pueda mover o saltar. Por suerte utilizando unos métodos que no quería usar logré solucionar este problema, ahora la parte de los cubos que caen del cielo: estos caían desde que se iniciaba el juego, cosa que antes no pasaba.

Todo esto sumado a que todavía debía solucionar el problema con las publicidades. Inventé un sistema que, cuando una variable sea impar, se muestren las publicidades de Admob y cuando sea par, de Tappx. Lamentablemente las publicidades de Tappx no se muestran y las de Admob se muestran una sola vez.

Lo que empezó siendo una sola cosa a solucionar terminaron siendo tres errores que salieron de la nada. Por suerte, luego de solucionar estos tres errores, podré dar por terminado este proyecto, espero encontrar las soluciones pronto.

Actualización: Al parecer, era el AdRequest de Tappx lo que causaba los errores mágicos que aparecían antes, al remover esa línea de código vi como los errores desaparecieron y le volví todo a la normalidad. Luego veo que tengo un error: "exception jni init'd androidjavaclass with null ptr unity" que después de buscar averiguo que es no solo normal sino obvio que iba a tener ese error ya que estaba corriendo el juego desde la PC y no desde un dispositivo Android! por lo que volvimos al paso 1 de la intercalación de publicidades.

-L

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

Just when things were going fine.. I wake up with the intention of picking up from where I left yesterday, the Admob and Tappx ad switch. So I wanted to play the game on the PC so I could see what errors it gave me, but after pressing play I get "Null Reference: Object reference not set to an instance of an Object", which in other words is saying that the code that should be communicating with the player, broke,

By some weird motive that I still can't understand the same code I've been using for months broke almost by itself, as there were errors in parts of the code I didn't touch or in things that were already solved. This error didn't allow the player to move or jump. But luckily, after using some methods which I was trying to avoid, I managed to solve this problem, know the cubes that fall from the sky: they begin to fall when I launch the game, which it didn't before.

All this plus that I have to solve the ads problem. I invented a system that, when a variable is odd, it shows Admob's ad, and when not, Tappx's. But Unfortunately the Tappx ads don't show and Admob's only show once.

Which began as only I thing to solve ended up being three errors which came from nowhere. Luckily, after solving this three erros, I can end this project, I hope to find the solutions soon.

Update: Apparently, Tappx's AdRequest was the one who caused the magical errors that I mentioned before, after removing that line of code I saw the errors disappear I set everything back to normal. then I see this error "exception jni init'd androidjavaclass with null ptr unity" which after searching its meaning I find out that it wasn't only normal but obvious that I'll get that error as I was playing in the PC and no from an Android device! So I came back to step one, the ads switch.

-L

domingo, 21 de febrero de 2016

Casi listos para el despegue! | Almost ready for launch!

Español | English

Ya solucionado el problema que sobre el reinicio del juego en Infinite Squared Run, queda solo la implementación de Tappx a la aplicación. Luego de este proceso el juego quedará ya como "caso cerrado" y sera archivado, dando lugar a futuro proyectos.

Para solucionar el problema con el diseño de los mapas, opte por la opción de que, al perder, todos los bloques se eliminen, sería como "limpiando" el mapa para que se pueda generar devuelta sin problemas. Luego de esto empezó la implementación con Tappx.

La implementación fue la más fácil por ahora, ya que de todos los archivos que tenía que importar del plugin para Unity, algunos como el Google Play Services y un Manifest estaban resueltos, lo único que debí hacer es agregar los demás 4 archivos y agrega unas pocas lineas de texto al Manifest que aparecen en su documentación, que servirián para que ellos puedan hacer un "tracking" de la aplicación.

Ahora lo que hay que hacer es intercalar las publicidades de Admob con las de Tappx. Ambos servicios funcionarán por cuenta propia, lo único que varía sería en que momento se muestran las publicidades.

En esta última parte es donde estoy luchando un poco con el código, funciona la principio, muestra publicidad de Tappx, luego de Admob y luego deja de mostrar. Por lo que tendré que solucionar esto y tras arreglar otras pequeños detalles, saldrá la segunda actualización!

- L

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

After solving the problem with every restart on Infinite Squared Run, what it's only left is the implementation of Tappx to the app. After this process, the game will be as "closed case" and will be archived, leaving space for future projects.

To solve the map design problem, I decided to eliminate, after the player loses, all the remaining platforms. So the map can be "clean" and the map can be generated again without problems. After this, the Tappx implementation began.

It was the easiest implementation up to now, as every file that I had to import from the Unity plugin, after already having Google Play Services and a Manifest, they were already solved, so the only thing I had to import were the other 4 files and adding a few lines to the Manifest which appear on their documentation, which they will use for "tracking" the app.

Now what I have to do is change between the Admob' ads with Tapp's. They will both work separately, but what it changes its when they are displayed.

With this last part is where I'm struggling with the code, it works at first, it shows a Tappx ad, then a Admob ad and then it doesn't show anymore. So I'll have to solve this problems and fix some other little issues and the second update will come!

-L

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

jueves, 18 de febrero de 2016

Nuevo día, misma historia | New day, same story



                                                                Español | English

Nuevo día pero las mismas tareas: MARKETING, promocionar más el juego (Infinite Squared Run).

Ya que pasó la trágica historia de la primera actualización, se que tengo que hacer la segunda, pero todavía es muy temprano para subirla y esta también puede generar conflictos. La idea de esta nueva sería implementar Tappx, un servicio en el que en vez de publicidades, puedo mostrar el juego o aplicaciones de otras personas, a cambio, esas personas muestran mi juego listo para descargar. Además de esto debo modificar la función que hace que la aplicación se reinicie cuando uno pone Restart.

El hecho de que el juego se reinicie trae sus ventajas y desventajas. Por ventajas tiene que:


  • Las variables se reinician.
  • Todos los elementos vuelven a su posición inicial.
  • Frena el juego e inicia de 0.
Pero como desventajas tiene que:

  • Las variables se reinician.
  • No puedas manejar el juego como ciclo.
  • El juego inicia de 0.
De esta ante-última desventaja quiero explicar un poco más, al reiniciar uno la aplicación entera, uno pierde todas las variables guardadas, los "flags" (variables que pueden indicar el estado de una función) y otras cosas que puedan ser importantes para la próxima vez que el jugador inicie el juego.

Un ejemplo claro: La música (que varios deciden por silenciar) tiene su botón para ponerla en mute, pero al reiniciar de cero la aplicación, la música vuelve a estar activa, como estaba al principio. Esto lo que hace es que el jugador siempre tenga que silenciar la música en vez de que sea una vez sola.

Tanto así como otros aspectos que pueda utilizar cada desarrollador, cada progreso tras terminar el proceso "lineal" (jugar la partida-perder) se pierde. Sería como aquella película "Como si fuera la primera vez", en la cual el protagonista conoce a esta chica que tiene un problema de memoria a corto plazo y no puede recordar nada de lo que pasó el día anterior, a lo que el protagonista debe enamorar cada día a esta chica. Con el juego sucede lo que sería el mismo caso, no recuerda nada que pasó de la partida anterior. Esto puede ser una ventaja si no nos importa lo que el jugador hizo en la partida anterior o una desventaja (como si silenció la música o no).

Por lo que deberé modificar esta función así tengo todas las ventajas que presenta reiniciar la aplicación pero manteniendo los valores que me importan. Lo que me servirá también para ir alternando las publicidades que muestra Admob con Tappx. Acá también se podría plantear el costo de oportunidad, podría de forma figurativa decirse que estoy perdiendo plata ya que mostrar una publicidad de Tappx significa no mostrar una publicidad de Admob, que sería una potencial publicidad que puede generarme dinero. Pero en esto estoy de acuerdo ya que quiero ampliar la cantidad de usuarios.


-L


--------------------------------------------------------------------

English

New day but same story: MARKETING, promoting the game ( Infinite Squared Run).

Now that the tragic story of the first update has passed, I know have to make the second one, but its too early to upload it and it might also generate conflicts. The idea of this new one would be implemmenting Tappx, which is a service that instead of showing ads, it shows the app or game of other devs, what I get in return is that others devs will show my game ready to download. I also have to modify the function that makes the aplication restart when one presses the Restart button.

The fact that the game restarts has its advantages and disadvantages, As advantajes it enables you to:



  • The variables restart.
  • All elements go to their initial position.
  • Stops completely the game and starts from 0.
But as disadvantages it has:
  • The variables restart.
  • Can't use the game as a cycle.
  • The game starts from 0.
Of this second disadvantage I want to explain a bit more, restarting the game from scratch makes the player to lose every variable stored, the "flags" (variables that can be use to store the state of a function) and other things that can be important for the player's next game.

A clear example: The music (which many people tend to mute) has its own button to mute it, but when a player restarts the application completely, the music is set active again, as it was at the beggining. This makes the player to have to press the mute button every time instead of only once.

Just as many other aspects that one can use a developer, each progress after finishing the "lineal" process (play game-lose) is lost. It would be as the film "50 First Dates", in which the protagonits meets this girl who has a short-memory problem and can't remember anything that happened the day before, so the protagonist has to make the girl fall in love with him every day. With the game it happens the same scenario, it don't remembers anything that happend on the last game. This could be an advantage if we don't care what the player did on the last game or a disadvantage if we do care (as if he muted the music or not).

So I will need to modify this function so I have every advantage it represent to restart the whole game but keeping store the variables I need. That will be alternating the publicity that Admob shows with Tappx. Here I can also think about the cost of opportunity, which, seeing it from a certain point of view, it can be seen as I am loosing money as showing an ad from Tappx means not showing an ad from Admob, which is the potential ad that can generate me money. But I'm okay with that as I want to increase the quantity of users.

-L

lunes, 15 de febrero de 2016

Preparando la primera actualización de Infinite Squared Run | Preparing first Update for Infinite Squared Run

Español | English


Ok, entonces ahora si puedo dedicarle tiempo a mi juego que lo había abandonado (de la parte de desarrollo) por 1 semana. Ahora que vuelvo a programar es hora de arreglar los bugs y agregar las sugerencias que dieron los usuarios que ya utilizaron la aplicación, que son:


  • Cambiar la Música. Cuando la cree, hice algo sencillo y monótono, creí que iba a gustar mas pero parece que a la gente no le gusto mucho, por suerte siempre puse el botón de silenciar aunque este se vuelve a encender cuando uno pierde).
  • Cambiar el ícono. Este no fue por parte de los usuarios pero por mi parte, el ícono es muy estático y no tiene un diseño redondeado como suelen tener los íconos para Android o IOS, así que ya eso esta cubierto.
  • Tabla de puntuaciones. Muchos usuarios querían compararse a los demás a ver quién llego más lejos.
  • A veces se repite la misma publicidad. Esto puede ser por culpa de Admob (el servicio de Google de publicidad que estoy usando) ya que al ser una aplicación poco popular, suelen dejar 1 o 2 publicidades que se repiten y a medida que el juego sube en popularidad, aumenta la cantidad de anuncios. O puede ser un error mío, ya que cada RequestInterstitial esta puesto en el botón "Start!" y se necesita un tiempo mínimo para que se cargue la nueva publicidad, por lo que si un jugador pulsara muy rápido, puede que si como puede que no se cargue la nueva publicidad. Esto tal vez lo podría solucionar haciendo que la apretar Start uno tenga que esperar 3 segundos para que arranque el juego.


Los que planeo modificar para esta primera actualización son: Tabla de Puntuaciones y el ícono. Para el cual el icono ya esta solucionado por lo que quede implementar la tabla de puntuaciones. Por suerte Google Play permite con sus "Google Play Services" poder implementarla, haciendo que el usuario se loguee al empezar el juego y publicar su puntuación así la compara con los demás. Pero esto trae un par de problemas para mi:


  1. El peso: tener que agregar el plug-in de Google Play me va a incrementar el peso final de mi APK (que ya es alto 13Mb) cosa que no estoy muy cómodo pero estoy dispuesto a dejarlo pasar con el fín de acceder a todas los otros servicios que puedo usar (como logros desbloquiables).
  2. Probable futuro problema con el logueo. Ya que al perder en mi juego uno reinicia la aplicación y esta vuelve a la funcion Start(), por lo que si logueo en Start puede que cada vez que reinicie tras perder tenga que loguearme de nuevo (o porai no, ya que como el jugador esta logueado ignora todos los login futuros). Es una teoría que tendré que ver.
  3. No se como hacerlo. Este es el menor de mis problemas ya que debería haber varios tutoriales explicando como.


Por hoy solamente me dedique a diseñar el nuevo logo, rejuntar información para mañana poder crear la tabla de puntuaciones. Además de promocionar más el juego (la etapa que nunca termina) y mantener al tanto este blog.


---------------------------------------------------

So, now I do have some time to spare for my first game which I have abandoned for a week (the developing part). Now that I am back coding it's time to fix the bugs and add all the suggestions that the users gave me as feedback. Which are:

  • Change the music. When I created it, I did something simple and monotonous, I though it was going to be liked more but apparently some people dind't like it too much, which for me is okay as I had added a mute button on the screen (although the button is active again whenever the player restarts the game).
  • Change the icon. This wasn't by the users but by myself. The icon is too static and doens't has that rounded-edge style that Android or IOS apps do have.
  • LeaderBoards. Many users wanted to compare themselves with others too see who made it further!
  • Sometimes the same ad shows. This may be Admob's fault (the service from Google that I'm using) because as my game is not popular, they tend to leave 1 or 2 ads which will eventually repeat themselves, as I grow on popularity, I will have more ads available to show. Or the error could be mine, as every RequestInsterstitial is put in the Start() function, which is called everytime the player restarts the game. As the Request needs some very tiny time to load a new ad what it might happen is that if the player starts the game to quickly, a new ad can't be load so the previous ad is shown. A solution to this might be to make the player wait some time (3 seconds) after he pressed start in order to let him play.


Whay I plan to modify for this first Update are: LeaderBoard and the icon. The icon is solved so I need to implement that LeaderBoard. Luckily Google has its own "Google Play Services" which I can implement, making the user to log in with his/her account and publish his/hers score to compare it with others. But this brings some problems with me:

  1. The Size: Having the Google Play plug-in will increment the APK's file size which is already big (13 Mb), I'm not very comfortable with that but I'm okay with letting it go as it enables me to access the other services I can use (like unlockeable achievements).
  2. Probable future problem with login. As whenever the player dies, it restarts the game and calls again the Start() function, so if I login in Start, it may happen that every time the player restarts the game it needs to log in again (or may be not, as the player is already logged in, maybe it will ignore future log requests). Its a theory I'll need to check.
  3. I don't know how to do it. But this is the least one of my problems as there surely are many tutorials explaining how to do it.


For today I just dedicated myself to desing the new logo, gather information so that tomorrow I can create that LeaderBoard. As well as promoting my game ( the stage that never ends) and keeping up to date this blog.

domingo, 14 de febrero de 2016

Introducción a Infinite Squared Run | Introduction to Infinite Squared Run









                   Español                                                                               English


Mi primer juego, hecho para Android en Unity pero en realidad lo único que lo diferencia entre poder jugar en Android o PC es literalmente 1 línea de código:

 ---------------------------------

My first game, made for Android in Unity but the only thing that makes this game to be played in Android  or Pc is literally 1 line of code:

 ---------------------------------
If ( Input.GetKeyDown("space") ) es para PC | is for PC

If( Input.touchCount > 0 && Input.GetTouch(0).phase ==  TouchPhase.Began ) es para Android | is for Android
Lo que hace la versión PC es simplemente ver si se presionó la barra espaciadora y ejecuta el código. Mientras que la versión Android es un poco más rebuscada, ya que lo deseado es que el jugador toque la pantalla con 1 solo dedo,no varios.

Por lo que la primera parte se encarga de ver si la pantalla esta presionada, por lo que touchCount valdría 1 o más en caso de que haya más de 1 dedo en la pantalla, luego, para 1 solo dedo "GetTouch(0)" se le debe asignar una fase de contacto (contacto-pantalla-dedo iniciado), la fase llamada para cuando haya 1 dedo es "TouchPhase.Began", lo que permite ejecutar el código adentro del IF.

La ventaja de esto último es que solo se tomará en cuenta 1 presión (1 dedo en pantalla) para ejecutar la acción, lo que permite que no ocurran errores si el jugador tiene mas de un dedo en la pantalla (como ejecutar la secuencia varias veces).

 ---------------------------------


What the PC version does is very simple, checks if the space bar was pressed, if so, execute the code. The Android version on the other hand works in a different way, as the desired funcionality is for the player to only touch once the screen (with only one finger).

For which the first part of the statement is to check if the screen was touch, 1 finger on the screen will give "touchCount" the value of 1, if there were more fingers touching the screen, this value would be bigger. Then, a phase has to be assignated (contact screen-finger began)  for 1 finger only "GetTouch(0)", which will be "TouchPhase.Began", that will enable to execute the IF statement.

The advantage of this last version is that it will only respond to 1 touch (1 finger only touching the screen) to execute the action, which disables the possibility of error if the player has more than 1 finger on the screen (such as executing the statement multiple times).