Back to Top

Minecraft
Scroll down

Uses

Because of its identity as a sandbox game, everyone plays Minecraft in a different way. They all achieve different goals different ways for different purposes. As such, it is obviously not feasible to list them all. Instead, the main reasons why people use Minecraft are discussed. Similarly, Minecraft could spiral off into an infinite number of directions in the future as well as other virtual worlds such as the Metaverse replacing or joining it.

Current uses

Entertainment

The main way players use Minecraft is as a form of escapism: just like getting lost in a story, except they can choose their own future in an epic Choose Your Own Adventure. The world is their oyster. Players enjoy themselves as they creatively build masterpieces, confidently battle ferocious enemies or design brain-bending electric circuits using Redstone to build gigantic farms.

Education

Minecraft Education Edition has over 500 free lessons spanning many subjects developed in consultation with associations such as NASA and Code.org. The 115 countries that licence 35 million accounts affirm its helpfulness in the technological classroom[1]. Not just schools love it as 63 million players of Minecraft Bedrock chose to download Minecraft Education Collection content.

Communication

Minecraft can be used to foster relationships, collaboration and communications skills, as well as being a means to communicate. I remember using Minecraft to talk to friends in primary school just as a way to use group chat functionality even when I didn’t particularly want to use any other features in Minecraft. It also allows people to develop their interpersonal skills as they practise working collaboratively in a low-stakes environment.

Potential future uses

Its capabilities for teaching software development have recently experienced rapid growth but there is still significantly more progress it can make. Minecraft Java edition has always had a history of indirect users editing the game’s code. After Minecraft’s first version was released in May 2009, there were mods as early as September 11 of the same year where Minecraft’s server code was modified to include the creation of glass when lava and water interact[2]. However, since the entirety of the source code was also released, this breached copyright laws and Notch’s wishes. Since then, modding has greatly improved so that copyright is adhered to and multiple mods can be used concurrently. However, it is still extremely difficult to create Minecraft Java mods. Fabric, a common way to create mods, requires knowledge of specialised programming concepts such as mixins in addition to the rest of the programming skills you need to program in a language as hard as Java. As such, creating proper Minecraft mods is a fun project, but requires an advanced understanding of software development.

To teach programming, Minecraft Education Edition wisely added Code Builder, a way for players to create block code within Minecraft to control the world around them. While it is great at introducing players to programming, it severely limits their creativity and ability to further develop their skills. For example, I had an idea to create a new terrain generation algorithm. To do this, I needed a very sophisticated random number generator known as Perlin noise[3]. I wanted to use it, but not program the entire thing myself. As such, Code Builder’s lack of ability to interoperate with external code libraries made my creative idea infeasible. Furthermore, I also had an idea to create automated pixel art pictures in Minecraft out of many blocks. To do this, I needed to access pixels in images provided to the program to draw which wasn’t part of the limited set of functionality that Code Builder allows.

Since I wasn’t yet proficient enough to use Java, I had to settle on an extremely slow mod someone made called Raspberry Juice that wasn’t updated to Java’s latest version. Therefore, I believe Minecraft will be able to teach programming much better if it allows a range of abilities, not just novice and senior developers, by allowing an official documented interface with Python and allowing access to its existing plethora of libraries.