Diferencia entre revisiones de «Trabajo:Bitcoin Miner»

De FdIwiki ELP
Saltar a: navegación, buscar
Línea 179: Línea 179:
 
! scope="row" | Overclocking GPU (principiante)
 
! scope="row" | Overclocking GPU (principiante)
 
| 5 x 10^-2 BTC || GPUs || x1,5
 
| 5 x 10^-2 BTC || GPUs || x1,5
 +
|-
 +
! scope="row" | Expansión de RAM
 +
| 10 BTC || CPUs || x1,1
 
|-
 
|-
 
! scope="row" | Overclocking GPU (avanzado)
 
! scope="row" | Overclocking GPU (avanzado)
Línea 186: Línea 189:
 
| 50 BTC || GPUs || x1,5
 
| 50 BTC || GPUs || x1,5
 
|-
 
|-
! scope="row" | Expansión de RAM
+
! scope="row" | Actualización de drivers
| 10 BTC || CPUs || x1,1
+
| 2 BTC || GPUs || x1,5
 
|-
 
|-
 
! scope="row" | Overclocking Chips ASIC (principiante)
 
! scope="row" | Overclocking Chips ASIC (principiante)
Línea 206: Línea 209:
 
! scope="row" | Overclocking FPGA (experto)
 
! scope="row" | Overclocking FPGA (experto)
 
| 500 BTC || FPGAs || x1,5
 
| 500 BTC || FPGAs || x1,5
|-
 
! scope="row" | Actualización de drivers
 
| 2 BTC || GPUs || x1,5
 
 
|-
 
|-
 
! scope="row" | Mejora sistema de ventilación
 
! scope="row" | Mejora sistema de ventilación
 
| 100 BTC || CPUs, GPUs, ASICs, FPGAs || x1,1
 
| 100 BTC || CPUs, GPUs, ASICs, FPGAs || x1,1
|-
 
! scope="row" | Limpieza de componentes electrónicos
 
| 1 BTC || Todos || x1,1
 
 
|-
 
|-
 
! scope="row" | Más personas entran a nuestra mining pool
 
! scope="row" | Más personas entran a nuestra mining pool
 
| 1 000 000 BTC || Mining pool || x1,5
 
| 1 000 000 BTC || Mining pool || x1,5
 +
|-
 +
! scope="row" | Limpieza de componentes electrónicos
 +
| 1 BTC || Todos || x1,1
 
|-
 
|-
 
! scope="row" | Cambio a un contrato más barato de electricidad
 
! scope="row" | Cambio a un contrato más barato de electricidad

Revisión de 21:12 17 ene 2021

English

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 5 CPUs
Chip ASIC - Clase C
4ChipC.png
33000 μBTC 15% 50% 130 μBTC/s Al obtener 5 GPUs
FPGA
5FPGA.png
370 000 μBTC 15% 50% 740 μBTC/s Al obtener 5 chips
GPU - Clase B
6GPUB.png
4 BTC 15% 50% 4000 μBTC/s Al obtener 15 GPUs
Chip ASIC - Clase B
8ChipB.png
45 BTC 15% 50% 17500 μBTC/s Al obtener 15 chips
Cloud
7Cloud.png
500 BTC 15% 50% 70 000 μBTC/s Al obtener 15 FPGAs
GPU - Clase A
9GPUA.png
5300 BTC 15% 50% 270 000 μBTC/s Al obtener 25 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 50 GPUs
ASIC Chip - Clase S
13ChipS.png
78 000 000 BTC 15% 50% 197 BTC/s Al obtener 50 chips ASIC
Centro de cálculo
14Centro.png
860 000 000 BTC 15% 50% 1187 BTC/s Al obtener 300 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
Juego de manos 1 x 10^-4 BTC Botón principal x2
Mano veloz 1 x 10^-3 BTC Botón principal x1,5
Mano rauda 1 x 10^-2 BTC Botón principal x1,33
Mano rápida 1 x 10^-1 BTC Botón principal x1,25
Mano apresurada 1 BTC Botón principal x1,2
Mano acelerada 10 BTC Botón principal x1,15
Mano ágil 100 BTC Botón principal x1,12
Mano supersónica 1000 BTC Botón principal x1,1
Minado de picos dual 1 x 10^-3 BTC Picos mineros x2
Minado de picos bidual 1 x 10^-2 BTC Picos mineros x2
Minado de picos tridual 1 x 10^-1 BTC Picos mineros x2
Minado de picos tetradual 1 BTC Picos mineros x2
Minado de picos pentadual 10 BTC Picos mineros x2
Minado de picos hexadual 100 BTC Picos mineros x2
Minado de picos heptadual 1000 BTC Picos mineros x2
Desinstalar de aplicaciones antiguas 5 x 10^-3 BTC CPUs x1,1
Overclocking CPU (principiante) 5 x 10^-2 BTC CPUs x1,5
Overclocking CPU (avanzado) 5 BTC CPUs x1,5
Overclocking CPU (experto) 50 BTC CPUs x1,5
Overclocking GPU (principiante) 5 x 10^-2 BTC GPUs x1,5
Expansión de RAM 10 BTC CPUs x1,1
Overclocking GPU (avanzado) 5 BTC GPUs x1,5
Overclocking GPU (experto) 50 BTC GPUs x1,5
Actualización de drivers 2 BTC GPUs x1,5
Overclocking Chips ASIC (principiante) 5 x 10^-1 BTC Chips ASIC x1,5
Overclocking Chips ASIC (avanzado) 50 BTC Chips ASIC x1,5
Overclocking Chips ASIC (experto) 500 BTC Chips ASIC x1,5
Overclocking FPGA (principiante) 5 x 10^-1 BTC FPGAs x1,5
Overclocking FPGA (avanzado) 50 BTC FPGAs x1,5
Overclocking FPGA (experto) 500 BTC FPGAs x1,5
Mejora sistema de ventilación 100 BTC CPUs, GPUs, ASICs, FPGAs x1,1
Más personas entran a nuestra mining pool 1 000 000 BTC Mining pool x1,5
Limpieza de componentes electrónicos 1 BTC Todos x1,1
Cambio a un contrato más barato de electricidad 2 000 000 BTC Todos x1,1

Estas mejoras afectan a la productividad de nuestros edificios. Pero para que el jugador siga encontrando relevante utilizar el botón principal una vez avanzado en el juego, introducimos una serie de mejoras progresivas generales. Añadirán un 1% de la tasa de bitcoins como remuneración extra al hacer click. Cada una de ellas nos dará un 1% más. Si por ejemplo, tenemos 5 de ellas, cada click nos proporcionará su valor neto más un 5% de la tasa de bitcoins por segundo actual.

Remuneraciones de click
Coste
Mano lista 5 x 10^-4 BTC
Mano inteligente 5 x 10^-3 BTC
Mano erudita 5 x 10^-2 BTC
Mano talentosa 5 x 10^-1 BTC
Mano proficiente 5 BTC
Mano astuta 50 BTC
Mano brillante 500 BTC

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í...

Además, cada mejora llevan un logro asociado para que una vez compradas, el jugador recuerde que lo ha hecho.

Dónde encontrarlo

El juego se encuentra en la plataforma itch.io, y también en el siguiente enlace: https://bitcoinminer.itch.io/bm. 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-SA.

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

El juego se lanzó el 4 de enero de 2021 a las 12PM GMT+1. Acabamos de lanzar el juego, por lo que no tenemos aún estos datos. Estamos pendiente de todo el feedback, comentarios e impresiones para este análisis.

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