Un juego de rol impulsado por Bitcoin Lightning Network: PenguinShooter

Puedes descargar este juego en https://github.com/Donno1994/PenguinShooter

Introducción:
Cuando vi por primera vez algunas demostraciones del Bitcoin LN que se usaba dentro de un juego de Minecraft e , me fascinó la facilidad de uso para pagar En el juego. Soñé con un futuro en el que puedas pagar todas las cosas en línea, con solo escanearlas con tu billetera LN. Decidí crear Lightning y lanzar mi propio juego, aunque no tenía mucha experiencia en el desarrollo de juegos.
Este es un proyecto de hobby, que creé como una sola persona en mi tiempo libre. Definitivamente no es el juego más asombroso de todos los tiempos y probablemente todavía contiene algunos errores, pero espero que le dé al usuario una idea de cómo los juegos futuros podrían usar Lightning Network para proporcionar una forma rápida y sin custodia de comprar cosas dentro del juego.
Los precios no son muy altos, así que no me culpes si no funciona perfectamente como se esperaba. Jugar todo el juego toma entre 30 y 60 minutos y cuesta entre 50 y 100 centavos, según las cosas que compre. Dependiendo de tu estilo de juego, puede resultar más caro, pero si solo quieres jugar un divertido juego de demostración y luchar contra algunos monstruos, no gastarás más de un dólar en total. En realidad, si solo desea realizar un pago para fines de prueba, puede comprar una manzana por 3 satoshi y luego salir del juego;)

La idea:
Imaginé un juego, al que puedes jugar gratis, pero tienes la oportunidad de comprar algunas cosas dentro del juego sin tener que pagar una moneda del juego primero, sin proporcionar tu tarjeta de crédito. información, o similar.
Debería ser un juego en el que quieras pagar por algunas características del juego, simplemente escaneando un código QR en el juego y pagando esa factura con tu Lightning Wallet. Hay varios proyectos que ya te permiten pagar contenido en línea y también jugar juegos después de pagar con LN, pero ¿no sería genial jugar un juego y dentro del juego pagas algunos servicios? De esto se trata este proyecto. Pagas mientras juegas.

¿Cómo funciona ?:
En el juego se muestran códigos QR, que contienen facturas LN. Puede escanear el código QR con su aplicación LN móvil o hacer clic en él para copiarlo en su portapapeles y luego pagarlo con su billetera LN de escritorio.
Tan pronto como se pague la factura, mi nodo Raspberry Pi LN informará al juego sobre el pago exitoso y se realizará una determinada acción en el juego.
Todo el proceso es súper rápido porque los pagos LN son casi instantáneos.
Si tiene un canal directo a mi nodo y su billetera está lista para usar, puede haber menos de 5 segundos entre hacer clic en el código QR y ver la acción. Simplemente haga clic, pegue y pague. Eso es todo. Se puede hacer clic en cada código QR. Haga clic en él y la factura se copiará en su portapapeles.

Cree un canal directo para una mejor velocidad dentro del juego:
Mi nodo LN debe estar lo suficientemente conectado, por lo que el usuario promedio no necesita abrir un canal a mi nodo. Sin embargo, si quieres tener una reacción rápida en el juego, podría tener sentido abrir un canal directo a mi nodo. Si estás casi muerto y quieres comprar una poción HP, no querrás esperar 2 segundos más solo porque tu nodo tiene que probar varias rutas primero.

Mi nodo LN: 029[email protected]penguinshooter.chickenkiller.com

El juego:
El juego es un juego de rol en el que tienes que luchar contra algunos animales para subir de nivel. Una idea de juego bastante simple. Puedes ejecutar el juego en sí sin usar Lightning. Sin embargo, si quieres hacer algo, tienes que hacer micropagos en mi nodo LN de Raspberry Pi.


3. Creando tu primer enemigo.
Cuando entras al área principal y caminas en línea recta, ves una oveja ficticia frente a un escudo. Las ovejas son los primeros monstruos con los que debes luchar. Son Lvl. 1, ten poco ataque y defensa y solo te ataca después de que los atacas. ¡No puedes luchar contra esa oveja tonta, pero puedes comprar algunas ovejas para luchar! Cada oveja te cuesta 5 satoshi. Haga clic en el signo “+” en el escudo hasta que alcance la cantidad deseada que desea comprar. ¿Quieres crear 10 ovejas? Haga clic en “+” 10 veces y su código QR mostrará una factura de 50 satoshi (0,2 centavos). Escanéelo con su teléfono o haga clic en él para copiarlo. Pague la factura y tan pronto como se pague, verá 10 ovejas desovando frente a usted.

4. Lucha
En la parte inferior de la pantalla, verá un panel de acceso directo en el que verá el símbolo de un arma. Puede arrastrar y soltar ese símbolo en su área de atajos en cualquier número de teclado 1, 2, 3, 4, 5, 6, 7, 8, 9 y 0. Si luego presiona ese número en su teclado, disparará una bala directamente adelante. Si golpea a un animal, sufrirá daños y finalmente morirá después de algunos golpes.
Al principio, puede disparar una vez por segundo, pero puede mejorar su tasa de disparos con pagos LN.
Para facilitar las cosas, puede duplicar haga clic en cualquier animal para activar el enfoque automático y el disparo automático. Si quieres cancelar esto, simplemente gira tu personaje con “a”, “d”, “flecha izquierda” o “flecha derecha” o haz clic en cualquier lugar del suelo.
Después de alcanzar ciertos niveles, puedes usar habilidades, que tendrá mejores efectos que las viñetas (consulte el capítulo Habilidades ).

5. Lvl. Sistema
Cuando derrotes suficientes monstruos y acumules puntos de experiencia, puedes alcanzar nuevos niveles y hacerte más fuerte. Obtienes más puntos de salud, puntos de maná (que se usan para habilidades), puntos de ataque, puntos de defensa y puedes desbloquear habilidades u otras características. Cuando te vuelvas más fuerte, también puedes intentar luchar contra monstruos más fuertes. Después de la oveja, el próximo sería un conejo. Los monstruos más fuertes cuestan un poco más, pero también te dan más puntos de experiencia. La relación exp / satoshi mejora cuanto más fuertes son los monstruos.

6. Habilidades
En este juego tienes 4 habilidades que desbloqueas en diferentes niveles.
Encuentra las habilidades en tu Inventario (presiona “I”) y arrástralas y suéltalas en tu área de atajos. Para usar la habilidad, debes seleccionar un objetivo (hacer clic en un animal) y presionar la tecla de atajo. Si tienes suficientes MP, tu habilidad se activa y, después de un tiempo de recuperación, puedes volver a usarla.
1. Disparo de fuego: es similar a una bala, pero sigue a tu objetivo (no puedes fallar como con una bala) y hace más daño.
2. Rayo: crea un buen daño y también daña a dos animales más que se encuentran cerca de tu objetivo.
3. Bola de fuego: una bola de fuego cae sobre tu objetivo y causa mucho daño.
4. Meteoro: una tormenta de meteoritos atacará a tu objetivo y dañará a todos los animales cercanos. Una habilidad muy eficaz y fuerte.

7. Manzanas / plátanos / kiwis
En lugar de usar un arma o habilidades, también puedes usar granadas para dañar a todos los animales que se encuentren cerca. Estas granadas son en realidad manzanas, plátanos y kiwis que solo difieren en costo y fuerza. En el siguiente ejemplo, describiré las manzanas, pero todas funcionan de la misma manera.
Arrastre y suelte una manzana en el área de acceso directo, mantenga presionado el número y suelte la tecla. Cuanto más tiempo presione la tecla, más lejos lanzará la manzana. Puedes tirar varias manzanas si quieres. Si presiona la tecla del símbolo de bob-omb, todas sus manzanas explotarán y dañarán a todos los animales en las cercanías. La explosión también los alejará para que puedas rescatarte de una situación peligrosa.
Si quieres comprar manzanas, busca el escudo de la manzana en el juego (en el lado izquierdo después de entrar por la primera puerta) y presiona el Signo “+”. Paga la factura y recibe tus manzanas. Para que todo sea un poco más fácil, también puedes comprarlos en la tienda (ver capítulo Tienda ). Los plátanos y kiwis solo se pueden comprar en la tienda.

8. Tienda
Debido a que puedes huir de los monstruos mientras juegas, puede ser difícil escanear o hacer clic en los códigos QR si te mueves todo el tiempo. Entonces, después de hacer clic en un código QR, se copiará en la parte inferior derecha de la pantalla para que sea más fácil pagar.
Una forma aún más fácil es usar la tienda. En la tienda puedes elegir varias cosas a la vez y pagarlas con una sola factura. No tienes que buscar el escudo correcto y pagar cada artículo por separado.
En la esquina superior derecha, elige lo que quieres comprar y cuánto. Después de seleccionar sus artículos, presione el botón “factura” y se mostrará su factura. Pague para recibir sus artículos en un tiempo súper rápido.
1. Compra animales: elige qué animales quieres comprar. Más fácil que presionar los botones “+” y “-” muchas veces.
2. Compra pociones de HP y MP. Puedes curarte a ti mismo con estos elementos.
3. Compra armas: compra manzanas, plátanos y kiwis
4. Mejora tu personaje: aumenta tu velocidad de disparo, tu velocidad de movimiento o reduce el tiempo de reutilización de tu habilidad. (Tienes que pagar una factura separada por esta actualización)
Mientras probaba, descubrí que uso principalmente la tienda y no los escudos en el juego, porque la tienda es más fácil de usar. No quité los escudos del juego, porque me gusta cuando te muestran las facturas en un mundo de juego abierto que puedes escanear para pagar. Sin embargo, dejé de crear un escudo para cada artículo porque probablemente solo lo compras en la tienda de todos modos. Ejemplo: poción HP / MP, plátanos, kiwis se pueden comprar en la tienda.

9. Tigre
Después de entrar por la primera puerta, encontrará un tigre en una jaula en el lado izquierdo. Después de llegar al nivel 6, se muestra una factura con la que puedes abrir la jaula y el tigre será tuyo. Él te ayudará a atacar a los monstruos. No puede morir. Si los monstruos lo atacan, no te atacan a ti;)
El tigre es uno de los artículos más caros del juego (2000 satoshi / 8 centavos), pero también pagas una sola vez y siempre te quedas con él. Incluso si cierras el juego y lo inicias de nuevo, lo tendrás a tu lado.

10. Guardar el juego
Si cierras el juego, se guarda automáticamente en un archivo de texto “save.txt” en la carpeta “Recursos” (esta carpeta se encuentra en la carpeta donde ejecutas tu juego). ¡No cambies nada dentro de este archivo, de lo contrario tendrás que empezar desde el principio!
Todos los monstruos que compraste no se guardarán, así que mejor mátalos antes de cerrar el juego. Además, la última puerta (una especie de nivel final) debe comprarse nuevamente después de reiniciar el juego.

11. ¿Posible función multijugador en versiones futuras?
Cuando comencé a probar con varios juegos abiertos, me di cuenta de un error. Si una persona paga para abrir la puerta, mi nodo LN informaría a cada juego que la factura de la puerta se pagó y todos los que juegan a este juego verán que la puerta se abre. Esto funcionó con todas las facturas. Si alguien pagara por 10 conejos, estos 10 conejos aparecerían en cada juego. Si bien esto podría considerarse una característica en lugar de un error (puedes jugar con tu amigo y solo uno de ustedes tiene que pagar), esto también creó un problema.
Si mueres y pagas 100 satoshis para reaparecer, todos jugar a este juego también reaparecería, así que trabajé para evitarlo.
Ahora, todos los que jueguen a este juego jugarán por su cuenta sin que otras personas interactúen con sus pagos.
Sin embargo, estoy muy abierto a crear algún tipo de de material multijugador. Tal vez un determinado monstruo o artículo que puede ser comprado por un jugador, pero que en realidad se distribuye a todos los jugadores que juegan en el momento del pago. Usé exactamente eso para crear una función de chat simple.

12. Chatea con otras personas a través de LN
Aunque intenté desactivar la función multijugador en casi todas las funciones (ver el capítulo anterior), la mantuve como una especie de programa de chat.
Si abres la ventana de chat, puede elegir un nombre e ingresar un texto. Se generará una factura de LN con su nombre y texto como nota. Cuando se pague la factura, todos los que jueguen a este juego serán informados y mostrarán la nota “Nombre: Este es mi texto” en su propia ventana de chat.
Por favor, comprenda que esta función comenzó como un error (consulte el capítulo anterior). que quería eliminar. No sé si ya existe un programa de chat de LN, así que lo veo como una aplicación de demostración y lo mantengo en el juego. No más. No se ofenda por el mal diseño. Debido a las pruebas limitadas, probablemente contenga algunos errores.

<×Conclusion:

Si le gusta este proyecto, envíenos sus comentarios. Si recibo una buena respuesta, considero continuar desarrollando este juego o tal vez comenzar nuevos proyectos de LN en el futuro. Si a nadie le importa esto, probablemente no continuaré, ya que me tomó medio año de arduo trabajo terminar este juego. Por favor, déjeme saber su opinión 🙂 Este juego debe verse como un divertido juego de demostración para probar los pagos de LN dentro del juego.
Si tiene alguna crítica útil, puede decirme cómo mejorarla.

Puedes contactarme en Twitter @BR_Robin o en Reddit u / Donno_