Assignment:Bitcoin Miner

De FdIwiki ELP
Saltar a: navegación, buscar
Español

Bitcoin Miner is an “idle” type video game created to interactively bring the concepts of blockchain and cryptocurrencies to everyone, 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 small amount of Bitcoin, 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 FPGAs 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:

Good Luck
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

Game can be found on itch.io, and also in the following link: https://bitcoinminer.itch.io/bm. 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

Game was launched on January 4th 2021 at 12PM GMT+1. We just recently launched the game, so we don't have this data yet. We are currently gathering feedback for the analysis.

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