Assignment:Bitcoin Miner

From FdIwiki ELP
Jump to: navigation, search
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 5 CPUs obtained
ASIC Chip - C Class
4ChipC.png
33000 μBTC 15% 50% 130 μBTC/s 5 GPUs obtained
FPGA
5FPGA.png
370 000 μBTC 15% 50% 740 μBTC/s 5 ASIC chips obtained
GPU - B Class
6GPUB.png
4 BTC 15% 50% 4000 μBTC/s 15 GPUs obtained
Chip ASIC - B Class
8ChipB.png
45 BTC 15% 50% 17500 μBTC/s 15 chips obtained
Cloud
7Cloud.png
500 BTC 15% 50% 70 000 μBTC/s 15 FPGAs obtained
GPU - A Class
9GPUA.png
5300 BTC 15% 50% 270 000 μBTC/s 25 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 buildings obtained
GPU - S Class
12GPUS.png
7 100 000 BTC 15% 50% 33 BTC/s 50 GPUs obtained
ASIC Chip - S Class
13ChipS.png
78 000 000 BTC 15% 50% 197 BTC/s 50 ASIC chips obtained
Data Center
14Centro.png
860 000 000 BTC 15% 50% 1187 BTC/s 300 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.
Mejoras
Cost Items affected Productivity boost
Sleight of hand 1 x 10^-4 BTC Big button x2
Fast hand 1 x 10^-3 BTC Big button x1,5
Quick hand 1 x 10^-2 BTC Big button x1,33
Rapid hand 1 x 10^-1 BTC Big button x1,25
Swift hand 1 BTC Big button x1,2
Speedy hand 10 BTC Big button x1,15
Nimble hand 100 BTC Big button x1,12
Supersonic hand 1000 BTC Big button x1,1
Dual wield pickaxes 1 x 10^-3 BTC Mining pickaxes x2
Bi-dual wield pickaxes 1 x 10^-2 BTC Mining pickaxes x2
Tri-dual wield pickaxes 1 x 10^-1 BTC Mining pickaxes x2
Tetra-dual wield pickaxes 1 BTC Mining pickaxes x2
Penta-dual wield pickaxes 10 BTC Mining pickaxes x2
Hexa-dual wield pickaxes 100 BTC Mining pickaxes x2
Hepta-dual wield pickaxes 1000 BTC Mining pickaxes x2
Uninstall old programs 5 x 10^-3 BTC CPUs x1,1
CPU Overclocking (beginner) 5 x 10^-2 BTC CPUs x1,5
CPU Overclocking (advanced) 5 BTC CPUs x1,5
CPU Overclocking (expert) 50 BTC CPUs x1,5
RAM Expansion 10 BTC CPUs x1,1
GPU Overclocking (beginner) 5 x 10^-2 BTC GPUs x1,5
GPU Overclocking (advanced) 5 BTC GPUs x1,5
GPU Overclocking (expert) 50 BTC GPUs x1,5
Drivers update 2 BTC GPUs x1,5
ASIC Chips Overclocking (beginner) 5 x 10^-1 BTC Chips ASIC x1,5
ASIC Chips Overclocking (advanced) 50 BTC Chips ASIC x1,5
ASIC Chips Overclocking (expert) 500 BTC Chips ASIC x1,5
FPGA Overclocking (beginner) 5 x 10^-1 BTC FPGAs x1,5
Overclocking FPGA (advanced) 50 BTC FPGAs x1,5
FPGA Overclocking (expert) 500 BTC FPGAs x1,5
Cooling system update 100 BTC CPUs, GPUs, ASICs, FPGAs x1,1
More people join our mining pool 1 000 000 BTC Mining pool x1,5
Electronic components cleansing 1 BTC Todos x1,1
Changing to a cheaper electricity contract 2 000 000 BTC Todos x1,1

Those upgrades affect our buildings' productivity. But in order to maintain the interest in using the big button in the late game, we introduced several progressive and general upgrades. These ones will add 1% of our actual bicoins per second rate to the click benefit. Each one of them will give us an extra 1%. If, for example, we have 5 of them, when we click the big button we will obtain the value of the click plus 5% of our actual bitcoins per second rate.

Remuneraciones de click
Cost
Clever hand 5 x 10^-4 BTC
Intelligent hand 5 x 10^-3 BTC
Erudite hand 5 x 10^-2 BTC
Gifted hand 5 x 10^-1 BTC
Proficient hand 5 BTC
Smart hand 50 BTC
Bright hand 500 BTC

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

Besides, each upgrade has an associated achievement in order for the player to remember them.

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-SA license.

Feedback and improvements

After the release of version 1.0, we received quite some feedback from our family and friends. So, for version 1.1, some changes were made:

  • Didactic hints are now progressive, navigable and hideable. This way the player can read at they own pace or hid them when finished. Plus, the progressiveness keeps the player reading from time to time, and during this break, the resources available will grow. So this helps the game being less paused.
  • New building upgrades
  • New manual clicks upgrades
  • Good luck visual indicator
  • Silhouette of next buildings availables shown. Nameless, but this will keep the player conscious about further available buildings.
  • Lower requirements for new buildings. This speeds up the pace of the early game.
  • Lower lucky clover apparition rate, because it was excessive.

We hope to keep making progress, so don't hesitate to let us know about any other suggestion or bug.

Game incidence and reception

Bitcoin Miner at top 12 of New & Popular
Bitcoin Miner top recommended (without identified navigation)
Tweet statistics

Game was launched on January 4th 2021 at 12PM GMT+1. itch.io's own website allow us, as developers, observe the game analytics data. Soon after its release, Bitcoin Miner grew in popularity until reaching the top 12 of New & Popular games. Besides, if we log out and navigate as unidentified, we see that searching "Bitcoin Miner" in the engine shows our own game first.

This first dissemination was made through social networks such as WhatsApp, Telegram, Instagram and Twitter. In the latter, we posted a tweet that garnered over 3000 views.

On the other hand, at the time of launching version 1.1 (January 17th, 2021 at 8:15 PM GMT+1), the game had 860 visits, and two ratings from the itch.io community of 3 and 4 stars. In addition, the click-through rate (percentage of people who enter the game after having seen a link to it) remains stable around 2-3%. This seems a very low number at first, but according to what we have been researching in the blogs and posts of the community, it is a fairly common percentage in all games. That is, we have not created a super viral game for the platform, but we have managed to get a considerable (and certainly not negligible) number of people to try our game.

After launching the new version, posts were also made in more specific communities (Reddit, Slack, Linkedin) related to games or Computer Science in general. Two days later, on January 19th, 2021 at 22:15 PM GMT+1, the game managed to exceed 1000 visits.

Finally, as of January 20th, 2021, we have the following statistics:

BMAnalytics.PNG

We have been investigating (again, in forums of the platform itself), and the category Browser Plays refers to all those visits that are made from a computer and browser, and not from another type of device, such as a phone. That is, they are not the only visits but they are not additional either: they are a subset of the Views category. Additionally, for most visits, where they came from is recorded. We can consult this data by URL or by domain.

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