Diferencia entre revisiones de «Assignment:Bitcoin Miner»

De FdIwiki ELP
Saltar a: navegación, buscar
Línea 11: Línea 11:
 
==Why a game?==
 
==Why a game?==
  
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.
+
We consider that user experience is vital to understand and internalize certain types of concepts, and gamification is a powerful and increasingly used tool to achieve this. From our experience and point of view, starting from scratch to learn about these topics can be overwhelming, as the explanations are often theoretical.
  
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.
+
In addition, both blockchain and cryptocurrencies are concepts increasingly present in society, so even people not so familiar with the technology begin to show interest in them. '' Bitcoin Miner '' is designed in such a way that, whether we have some kind of technological knowledge or not, we can learn easily.
  
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.
+
For these reasons, our goal has been to create a virtual learning environment that is user-friendly. By not having to deal with real systems, anyone can get started without worry while having fun. While theory is something that is passively visualized, fostering user interaction makes it easier for concepts to be internalized.
  
Este formato de juego se escogió por varios motivos:
+
This game format was chosen for several reasons:
* Son muy sencillos de empezar a jugar. No necesitan gran experiencia anterior con videojuegos.
+
* They are very easy to start playing. They don't need a lot of previous video game experience.
* Se pueden añadir fácilmente los conceptos que queremos difundir, sin que sea un aprendizaje denso y abstracto.
+
* We can easily add the concepts that we want to spread, without it being a dense and abstract learning.
* Son potencialmente ilimitados, ya que depende del usuario dejar el juego en un momento dado o seguir haciendo crecer su fortuna.
+
* They are potentially unlimited, as it is up to the user to quit the game at any given time or continue to grow their fortune.
* Son sencillos de implementar, sin necesidad de un gran equipo ni muchos meses de desarrollo.
+
* They are simple to implement, without the need for a large team or many months of development.
  
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.
+
Although the main objective is the dissemination of this knowledge, the game format allows even an expert in the field to enjoy it equally.
  
 
==Design and development==
 
==Design and development==
  
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 | 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.
+
The first steps were to better understand everything related to blockchain, cryptocurrencies and idle games. The most relevant sources consulted can be found in the section [[#References | References]]. The dynamics of the game is simple: it consists of mining a type of cryptocurrency and, in this way, being able to pay for certain elements that will appear on the screen and that will improve the mining process.
  
De esta manera, el juego consta de unos componentes básicos:
+
Therefore, the game consists of some basic components:
*'''Edificios''' (''buildings''). Elementos que realizan el proceso de minado automáticamente.
+
* '''Buildings'''. Elements that carry out the mining process automatically.
*'''Mejoras'''. Se aplican a los edificios, aumentando así su productividad.
+
* '''Improvements'''. They are applied to buildings, thus increasing their productivity.
*'''Shinies'''. Aparece de forma aleatoria y cae por pantalla. Si conseguimos darle antes de que desaparezca, obtendremos:
+
* '''Shinies'''. It appears randomly and floats in the screen. If we can click it before it disappears, we will obtain:
** Buena suerte: nuestra productividad aumentará durante un tiempo limitado.
+
** Good luck: our productivity will increase for a limited time.
** Mala suerte: nuestra productividad bajará durante un tiempo limitado.
+
** Bad luck: our productivity will drop for a limited time.
*'''Logros'''. Notificaciones al jugador de que ha alcanzado ciertos umbrales.
+
*'''Achievements'''. Notifications to let players know that they have reached certain thresholds.
  
 
==Game data==
 
==Game data==
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 | 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.
+
In order for the player to learn, all the game data has been selected according to its real power within cryptocurrency mining (again, see section [[#References | references]]). However, it must be taken into account that they have undergone several scalings and slight modifications for the sake of the game's rhythm, to prevent it from being excessively slow.
  
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.
+
The following tables gather the data for each game object. We recommend playing '' Bitcoin Miner '' before reading them, so you don't miss out on the surprise factor.
  
 
===Buildings===
 
===Buildings===
Los datos asociados a un edificio son:
+
The data associated with a building are:
*'''Coste inicial'''. Coste del primer edificio de este tipo.
+
*'''Initial cost'''. Cost of the first building of this type.
*'''Incremento en el coste'''. Cuantos más edificios de ese mismo tipo se compren, más caro será el siguiente.
+
*'''Cost increase'''. The more buildings of the same type are purchased, the more expensive the next one will be.
*'''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).
+
*'''Refund amount'''. Buildings can also be returned. We will get back a certain percentage of the cost of it (at the current point of play).
*'''Potencia inicial'''. Capacidad de minado de cada edificio (individualmente), antes de aplicarle ninguna mejora.
+
*'''Initial power'''. Mining capacity of each building (individually), before applying any improvement.
*'''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.
+
*'''Appearance'''. For the game to be progressive, some minimum requirements will be needed to be eligible for the purchase of this new type.
  
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
|+ class="nowrap" | Edificios
+
|+ class="nowrap" | Buildings
 
|-
 
|-
 
|
 
|
! scope="col" | Coste inicial
+
! scope="col" | Initial cost
! scope="col" | Incremento en el coste
+
! scope="col" | Cost increase
! scope="col" | Importe de devolución
+
! scope="col" | Refund amount
! scope="col" | Potencia inicial
+
! scope="col" | Initial power
! scope="col" | Aparición
+
! scope="col" | Unlocked at
 
|-
 
|-
  
! scope="row" | Botón principal [[File:0BigButton.png|center|48px]]
+
! scope="row" | Big button [[File:0BigButton.png|center|48px]]
| - || - || - || 1 μBTC/s || Elemento único e inicial de la partida
+
| - || - || - || 1 μBTC/s || Unique element and starting element of the game
 
|-
 
|-
! scope="row" | Pico minero [[File:1Pico.png|center|48px]]
+
! scope="row" | Mining peak [[File:1Pico.png|center|48px]]
| 25 μBTC || 15% || 50% || 1 μBTC/s || Inicio
+
| 25 μBTC || 15% || 50% || 1 μBTC/s || Start
 
|-
 
|-
 
! scope="row" | CPU [[File:2CPU.png|center|48px]]
 
! scope="row" | CPU [[File:2CPU.png|center|48px]]
| 275 μBTC || 15% || 50% || 3 μBTC/s || Inicio
+
| 275 μBTC || 15% || 50% || 3 μBTC/s || Start
 
|-
 
|-
! scope="row" | GPU - Clase C [[File:3GPUC.png|center|48px]]
+
! scope="row" | GPU - C Class [[File:3GPUC.png|center|48px]]
| 3000 μBTC || 15% || 50% || 22 μBTC/s || Al obtener 10 CPUs
+
| 3000 μBTC || 15% || 50% || 22 μBTC/s || 10 CPUs obtained
 
|-
 
|-
! scope="row" | Chip ASIC - Clase C [[File:4ChipC.png|center|48px]]
+
! scope="row" | ASIC Chip - C Class [[File:4ChipC.png|center|48px]]
| 33000 μBTC || 15% || 50% || 130 μBTC/s || Al obtener 10 GPUs
+
| 33000 μBTC || 15% || 50% || 130 μBTC/s || 10 GPUs obtained
 
|-
 
|-
 
! scope="row" | FPGA [[File:5FPGA.png|center|48px]]
 
! scope="row" | FPGA [[File:5FPGA.png|center|48px]]
| 370 000 μBTC || 15% || 50% || 740 μBTC/s || Al obtener 10 chips ASIC
+
| 370 000 μBTC || 15% || 50% || 740 μBTC/s || 10 ASIC chips obtained
 
|-
 
|-
! scope="row" | GPU - Clase B [[File:6GPUB.png|center|48px]]
+
! scope="row" | GPU - B Class [[File:6GPUB.png|center|48px]]
| 4 BTC || 15% || 50% || 4000 μBTC/s || Al obtener 30 GPUs
+
| 4 BTC || 15% || 50% || 4000 μBTC/s || 30 GPUs obtained
 
|-
 
|-
! scope="row" | Chip ASIC - Clase B [[File:8ChipB.png|center|48px]]
+
! scope="row" | Chip ASIC - B Class [[File:8ChipB.png|center|48px]]
| 45 BTC || 15% || 50% || 17500 μBTC/s || Al obtener 30 chips
+
| 45 BTC || 15% || 50% || 17500 μBTC/s || 30 chips obtained
 
|-
 
|-
 
! scope="row" | Cloud [[File:7Cloud.png|center|48px]]
 
! scope="row" | Cloud [[File:7Cloud.png|center|48px]]
| 500 BTC || 15% || 50% || 70 000 μBTC/s || Al obtener 30 FPGAs
+
| 500 BTC || 15% || 50% || 70 000 μBTC/s || 30 FPGAs obtained
 
|-
 
|-
! scope="row" | GPU - Clase A [[File:9GPUA.png|center|48px]]
+
! scope="row" | GPU - A Class [[File:9GPUA.png|center|48px]]
| 5300 BTC || 15% || 50% || 270 000 μBTC/s || Al obtener 50 GPUs
+
| 5300 BTC || 15% || 50% || 270 000 μBTC/s || 50 GPUs obtained
 
|-
 
|-
! scope="row" | Chip ASIC - Clase A [[File:10ChipA.png|center|48px]]
+
! scope="row" | ASIC Chip - A Class [[File:10ChipA.png|center|48px]]
| 60 000 BTC || 15% || 50% || 1,28 BTC/s || Al obtener 50 chips ASIC
+
| 60 000 BTC || 15% || 50% || 1,28 BTC/s || 50 chips ASIC obtained
 
|-
 
|-
 
! scope="row" | Mining pool [[File:11Pool.png|center|48px]]
 
! scope="row" | Mining pool [[File:11Pool.png|center|48px]]
| 650 000 BTC || 15% || 50% || 6,5 BTC/s || Al obtener 250 edificios
+
| 650 000 BTC || 15% || 50% || 6,5 BTC/s || 250 edificios obtained
 
|-
 
|-
! scope="row" | GPU - Clase S [[File:12GPUS.png|center|48px]]
+
! scope="row" | GPU - S Class [[File:12GPUS.png|center|48px]]
| 7 100 000 BTC || 15% || 50% || 33 BTC/s || Al obtener 100 GPUs
+
| 7 100 000 BTC || 15% || 50% || 33 BTC/s || 100 GPUs obtained
 
|-
 
|-
! scope="row" | ASIC Chip - Clase S [[File:13ChipS.png|center|48px]]
+
! scope="row" | ASIC Chip - S Class [[File:13ChipS.png|center|48px]]
| 78 000 000 BTC || 15% || 50% || 197 BTC/s || Al obtener 100 chips ASIC
+
| 78 000 000 BTC || 15% || 50% || 197 BTC/s || 100 ASIC chips obtained
 
|-
 
|-
! scope="row" | Centro de cálculo [[File:14Centro.png|center|48px]]
+
! scope="row" | Data Center [[File:14Centro.png|center|48px]]
| 860 000 000 BTC || 15% || 50% || 1187 BTC/s || Al obtener 500 edificios
+
| 860 000 000 BTC || 15% || 50% || 1187 BTC/s || 500 buildings obtained
 
|}
 
|}
  
 
===Upgrades===
 
===Upgrades===
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:
+
As we already anticipated, all these buildings are subject to improvements: for a certain price, we can improve the productivity of all our buildings of the same type. The data for each improvement are:
*'''Coste'''. Coste de adquisición de la mejora.
+
* '''Cost'''. Acquisition cost of the improvement.
*'''Elementos afectados'''. A qué tipo de edificios se aplican.
+
* '''Items affected'''. What types of buildings do they apply to?
*'''Boost de productividad'''. Cuánto se multiplicará la productividad de los elementos afectados.
+
* '''Productivity boost'''. How much the productivity of the affected elements will be enhanced.
  
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
|+ class="nowrap" | Mejoras
+
|+ class="nowrap" | Upgrades
 
|-
 
|-
 
|
 
|
! scope="col" | Coste
+
! scope="col" | Cost
! scope="col" | Elementos afectados
+
! scope="col" | Items affected
! scope="col" | Boost de productividad
+
! scope="col" | Productivity boost
 
|-
 
|-
! scope="row" | Mejorar minado manual
+
! scope="row" | Manual mining upgrade
| 5 x 10^-5 BTC || Botón principal || x2
+
| 5 x 10^-5 BTC || Big button || x2
 
|-
 
|-
! scope="row" | Mejorar minado de picos
+
! scope="row" | Mining peak upgrade
| 1 x 10^-3 BTC || Picos mineros || x2
+
| 1 x 10^-3 BTC || Mining peaks || x2
 
|-
 
|-
! scope="row" | Desinstalar de aplicaciones antiguas
+
! scope="row" | Uninstall old programs
 
| 5 x 10^-3 BTC || CPUs || x1,1
 
| 5 x 10^-3 BTC || CPUs || x1,1
 
|-
 
|-
! scope="row" | Overclocking CPU
+
! scope="row" | CPU Overclocking
 
| 1 x 10^-1 BTC || CPUs || x1,5
 
| 1 x 10^-1 BTC || CPUs || x1,5
 
|-
 
|-
! scope="row" | Overclocking GPU
+
! scope="row" | GPU Overclocking
 
| 1 x 10^-1 BTC || GPUs || x1,5
 
| 1 x 10^-1 BTC || GPUs || x1,5
 
|-
 
|-
! scope="row" | Overclocking Chips ASIC
+
! scope="row" | ASIC Chips Overclocking
| 1 BTC || Chips ASIC || x1,5
+
| 1 BTC || ASIC Chips || x1,5
 
|-
 
|-
! scope="row" | Overclocking FPGA
+
! scope="row" | FPGA Overclocking
| 1 BTC || Chips ASIC || x1,5
+
| 1 BTC || ASIC Chips || x1,5
 
|-
 
|-
! scope="row" | Actualización de drivers
+
! scope="row" | Drivers upgrade
 
| 2 BTC || GPUs || x1,5
 
| 2 BTC || GPUs || x1,5
 
|-
 
|-
! scope="row" | Limpieza de componentes electrónicos
+
! scope="row" | Electronic components cleansing
| 1 BTC || Todos || x1,1
+
| 1 BTC || All|| x1,1
 
|-
 
|-
! scope="row" | Más personas entran a nuestra mining pool
+
! scope="row" | More people join our mining pool
 
| 1 000 000 BTC || Mining pool || x1,5
 
| 1 000 000 BTC || Mining pool || x1,5
 
|-
 
|-
! scope="row" | Cambio a un contrato más barato de electricidad
+
! scope="row" | Changing to a cheaper electricity contract
| 2 000 000 BTC || Todos || x1,1
+
| 2 000 000 BTC || All || x1,1
 
|-
 
|-
 
|}
 
|}
  
 
===Shinies===
 
===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.
+
The ''shiny'' element is represented by a four-leaf clover. However, it does not always mean good luck. If we click on the clover, we will obtain bad or good luck with a certain probability, which will affect as an increase or decrease in production for a limited time.
  
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
|+Probabilidades
+
|+Probabilities
 
|-
 
|-
|Buena suerte
+
|Good luck
 
|70%
 
|70%
 
|-
 
|-
|Mala suerte
+
|Bad luck
 
|30%
 
|30%
 
|}
 
|}
Línea 171: Línea 171:
 
====Good luck====
 
====Good luck====
  
Si hemos tenido suerte, lo que obtendremos será:
+
If we have been lucky, we will have:
  
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Línea 177: Línea 177:
 
|-
 
|-
 
|
 
|
! scope="col" | Elementos afectados
+
! scope="col" | Items affected
! scope="col" | Efecto sobre productividad
+
! scope="col" | Productivity boost
! scope="col" | Tiempo
+
! scope="col" | Time
 
|-
 
|-
! scope="row" | Día de suerte
+
! scope="row" | Lucky Day
| Todos || x2 || 1 minuto
+
| All|| x2 || 1 minute
 
|-
 
|-
 
|}
 
|}
Línea 188: Línea 188:
 
====Bad luck====
 
====Bad luck====
  
En el caso de que hayamos obtenido mala suerte, obtendremos aleatoriamente uno de los siguientes hándicaps:
+
If we have had bad luck, we will randomly obtain one of the following handicaps:
  
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
|+ class="nowrap" | Hándicaps
+
|+ class="nowrap" | Handicaps
 
|-
 
|-
 
|
 
|
! scope="col" | Elementos afectados
+
! scope="col" | Items affected
! scope="col" | Reducción de productividad
+
! scope="col" | Productivity boost
! scope="col" | Tiempo
+
! scope="col" | Time
 
|-
 
|-
! scope="row" | Instalaste un programa excesivamente lento
+
! scope="row" | You've installed an extremely low program
| CPU || 10% || 30 segundos
+
| CPUs || 10% || 30 seconds
 
|-
 
|-
! scope="row" | Sobrecalentamiento
+
! scope="row" | Overheating
| CPU || 20% || 1 minuto
+
| CPUs || 20% || 1 minute
 
|-
 
|-
 
! scope="row" | Malware
 
! scope="row" | Malware
| Todos|| 50% || 1 minuto
+
| All || 50% || 1 minute
 
|-
 
|-
! scope="row" | Ordenador congelado
+
! scope="row" | Frozen PC
| Todos|| 50% || 30 segundos
+
| All || 50% || 30 seconds
 
|-
 
|-
! scope="row" | Corte de electricidad
+
! scope="row" | Power outage
| Todos|| 70% || 10 segundos
+
| All || 70% || 10 seconds
 
|-
 
|-
! scope="row" | Susto por factura de electricidad
+
! scope="row" | You're scared after checking the electricity bill
| Todos|| 10% || 2 minutos
+
| All || 10% || 2 minutes
 
|-
 
|-
 
|}
 
|}
  
 
===Achievements===
 
===Achievements===
Los logros simplemente sirven para informar al jugador de su progreso.
+
Achievements solely serve to inform the players about their progress.
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
 
|+ class="nowrap" | Logros
 
|+ class="nowrap" | Logros
 
|-
 
|-
| ¡Primer minado!
+
| ¡First mine!
 
|-
 
|-
| Llevas '''x''' clicks (siendo '''x''' una potencia de 10).
+
| This is your '''x''' click (being'''x''' a power of 10).
 
|-
 
|-
| Has conseguido minar '''x''' coins (siendo '''x''' una potencia de 10).
+
| You've managed to mine '''x''' coins (being'''x''' a power of 10).
 
|-
 
|-
| ¡Tu primer '''y'''! (siendo '''y''' un tipo de edificio).
+
| Your first '''y'''! (being'''y''' a building type).
 
|-
 
|-
| Has pillado '''x''' tréboles (siendo '''x''' una potencia de 10).
+
| You've catched '''x''' clovers (being '''x''' a power of 10).
 
|-
 
|-
| Lo estás haciendo muy bien. ¡Satoshi Nakamoto quiere conocerte!
+
| You're doing great. Satoshi Nakamoto wants to meet you!
 
|-
 
|-
| ¡Enhorabuena! Has conseguido minar todos los bitcoins posibles. Pero el juego no acaba aquí...
+
| ¡Congratulations! You've mined all bitcoins truly avaible. But the game doesn't stop here...
 
|}
 
|}
  
 
==Where to find it==
 
==Where to find it==
En pocos días pondremos un enlace hábil en [https://itch.io 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.
+
In a few days we will post a working link on [https://itch.io itch.io] so that everyone can play (we are preparing it so that there are no problems). This host also allows us to be aware of the impact of "Bitcoin Miner" thanks to the visit register that it facilitates.
  
Por otra parte, el código del juego se encuentra disponible en un repositorio GitHub. Se puede consultar [https://github.com/Bitcoin-Miner-Idle-Game/bitcoin-miner aquí].
+
On the other hand, the game code is available in a GitHub repository. It can be found [https://github.com/Bitcoin-Miner-Idle-Game/bitcoin-miner here].
  
 
==Licenses==
 
==Licenses==
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 [http://orteil.dashnet.org/igm/ Idle Game Maker], de [http://orteil.dashnet.org/ Orteil], que nos permite la creación de juegos propios con fines no comerciales.
+
The code on GitHub is under a MIT license for use or distribution. We emphasize once again that the base of the game is the platform [http://orteil.dashnet.org/igm/ Idle Game Maker], from [http://orteil.dashnet.org/ Orteil], which allows us to create our own games for non-commercial purposes.
  
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.
+
The images associated with the project, which can be found in the same repository, are self-created and have a CC BY-NC license.
  
 
==Feedback and improvements==
 
==Feedback and improvements==
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:
+
Although this is the first version, it won't be the only one. We will continue working on it, so do not hesitate to let us know about any suggestion or bug. Some pending improvements are:
* Corregir erratas y bugs.
+
* Correct typos and bugs.
* Añadir más elementos didácticos como explicaciones breves y amenas.
+
* Add more didactic elements such as short and entertaining explanations.
* Considerar el estado de la jugabilidad, para considerar añadir nuevos elementos de juego.
+
* Keep checking the state of the gameplay, to consider adding new game elements.
* Añadir nuevos sprites.
+
* Add new sprites.
* Arreglar posibles problemas de diseño como es el centrado del fondo.
+
* Fix possible design problems such as the centering of the background.
* Encontrar una forma de dar un formato bonito a la notación científica de la tabla de mejoras.
+
* Find a way to format the scientific notation of the upgrades table.
  
 
==Game incidence and reception==
 
==Game incidence and reception==
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.
+
We just recently launched the game, so we don't have this data yet. We will be aware of the count of visits and the games played that the web shows us, as well as the comments of the players.
  
 
==References==
 
==References==

Revisión de 14:34 2 ene 2021

Español

Bitcoin Miner is an “idle” type video game to interactively bring the concepts of blockchain and cryptocurrencies to everyone, Bitcoin Miner es un videojuego de tipo “idle” para acercar, de forma interactiva, los conceptos de blockchain y criptomonedas a la población, regardless of their technological knowledge. The most famous example of this kind of game is Cookie Clicker.

In Bitcoin Miner, players start by generating a few cryptocurrencies, but, with the right investment in resources and improvements, they grow their fortune in a potentially unlimited way.

Why a game?

We consider that user experience is vital to understand and internalize certain types of concepts, and gamification is a powerful and increasingly used tool to achieve this. From our experience and point of view, starting from scratch to learn about these topics can be overwhelming, as the explanations are often theoretical.

In addition, both blockchain and cryptocurrencies are concepts increasingly present in society, so even people not so familiar with the technology begin to show interest in them. Bitcoin Miner is designed in such a way that, whether we have some kind of technological knowledge or not, we can learn easily.

For these reasons, our goal has been to create a virtual learning environment that is user-friendly. By not having to deal with real systems, anyone can get started without worry while having fun. While theory is something that is passively visualized, fostering user interaction makes it easier for concepts to be internalized.

This game format was chosen for several reasons:

  • They are very easy to start playing. They don't need a lot of previous video game experience.
  • We can easily add the concepts that we want to spread, without it being a dense and abstract learning.
  • They are potentially unlimited, as it is up to the user to quit the game at any given time or continue to grow their fortune.
  • They are simple to implement, without the need for a large team or many months of development.

Although the main objective is the dissemination of this knowledge, the game format allows even an expert in the field to enjoy it equally.

Design and development

The first steps were to better understand everything related to blockchain, cryptocurrencies and idle games. The most relevant sources consulted can be found in the section References. The dynamics of the game is simple: it consists of mining a type of cryptocurrency and, in this way, being able to pay for certain elements that will appear on the screen and that will improve the mining process.

Therefore, the game consists of some basic components:

  • Buildings. Elements that carry out the mining process automatically.
  • Improvements. They are applied to buildings, thus increasing their productivity.
  • Shinies. It appears randomly and floats in the screen. If we can click it before it disappears, we will obtain:
    • Good luck: our productivity will increase for a limited time.
    • Bad luck: our productivity will drop for a limited time.
  • Achievements. Notifications to let players know that they have reached certain thresholds.

Game data

In order for the player to learn, all the game data has been selected according to its real power within cryptocurrency mining (again, see section references). However, it must be taken into account that they have undergone several scalings and slight modifications for the sake of the game's rhythm, to prevent it from being excessively slow.

The following tables gather the data for each game object. We recommend playing Bitcoin Miner before reading them, so you don't miss out on the surprise factor.

Buildings

The data associated with a building are:

  • Initial cost. Cost of the first building of this type.
  • Cost increase. The more buildings of the same type are purchased, the more expensive the next one will be.
  • Refund amount. Buildings can also be returned. We will get back a certain percentage of the cost of it (at the current point of play).
  • Initial power. Mining capacity of each building (individually), before applying any improvement.
  • Appearance. For the game to be progressive, some minimum requirements will be needed to be eligible for the purchase of this new type.
Buildings
Initial cost Cost increase Refund amount Initial power Unlocked at
Big button
0BigButton.png
- - - 1 μBTC/s Unique element and starting element of the game
Mining peak
1Pico.png
25 μBTC 15% 50% 1 μBTC/s Start
CPU
2CPU.png
275 μBTC 15% 50% 3 μBTC/s Start
GPU - C Class
3GPUC.png
3000 μBTC 15% 50% 22 μBTC/s 10 CPUs obtained
ASIC Chip - C Class
4ChipC.png
33000 μBTC 15% 50% 130 μBTC/s 10 GPUs obtained
FPGA
5FPGA.png
370 000 μBTC 15% 50% 740 μBTC/s 10 ASIC chips obtained
GPU - B Class
6GPUB.png
4 BTC 15% 50% 4000 μBTC/s 30 GPUs obtained
Chip ASIC - B Class
8ChipB.png
45 BTC 15% 50% 17500 μBTC/s 30 chips obtained
Cloud
7Cloud.png
500 BTC 15% 50% 70 000 μBTC/s 30 FPGAs obtained
GPU - A Class
9GPUA.png
5300 BTC 15% 50% 270 000 μBTC/s 50 GPUs obtained
ASIC Chip - A Class
10ChipA.png
60 000 BTC 15% 50% 1,28 BTC/s 50 chips ASIC obtained
Mining pool
11Pool.png
650 000 BTC 15% 50% 6,5 BTC/s 250 edificios obtained
GPU - S Class
12GPUS.png
7 100 000 BTC 15% 50% 33 BTC/s 100 GPUs obtained
ASIC Chip - S Class
13ChipS.png
78 000 000 BTC 15% 50% 197 BTC/s 100 ASIC chips obtained
Data Center
14Centro.png
860 000 000 BTC 15% 50% 1187 BTC/s 500 buildings obtained

Upgrades

As we already anticipated, all these buildings are subject to improvements: for a certain price, we can improve the productivity of all our buildings of the same type. The data for each improvement are:

  • Cost. Acquisition cost of the improvement.
  • Items affected. What types of buildings do they apply to?
  • Productivity boost. How much the productivity of the affected elements will be enhanced.
Upgrades
Cost Items affected Productivity boost
Manual mining upgrade 5 x 10^-5 BTC Big button x2
Mining peak upgrade 1 x 10^-3 BTC Mining peaks x2
Uninstall old programs 5 x 10^-3 BTC CPUs x1,1
CPU Overclocking 1 x 10^-1 BTC CPUs x1,5
GPU Overclocking 1 x 10^-1 BTC GPUs x1,5
ASIC Chips Overclocking 1 BTC ASIC Chips x1,5
FPGA Overclocking 1 BTC ASIC Chips x1,5
Drivers upgrade 2 BTC GPUs x1,5
Electronic components cleansing 1 BTC All x1,1
More people join our mining pool 1 000 000 BTC Mining pool x1,5
Changing to a cheaper electricity contract 2 000 000 BTC All x1,1

Shinies

The shiny element is represented by a four-leaf clover. However, it does not always mean good luck. If we click on the clover, we will obtain bad or good luck with a certain probability, which will affect as an increase or decrease in production for a limited time.

Probabilities
Good luck 70%
Bad luck 30%

Good luck

If we have been lucky, we will have:

Lucky
Items affected Productivity boost Time
Lucky Day All x2 1 minute

Bad luck

If we have had bad luck, we will randomly obtain one of the following handicaps:

Handicaps
Items affected Productivity boost Time
You've installed an extremely low program CPUs 10% 30 seconds
Overheating CPUs 20% 1 minute
Malware All 50% 1 minute
Frozen PC All 50% 30 seconds
Power outage All 70% 10 seconds
You're scared after checking the electricity bill All 10% 2 minutes

Achievements

Achievements solely serve to inform the players about their progress.

Logros
¡First mine!
This is your x click (beingx a power of 10).
You've managed to mine x coins (beingx a power of 10).
Your first y! (beingy a building type).
You've catched x clovers (being x a power of 10).
You're doing great. Satoshi Nakamoto wants to meet you!
¡Congratulations! You've mined all bitcoins truly avaible. But the game doesn't stop here...

Where to find it

In a few days we will post a working link on itch.io so that everyone can play (we are preparing it so that there are no problems). This host also allows us to be aware of the impact of "Bitcoin Miner" thanks to the visit register that it facilitates.

On the other hand, the game code is available in a GitHub repository. It can be found here.

Licenses

The code on GitHub is under a MIT license for use or distribution. We emphasize once again that the base of the game is the platform Idle Game Maker, from Orteil, which allows us to create our own games for non-commercial purposes.

The images associated with the project, which can be found in the same repository, are self-created and have a CC BY-NC license.

Feedback and improvements

Although this is the first version, it won't be the only one. We will continue working on it, so do not hesitate to let us know about any suggestion or bug. Some pending improvements are:

  • Correct typos and bugs.
  • Add more didactic elements such as short and entertaining explanations.
  • Keep checking the state of the gameplay, to consider adding new game elements.
  • Add new sprites.
  • Fix possible design problems such as the centering of the background.
  • Find a way to format the scientific notation of the upgrades table.

Game incidence and reception

We just recently launched the game, so we don't have this data yet. We will be aware of the count of visits and the games played that the web shows us, as well as the comments of the players.

References

  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.

Authors

The development of the project was carried out during the 2020/2021 academic year by seven 5th year students of the Double Degree in Computer Engineering and Mathematics, as part of the Ethics, Legislation and Profession (Ética, Legislación y Profesión) course, in Universidad Complutense de Madrid, Spain.

  • 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