Desarrollando un videogame: revision 18

Problemas localizados en las pruebas del Sabado 01/09/2018

Después de las pruebas realizadas el sábado pasado, el día de ayer, se pusieron en evidencia varios problemas y errores. Dado que la reunión se hizo un poco más larga de lo planeado, volví a casa preparado para dormir, y mi primera observación fue hoy domingo después del medio día. Hagamos un repaso de los problemas que observamos:

1) El balance a veces se iba a cero y nadie podía acceder. El problema se da por la conexión con la API del blockchain, en especial, porque pasamos las máximas de la API haciendo más de 8 operaciones por segundo. Hay que reducir los pedidos a la API y subir de plan.

2) No se pudo usar el servidor de Sao Pablo. Desconozco las razones, puede ser que haya sido porque la conexión local andaba muy exigida, o bien, porque el servidor no alcanzaba con los recursos, o ambas cosas a la vez.

3) Cuelgues generales de la app donde el balance no se iba a cero, pero no se podía mover las unidades. Sospecho que fue la conexión de área local de nuevo, pasada por la exigencia de información que enviamos por segundo, y es probable el hecho de que el servidor corriera desde una placa inalambrica no ayudara.

El servidor debería de llevar una conexión por cable para que eso no pase, y sería bueno que la conexión de los usuarios al servidor sea más rápida, el wifi conlleva mucha perdida de información. Asumo que vimos boundaries propias de la red de área local vs los 2 servidores que usamos auxiliares.

4) El dinero en el blockchain en sí. Muchos se quedaban sin fondos y no podían probar el game… hay que hacer una versión libre de prueba, y una versión en blockchain, clonando las dbs y generando una API auxiliar para evaluar sin la red. Los players deberían de empezar con 50 vidas en el servidor de research.

5) Feedback e información visual. La aplicación debería de explicar más claro:
– porque el usuario salió.
– cuando eliminas a alguien
– cuando sos eliminado.
– la compra de poderes.
– y algunas cosas más que no se explican bien.


La manera más fácil de sacar el *card sobre AWS es con:

sudo certbot -d *.bitofwar.com -d bitofwar.com –manual –preferred-challenges dns certonly


Breve plan de acción

  • Creación de una versión blockless
    • ✓ Se saca el dinero que quedó en block.io
    • ✓ Armar una replica 100% funcional en local.
    • ✓ La creación de una versión que no use blockchain.
    • ✓ Se saca la solapa de cashier dado que se vuelve innecesaria.
    • ✓ Los usuarios reciben 50,000 dolares al comenzar.
    • ✓ Los poderes se conservan a fin de evaluarlos.
    • ✓ Se duplica la API, sacando las operaciones con block.io
    • ✓ Se duplica la db, simplificándola.
    • ✓ En fin, se arma una versión clonada de la app, pero sin blockchain.
    • ✓ La versión se crea y será usada para hacer cambios de diseño
    • ✓ Evaluar la lógica de la aplicación, hacer pruebas,
    • ✓ Hacer posible que los usuarios prueben el game sin dinero.
    • ✓ Armarlo y hacerlo correr de modo local.
  • ✓ Poner en linea servidor
    • ✓ Poner en linea opensaopaulo.
    • ✓ Con la versión más fresca.
    • ✓ Probar la aplicación buscando posibles errores.
    • ✓ Armar nueva revisión en base a las correcciones necesarias.
  • ✓ Modificaciones gráficas y funcionales.
    • ✓ Barra de vida visible (main frame),
    • ✓ Barra de escudo visible (main frame),
    • ✓ Dinero visible (main frame)
    • ✓ Compra de poderes (main frame),
    • ✓ Anunciar compra de poderes
    • ✓ Anunciar eliminación de enemigo,
    • ✓ Dar más visual feedback
    • ✓ Dar más audio feedback
  • Pruebas LAN. Sabado 08/09/2018
    • Considerar armar una LAN
    • Considerar armar un cronograma de pruebas.
    • Probar con 6 personas es de verdad muy eficaz.
    • Sería posible aplicarlo a más negocios.

Aliados

Bookpress, donde cada página es una página de un libro, se ve como un libro, solo que es un bookpress. como un wordpress, pero en realidad solo es un diseño de wordpress, de modo en realidad no es como un wordpress, sino que es un wordpress, con un diseño de bookpress.

Esa es la idea. Diseñarlo con fsockopen de base y mandarlo a programar (1), después venderlo (2).

Cuando envías un mail desde un celular android con 3 imágenes que sacas desde una camara con conexión a google, hacia un mail de google, las imagenes se envían sin demora alguna, demorando menos de un segundo en subirse, y más de 10 de descargarse. Lo cual solo prueba una cosa, las imagenes se mueven desde un servidor de google hacia un segundo servidor de google, nunca salen, en realidad, de mi celular.  No salen nunca de mi celular, y solo se mueven en una red de google.

De quién es la información?

Eso y que la música, no es más que una proyección de una emoción, considerando que usamos el habla como modo o forma principal para comunicar y expresar ideas, no porque sea el único medio sino porque parece ser el más rápido y eficaz para comunicar ideas, por alguna razón que desconozco.

No consideraría raro que el sonido conlleve un vinculo firme hacia las redes neuronales que se ocupan de la emoción y los planos de las ideas y expresión.

Las visas me aburren por el fondo blanco, ahora quiero hacer algo bueno con el fondo negro. Espero que salga algo bueno con fondo negro… pd: los negocios web con fondo negro son más difíciles de hacer.

I apologize and explain myself, debería de andar programando que solo queda un día para las pruebas.

Haciendo números

Haciendo números hoy, llegué a la conclusión, de que soy un señor boludo, un boludo grande. No cualquiera pierde $1,900,000 (casi dos millones) de pesos en el casino.

El culpable, la facilidad de gamblear en ecurrencies.

 

 

 

Desarrollando un videogame: revision 17

Revisión 17, una versión simplificada de la revisión 16.

Comienzo por los problemas de uno en uno:

  • Previo a servidor. Viernes 31/09
    • ✓ Recrear nuevos cambios gráficos en la sidebar.
    • ✓ Crear la funcionalidad de enviar feedback.
    • ✓ Hacer que la imagen de discord lleve al canal.
    • ✓ Hacer que el nombre de usuario sea clickeable y abra el modal.
    • ✓ Hacer funcionar ese modal.
    • ✓ Solapa de cashier con QR, colocar la info a la derecha.
    • ✓ Balance, acomodar código, db, y luego acomodar modal.
    • Hacer andar el mfa y el modal del mfa.
    • ✓ Hacer andar el modal de eliminación de usuario.
    • Invalidar al usuario cuando se queda sin dinero.
  • Servidores. Viernes 31/09
    • Conseguir un subdominio que corresponda a la zona.
    • Hacer andar una copia en el subdominio.
    • Poner un index en el dominio principal.
    • Conseguir una segunda copia en un segundo subdominio.
    • Acomodar el modal de rooms.
    • En caso de que no sea posible por el horario.
    • Solo hacer pull en el server de la versión final.
  • Pruebas online. Sabado 01/09
    • Los usuarios deberán usar el servidor de Sao Pablo.
    • Los usuarios deberán grabar el gameplay para publicarlo luego.
    • Definir un máximo de usuarios en linea sin lag.
    • Definir el máximo de usuarios por API.
    • haciendo que no se posible que haya más de X usuarios en linea.
    • No podemos cobrarle a nadie, no corresponde que pongan dinero.
    • Ellos deberían de cobrarnos por probar el videogame.
    • El videogame debería de verse finalizado
    • O bien el equipo de QA (los usuarios de prueba)
    • Deberían de clasificar la experiencia como 7/10
    • Y darnos feedback necesario para corregir y avanzar.
    • Cuando ellos den el ok, se debería de comenzar la fase de publicidad.
  • Transmisión en vivo 
    • Hacer un guion que haga al usuario girar alrededor de mapa.
    • Arrancar un equipo.
    • Crear de nuevo el usuario cameraman.
    • Enviando la imagen en vivo a el canal.
    • Poner la imágen del video en vivo como fondo de la aplicación.
    • Remplazando el fondo gris.
    • Llegado acá las cosas deberían de verse con más onda.

Mal humor

Parece que el cannabis, puede hacer que uno se de cuenta, o pueda observar, las razones por las cuales, uno mismo está de mal humor.

Y algunas cosas más. Alguna forma de claridad producida por el THC, alguna forma de paz “energica” producida por la mezcla indicada con CBD.

Desarrollando un videogame: revision 16

Revisión 16. Bueno… cuando se finalice con cada una de las cosas marcadas en la revisión 16, podríamos decir que hemos lanzado.

La revisión 16 propone ser la revisión final, aunque no quiero darle ese nombre aún (sin embargo quizás al día de hoy el nombre sea revisión final), dado que aún desconozco si habrá más cambios a ser realizados.

Previo a armar la revisión 16, probé el videogame y la aplicación por al menos unos 40′, por lo que espero que no me haya quedado nada sin mencionar.



Duele un poco saber que queda mucho por hacer, aquí la revisión final:

  1. 30% o 20% de referral bonus
    1. 20% de las ganancias de la casa van para socios.
    2. Válido solo por el primer mes.
    3. Las xfers se realizan al alcanzar los 10,000
  2. ✓ Removemos el AFK… es un problema y no añade nada.
  3. ✓ Creación de avisos por medio de divs
  4. ✓ Hacer andar las 4 solapas del menú final.
    1. ✓ hacer funcionar la solapa de usuario.
    2. ✓ hacer funcionar la solapa de balance.
    3. ✓ hacer funcionar el 2FA
    4. ✓ hacer funcionar la eliminación de usuario.
    5. ✓ conexiones armadas.
    6. revisión necesaria.
  5. Añadir las 15 versiones de cada sonido.
  6. ✓ Más feedback:
    1. ✓ Feedback cuando un usuario spawnea.
    2. ✓ Feedback cuando compra un poder.
    3. Feedback cuando elimina a un enemigo.
  7. Procesar los passwords usando SHA256.
  8. Crear nuevo password en proceso de recuperación.
  9. ✓ Sacar al usuario cuando el balance es mínimo.
  10. Salvar los pedidos que se hacen afuera en db
    1. Incluyendo el usuario, el pedido, la hora y el feedback
    2. correr una prueba a fin de crear información
    3. enviar la información para que sea analizada
    4. por el equipo de block.io por mail.
  11. Crear dos usuarios con AI que corran fuera del servidor
    1. para usar más AI
    2. conservando liviando el servidor.
    3. hacer la conexión al servidor que se especifique.
    4. llenar la información de acceso.
    5. comenzar a circular
    6. cooperar, y no abrir friendly fire.
    7. con un un balance inicial de 50,000
  12. Replicar servidor en varias ubicaciones.
    1. Mover el index, y ponerlo de lado.
    2. crear subdominios para cada servidor.
    3. colocar los enlaces para cada subdominio en el index.
    4. cada servidor deberá disponer de un mapa único.
  13. hacer andar links en /war/ de manera que los links queden:
    1. …com/cashier/
    2. …com/cashier/receive
    3. …com/cashier/send
    4. …com/cashier/xfer
    5. …com/leaderboard/
    6. …com/advices/
    7. …com/profile/
    8. …com/profile/overview
    9. …com/profile/balance
    10. …com/profile/mfa
    11. …com/profile/erease
  14. de forma adicional, debería crearse:
    1. …com/user/chris
    2. …com/clan/ccc
  15. considerar la creación de un wordpress para crear más links.
  16. revisar las palabras claves y variables de seo en la web principal.
  17. ✓ El leaderboard o la sidebar, debería de medir:
    1. ✓ 520 en una resolución de 1920 o mayor
    2. ✓ Anclado, creando un espacio visible de 1400
    3. ✓ Considerar dimensiones y movilidad en resoluciones menores.
    4. ✓ Incorporar discord a la barra.
    5. ✓ Incorporar “send feedback” en la barra.
    6. ✓ Haciendo cambios de diseño
  18. Remplazar la imagen de espera con imágenes de acción
    1. Las imagenes deberían de ir cambiando
    2. del mismo modo que las recomendaciones.
    3. Considerar la posibilidad de que sea un video
  19. Redes sociales deberían de incluirse en index.
    1. mencionar Discord.
    2. mencionar Facebook.
    3. mencionar…
  20. Realizar pruebas.  Sabado 01/09
    1. Definir un máximo de usuarios en linea sin lag.
    2. Definir el máximo de usuarios por API.
    3. haciendo que no se posible que haya más de X usuarios en linea.
    4. No podemos cobrarle a nadie, no corresponde que pongan dinero.
    5. Ellos deberían de cobrarnos por probar el videogame.
    6. El videogame debería de verse finalizado
    7. O bien el equipo de QA (los usuarios de prueba)
    8. Deberían de clasificar la experiencia como 7/10
    9. Y darnos feedback necesario para corregir y avanzar.
    10. Cuando ellos den el ok, se debería de comenzar la fase de publicidad.
  21. hacer que funcione sin problemas la versión mobile del videogame.
    1. incorporando las funciones necesarias
    2. evaluación de la versión mobile, única para mobile.
  22. Realizar inversiones en publicidad
    1. Conseguir al menos 1,000 usuarios en db.
    2. considerar al menos una inversión de $5,000 usd.
    3. evaluar los ingresos generados por los usuarios
    4. y el feedback recibido por los mismos.

Desarrollando un videogame: revision 15

Una conversación por email sobre la API.

Algunas cosas que no llegué a mencionar en el blog porque preferí resolverlas, sin hacer demasiadas menciones. Quizás a veces, se vuelve más fácil, resolver el problema o salir del paso sin hacer incapié, reflexiones o menciones del problema.

Claro que no es siempre, algunas veces parece ser necesario expresar la idea, escribirla y mirarla un poco desde afuera, poniendo a la idea esa, en algun lado donde se pueda leer, observar, que no sea la propia imaginación.

En fin, acá algunos mails:


I can’t tell anything precisely about the calls I’m executing as I have many, in a 1,500 lines PHP API, connected to another 1,500 lines game made in Node, which is multiplayer… so basically 1 player could be executing some calls thru the API in some specific order as another one is doing something else completely different.

We’re gonna need some kind or report system, if you have something already done, please let me know as it will be really useful to analyse and optimize once we have more players.

Kind regards;
Chris C. Russo

El 24/08/2018 a las 06:55 p.m., Block.io Team escribió:

Hi Chris

Can you tell us how you’re executing the calls? What calls are you executing? What is the timing in between calls? What responses do they return and what did you expect them to return?

Support Team
Block.io, Inc.

On Thu, Aug 23, 2018 at 6:24 PM, Chris C. Russo wrote:

Hi,

At this moment I’m working on the integration with your webhooks in order to reduce the amount of requests as much as possible.

The mentioned issue happens, when there’s at least 4 to 5 players, and each one is doing requests into our API, which goes to yours. Perhaps we can schedule a day during the next week in order to test this trying to reproduce it?

Kind regards;

Chris

El 23/08/2018 a las 07:50 p.m., Block.io Team escribió:

Hi Christian

We’ll need more information to replicate the issue you see. Is this happens once, it should happen again (should be replicable). Are you able to reproduce this? How?

Support Team
Block.io, Inc.

On Wed, Aug 22, 2018 at 9:38 PM, Christian C. Russo wrote:

Hi,

We have been testing a game using block.io as background, to process all the bitcoin transactions. We have found that at some point the API doesn’t longer return the expected data, and all user’s balances go directly to zero.

We have now upgraded our plan and I’m trying to find where we could optimise. I understand I could now get the balances using web hooks instead of making a request from our end, however I’m not sure if the problem previously described was caused by balance requests or by the multiple small transfers that could be done during the game play.

Do you have any kind of records where we could look up which queries overwhelmed the previous plan in order to know where we should optimise?

Thanks in advance for your help, and let’s hope for a long term partnership! Kind regards; Chris

Desarrollando un videogame: revision 14

Bueno, ya casi andamos, y ahora no es muy claro como seguir, diversas de las fallas que se ubicaron fueron corregidas, solo quedan hacer que accedan miles de usuarios… de algún modo.


Revisión 14:

  • ✓ Reducir los pedidos a la API para no perder conexión.
  • ✓ Corregir cálculos de ganancias.
  • ✓ División y revisión de la API.
  • El canvas en vivo para usuarios offline.
  • Revisión de links en /war/
  • Menciones:
    • Nombre y apellido de cada uno.
    • Sería bueno que sean muchos.
  • Incorporación de sonidos.
    • Comprar un poder.
    • Cuando se pueda.
  • Simples:
    • Hacer funcionar el feedback
    • Cashier: incorporación del QR.
    • Anuncios podría haber más info.
    • Balance: devolver cada una de las xfers del usuario.
    • Usuario: devuelve información del usuario.
  • Sacar al usuario cuando se queda con poco dinero.
  • Remover la desconexión del usuario.
  • Anunciar en los foros para buscar más cooperación.

Desarrollando un videogame: revision 13

Preludio.

Bien, se resolvieron varios problemas que se daban a la hora de calcular el balance del usuario. La API realizaba los cálculos de balance a medida que realizaba las operaciones sobre la red de blockchain, pero solo considerando los valores de cada operación y aplicando los mismos sobre los valores ya definidos en la db.

Ahora la aplicación revisa los valores en el blockchain, para luego escribir los mismos en la db, de manera que aunque se pierda la sincronización, el próximo refresh de la aplicación, volverá a poner la db con los valores del blockchain.

Sería ideal que, previo a lanzar, se resuelvan:

  • ✓ División y revisión de la API.
  • ✓ Página de bienvenida o index.
  • ✓ La conversación en vivo para usuarios offline.
  • ✓ La conversación en vivo es prorrogable.
  • ✓ El leaderboard en vivo para usuarios offline.
  • ✓ Si se lograra poner en fullscreen sería ideal.
  • ✓ Incorporación de más voces y sonidos
  • Sacar al usuario cuando se queda con poco dinero.
  • Realizar pruebas con al menos 5 usuarios en linea.
  • Realizar pruebas con al menos 10 usuarios en linea.

Segunda revisión, casi finalizado:

  • ✓ Página web principal.
  • ✓ Full screen
  • ✓ Remover discord
  • Revisión de links en /war/
  • Iconos:
    • Icono de Discord.
    • Icono de SW.
    • Icono de Green Address
  • Menciones:
    • Nombre y apellido de cada uno.
    • Sería bueno que sean muchos.
  • ✓ Incorporación de sonidos.
    • ✓ Comprar un poder.
    • ✓ Cuando se pueda.
  • Simples:
    • Hacer funcionar el feedback
    • Cashier: incorporación del QR.
    • Anuncios podría haber más info.
    • Balance: devolver cada una de las xfers del usuario.
    • Usuario: devuelve información del usuario.
  • Sacar al usuario cuando se queda con poco dinero.
  • Remover la desconexión del usuario.

Después de lanzar:

  • Acción en vivo para usuarios offline
    • Los usuarios sin player deberían ver la acción.
    • Quizás se pueda seguir a algún enemigo.
  • Servidores auxiliares:
    • Servidor mayhem: balas sacan 50% de vida, precios x 1000
    • Servidor profesional: balas iguales, precios al x 100
    • Versión libre, sin blockchain.
  • Información general:
    • Jugadores profesionales / drones
    • Rescan blockchain quedó legacy.