Assignment:Bitcoin Miner

From FdIwiki ELP
Revision as of 13:36, 2 January 2021 by Lauracastilla (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Español

Bitcoin Miner es un videojuego de tipo “idle” para acercar, de forma interactiva, los conceptos de blockchain y criptomonedas a la población, independientemente de cuáles sean sus conocimientos tecnológicos. El ejemplo más famoso de este tipo de juegos es Cookie Clicker.

En Bitcoin Miner, los jugadores comienzan generando pocas criptomonedas pero, a partir de su correcta inversión en recursos y mejoras, hacen crecer su fortuna de forma potencialmente ilimitada.

¿Por qué un juego?

Consideramos que la experiencia del usuario es vital para entender e interiorizar cierto tipo de conceptos, y la gamificación es una herramienta potente y cada vez más usada para conseguirlo. Desde nuestra experiencia y punto de vista, comenzar desde cero a aprender sobre estos temas es algo que puede resultar abrumador, ya que las explicaciones suelen ser del tipo teórico.

Además, tanto el blockchain como las criptomonedas son conceptos cada vez más presentes en la sociedad, por lo que incluso personas no tan familiarizadas con la tecnología comienzan a mostrar interés en ellas. Bitcoin Miner está diseñado de forma que, tanto si contamos con algún tipo de conocimiento tecnológico como si no, podamos aprender de forma sencilla.

Por estos motivos, nuestro objetivo ha sido crear un entorno virtual de aprendizaje que sea atractivo para el usuario. Al no tener que tratar con sistemas reales, cualquier persona puede iniciarse en el tema sin preocupaciones mientras se divierte. Mientras que la teoría es algo que se visualiza pasivamente, fomentar la interacción del usuario hace más fácil que los conceptos se interioricen.

Este formato de juego se escogió por varios motivos:

  • Son muy sencillos de empezar a jugar. No necesitan gran experiencia anterior con videojuegos.
  • Se pueden añadir fácilmente los conceptos que queremos difundir, sin que sea un aprendizaje denso y abstracto.
  • Son potencialmente ilimitados, ya que depende del usuario dejar el juego en un momento dado o seguir haciendo crecer su fortuna.
  • Son sencillos de implementar, sin necesidad de un gran equipo ni muchos meses de desarrollo.

Aunque el objetivo fundamental es la divulgación de estos conocimientos, el formato de juego permite que hasta un experto en el campo pueda disfrutar igualmente con él.

Diseño y desarrollo

Los primeros pasos fueron entender mejor todo lo relativo a blockchain, criptomonedas y juegos de tipo “idle”. Las fuentes consultadas más relevantes pueden encontrarse en la sección Referencias. La dinámica del juego es simple: consiste en minar un tipo de criptomoneda y, de esta forma, ser capaz de costearse ciertos elementos que irán apareciendo en la pantalla y que permitirán mejorar el proceso de minería.

De esta manera, el juego consta de unos componentes básicos:

  • Edificios (buildings). Elementos que realizan el proceso de minado automáticamente.
  • Mejoras. Se aplican a los edificios, aumentando así su productividad.
  • Shinies. Aparece de forma aleatoria y cae por pantalla. Si conseguimos darle antes de que desaparezca, obtendremos:
    • Buena suerte: nuestra productividad aumentará durante un tiempo limitado.
    • Mala suerte: nuestra productividad bajará durante un tiempo limitado.
  • Logros. Notificaciones al jugador de que ha alcanzado ciertos umbrales.

Datos de juego

Con el fin de que el jugador aprenda, todos los datos de juego han sido seleccionados acorde a su potencia real dentro de la minería de criptomonedas (de nuevo, ver sección de referencias). No obstante, hay que tener en cuenta que han sufrido varios escalados y leves modificaciones por el bien del ritmo de juego, para evitar que sea excesivamente lento.

Las tablas recogen los datos de cada objeto de juego. Recomendamos jugar a Bitcoin Miner antes de leerlas, para que no se pierda el factor sorpresa.

Edificios

Los datos asociados a un edificio son:

  • Coste inicial. Coste del primer edificio de este tipo.
  • Incremento en el coste. Cuantos más edificios de ese mismo tipo se compren, más caro será el siguiente.
  • Importe de devolución. Los edificios también se pueden devolver. Obtendremos de vuelta un cierto porcentaje del coste del mismo (en el punto actual de juego).
  • Potencia inicial. Capacidad de minado de cada edificio (individualmente), antes de aplicarle ninguna mejora.
  • Aparición. Para que el juego sea progresivo, se necesitarán unos requisitos mínimos para poder optar a la compra de este nuevo tipo.
Edificios
Coste inicial Incremento en el coste Importe de devolución Potencia inicial Aparición
Botón principal
0BigButton.png
- - - 1 μBTC/s Elemento único e inicial de la partida
Pico minero
1Pico.png
25 μBTC 15% 50% 1 μBTC/s Inicio
CPU
2CPU.png
275 μBTC 15% 50% 3 μBTC/s Inicio
GPU - Clase C
3GPUC.png
3000 μBTC 15% 50% 22 μBTC/s Al obtener 10 CPUs
Chip ASIC - Clase C
4ChipC.png
33000 μBTC 15% 50% 130 μBTC/s Al obtener 10 GPUs
FPGA
5FPGA.png
370 000 μBTC 15% 50% 740 μBTC/s Al obtener 10 chips ASIC
GPU - Clase B
6GPUB.png
4 BTC 15% 50% 4000 μBTC/s Al obtener 30 GPUs
Chip ASIC - Clase B
8ChipB.png
45 BTC 15% 50% 17500 μBTC/s Al obtener 30 chips
Cloud
7Cloud.png
500 BTC 15% 50% 70 000 μBTC/s Al obtener 30 FPGAs
GPU - Clase A
9GPUA.png
5300 BTC 15% 50% 270 000 μBTC/s Al obtener 50 GPUs
Chip ASIC - Clase A
10ChipA.png
60 000 BTC 15% 50% 1,28 BTC/s Al obtener 50 chips ASIC
Mining pool
11Pool.png
650 000 BTC 15% 50% 6,5 BTC/s Al obtener 250 edificios
GPU - Clase S
12GPUS.png
7 100 000 BTC 15% 50% 33 BTC/s Al obtener 100 GPUs
ASIC Chip - Clase S
13ChipS.png
78 000 000 BTC 15% 50% 197 BTC/s Al obtener 100 chips ASIC
Centro de cálculo
14Centro.png
860 000 000 BTC 15% 50% 1187 BTC/s Al obtener 500 edificios

Mejoras

Como ya adelantamos, todos estos edificios están sujetos a mejoras: por un cierto importe, podemos mejorar la productividad de todos nuestros edificios de un mismo tipo. Los datos de cada mejora son:

  • Coste. Coste de adquisición de la mejora.
  • Elementos afectados. A qué tipo de edificios se aplican.
  • Boost de productividad. Cuánto se multiplicará la productividad de los elementos afectados.
Mejoras
Coste Elementos afectados Boost de productividad
Mejorar minado manual 5 x 10^-5 BTC Botón principal x2
Mejorar minado de picos 1 x 10^-3 BTC Picos mineros x2
Desinstalar de aplicaciones antiguas 5 x 10^-3 BTC CPUs x1,1
Overclocking CPU 1 x 10^-1 BTC CPUs x1,5
Overclocking GPU 1 x 10^-1 BTC GPUs x1,5
Overclocking Chips ASIC 1 BTC Chips ASIC x1,5
Overclocking FPGA 1 BTC Chips ASIC x1,5
Actualización de drivers 2 BTC GPUs x1,5
Limpieza de componentes electrónicos 1 BTC Todos x1,1
Más personas entran a nuestra mining pool 1 000 000 BTC Mining pool x1,5
Cambio a un contrato más barato de electricidad 2 000 000 BTC Todos x1,1

Shinies

El elemento shiny se representa mediante un trébol de cuatro hojas. No obstante, no siempre significa buena suerte. Si hacemos click sobre el trébol, obtendremos mala o buena suerte con una cierta probabilidad, lo que repercutirá en un aumento o descenso de la producción durante un tiempo limitado.

Probabilidades
Buena suerte 70%
Mala suerte 30%

Buena suerte

Si hemos tenido suerte, lo que obtendremos será:

Lucky
Elementos afectados Efecto sobre productividad Tiempo
Día de suerte Todos x2 1 minuto

Mala suerte

En el caso de que hayamos obtenido mala suerte, obtendremos aleatoriamente uno de los siguientes hándicaps:

Hándicaps
Elementos afectados Reducción de productividad Tiempo
Instalaste un programa excesivamente lento CPU 10% 30 segundos
Sobrecalentamiento CPU 20% 1 minuto
Malware Todos 50% 1 minuto
Ordenador congelado Todos 50% 30 segundos
Corte de electricidad Todos 70% 10 segundos
Susto por factura de electricidad Todos 10% 2 minutos

Logros

Los logros simplemente sirven para informar al jugador de su progreso.

Logros
¡Primer minado!
Llevas x clicks (siendo x una potencia de 10).
Has conseguido minar x coins (siendo x una potencia de 10).
¡Tu primer y! (siendo y un tipo de edificio).
Has pillado x tréboles (siendo x una potencia de 10).
Lo estás haciendo muy bien. ¡Satoshi Nakamoto quiere conocerte!
¡Enhorabuena! Has conseguido minar todos los bitcoins posibles. Pero el juego no acaba aquí...

Dónde encontrarlo

En pocos días pondremos un enlace hábil en itch.io para que todo el mundo pueda jugar (estamos preparándolo para que no haya ningún problema). Dicho host nos posibilita, además, ser conscientes del impacto de Bitcoin Miner gracias al registro de visitas que facilita.

Por otra parte, el código del juego se encuentra disponible en un repositorio GitHub. Se puede consultar aquí.

Licencias

El código en GitHub cuenta con una licencia MIT para su uso o distribución. Recalcar una vez más que la base del juego es la plataforma Idle Game Maker, de Orteil, que nos permite la creación de juegos propios con fines no comerciales.

Las imágenes asociadas al proyecto, que pueden encontrarse en el mismo repositorio, son de creación propia y cuentan con una licencia CC BY-NC.

Feedback y mejoras

Aunque esta es la primera versión, no será la única. Seguiremos trabajando en él, por lo que no dudéis en comentarnos cualquier sugerencia o bug. Algunas mejoras pendientes son:

  • Corregir erratas y bugs.
  • Añadir más elementos didácticos como explicaciones breves y amenas.
  • Considerar el estado de la jugabilidad, para considerar añadir nuevos elementos de juego.
  • Añadir nuevos sprites.
  • Arreglar posibles problemas de diseño como es el centrado del fondo.
  • Encontrar una forma de dar un formato bonito a la notación científica de la tabla de mejoras.

Impacto generado

Acabamos de lanzar el juego, por lo que no tenemos aún estos datos. Estaremos pendiente del recuento de visitas y de las partidas jugadas que la web nos muestra, así como de los comentarios de los jugadores.

Referencias

  1. Orteil's homepage.
  2. Cookie Clicker.
  3. Idle Game Maker Handbook.
  4. Bitcoin - Dinero P2P de código abierto.
  5. Bitcoin: A Peer-to-Peer Electronic Cash System.
  6. But how does Bitcoin actually works?.
  7. Blockchain Demo.
  8. Best CPUs for Cryptocurrency Mining | Hashrates.
  9. Best GPUs for Cryptocurrency Mining | Hashrates.
  10. Realtime mining hardware profitability | ASIC Miner Value.
  11. The Best FPGA Mining Guide and Learning Platform | FPGA Guide.
  12. The MIT License.

Autores

El desarrollo del proyecto se llevó a cabo durante el curso 2020/2021 por parte de siete alumnos de 5º curso del Doble Grado en Ingeniería Informática y Matemáticas, como parte de la asignatura Ética, Legislación y Profesión.

  • Eduardo Amaya Espinosa
  • Laura Castilla Castellano
  • Javier Galiana Ruiz de la Hermosa
  • Manuel Llorca Ron
  • Carla Martínez Nieto-Márquez
  • Inmaculada Pérez Garbín
  • Pablo Sanz Sanz