Sunday, 15 March 2015

Minetest: an open source Minecraft alternative

Minecraft alternative

David Briddock compares this free block-based sandbox with its more famous Microsoft-owned rival

Microsoft’s recent $2.5 billion acquisition of Mojang, the company behind Minecraft, resulted in an outpouring of dismay, uncertainty and confusion within the huge and fiercely loyal Minecraft community.

To allay fears, Microsoft released statements saying its intention is to keep Minecraft just as it is. After all, it says, doing anything that upsets the Minecraft community would be foolish – not to mention a huge waste of money. However, as 2015 begins to unfold, Microsoft’s long-term plans for Minecraft are still unclear.

Holographic Attractions


There’s certainly a concerted effort to position the Minecraft game in such a way as to draw people to the forthcoming Windows 10 platform, but also to attract developers, from novice and experienced, to Microsoft’s development toolset.

The holographic HobLens and Holo Studio announcements made on 21st January help enormously in this regard. Yet despite the possibility of a future holographic version, the Minecraft community is rattled.

Many are willing to explore other options, such as an ‘indie’ and open-source alternative. Which brings us to the Minetest project.

The Minetest Alternative


At first glance, Minetest looks to be a realistic alternative.

It has the same infinite-world sandbox-style concept, a strikingly familiar look and feel (as seen at minetest.net/screenshots), the same constructional exploration gameplay scenario, multiplayer server mode, and a similar range of game modification and customisation options.

So let’s dig a little deeper and see if Minetest really would satisfy a Minecraft gamer.

Platform Choice


Probably the biggest difference, and one of the most attractive, is that Minetest is fully open source. This means its licence (LGPL 2.1) gives anyone the freedom to own, distribute and modify Minetest. This type of freedom typically results in wide platform availability, and Minetest is no exception.

Minetest downloads are available for Microsoft Windows (XP/Vista/7/8 in 32-bit/64-bit format), Apple Mac OS X, various flavours of Linux (Ubuntu, Mint, Debian, Fedora, Puppy and others) plus FreeBSD. Android is also supported with package downloads for both AMD and Intel x86 chipbased devices.

Importantly, Minetest is a lightweight application, which runs on fairly old PC desktops or laptops, such as machines running Intel 945GM graphics. However, a dual-core CPU is highly recommended for smoother gameplay.

Of course, as it’s open source, anyone can download the Minetest code and port it to another platform. For example, some enterprising hackers are currently working on a Raspberry Pi port.

Basic Game Play


As you might expect, Minetest single-player mode is all about getting your on-screen character to explore, dig, construct and terraform – all while surviving the dark nights and those hostile mobiles (or mobs).

However, just like Minecraft, there’s much more to Minetest gameplay, including crafting items, smelting new materials and applying non-default texture packs.

Crafting is the art of fabricating objects and tools from resources like trees and various types of ore. Things like sticks for a pickaxe, planks for house building, coal for torches and so on. A pickaxe is a particularly important tool, as it helps mine stone and ores.

One of the more important crafting activities is to construct a furnace (built using cobblestone). Once you’ve built a furnace, you can start smelting, namely using various fuel resources to heat up and transform one material into another. There are many smelting recipes on the online wiki help pages, such as converting flour to bread, clay to bricks and sand to glass.

A texture pack alters the texture of blocks, items, mobs and the graphical user interface. It’s essentially a collection of files, which can be downloaded from various online sites and then added using the appropriate Minetest menu option. Due to the game’s blocky nature, these custom Minetest textures are composed from 16x16 pixel squares.

Subgames


Many players will be quite happy to stick to the out-of-the-box gameplay. Yet it’s possible to create different styles of Minetest gameplay though a feature called subgames.

A subgame defines a foundation for a particular style of gameplay, and each one can have its own set of objectives. For example, survival challenges, building projects or competitive player versus player scenarios.

The official website lists some of the more popular Minetest subgames. These include Dreambuilder (a building based game crammed with building materials), Carbone (with a focus on fun and intuitive gameplay) and Big Freaking Dig (mine and extract multiple ores, create new tools and battle mobs).

But there are many more subgames to discover and explore. Just point your browser at the various Minetest forums (see Minetest Links boxout).

Mods


User designed and coded modifications, called mods, are a big deal in Minecraft. Mods can offer players a wider choice of types of bricks, items and tools plus additional game characters, animals and other mobs. The result is enhanced gameplay. Therefore it’s no great surprise to discover Minetest has its own modding capability.

Popular Minetest mods provide new types of ores and blocks (including the Minecraft-Redstone-like Mesecons), passive or hostile mobs, plant life, carts that run on rail tracks, decor for your house and Minetest world editors. You might not find an exact duplicate of your favourite Minecraft mod, but as many mod inspirations come from the Minecraft community, you never know.

Servers


Minetest doesn’t just offer a single-player option. It also supports multiplayer scenarios with its server mode. In server mode, you connect to a Minetest server, hosted on a local machine or over the internet, and join in a live game with players from around the world.

Each server will have its own gameplay flavour, as defined by textures, subgames, mods and mobs. There’s an ever growing list on the Minetest web pages and forums.

Once again, this is a close replica of Minecraft’s multiplayer capability, but with such a large, active community there are far more operational Minecraft servers, many more online players and a larger diversity of game-enhancing mods.

However, to rebalance the odds a little, you could always build your own Minetest server and invite the community to play, as we’ll see later.

Texture Packs Creation


Would you like to create your own custom texture pack? To start, edit the default texture files. You can use just about any image editor, as long as it’s able to save the image as a PNG file and supports transparency (also called an ‘alpha’ layer). The free and open source GIMP application is a popular choice, but select the one that suits you best.

In theory, textures can be any size. However, square images with sizes like 16x16, 32x32, 64x64, 128x128 and so on are likely to work best in this blocky world.

When you’re done editing, put the amended files in a new texture pack folder. This folder is then compressed into a zip archive, which can be uploaded to the internet for others to use, along with a suitable announcement post in the Texture Packs forum.

Build Your Own Server


As we mentioned above, Minetest supports multiplayer servers, but maybe you just can’t find the sort of gameplay option you and your friends are after. Or maybe you’ve seen (or coded) a cool Minetest mod that you’d like to use and share with others.

Well, you can. Just like Minecraft anyone can build their very own Minetest server, with a bespoke collection of textures, mobs and mods – a server to host games between family members and friends or an internet-connected server for the whole Minetest community.

The steps are fully documented and relatively straightforward (see Minetest Links boxout), and anyone who’s already built a Minecraft server will find the whole process very familiar.

Build Your Own Mods


As we’ve seen, Minetest has a modding capability and community, just like Minecraft. However, modders are offered greater flexibility with Minetest.

With Minecraft, modders have to use the Java development language, the language used to code Minecraft game, but with Minetest, modders have a choice between the powerful C++ language or the user-friendly Lua scripting language.

Using C++ gives the ultimate control, as all the core source code is written in C++, so you can literally do anything you like. However, C++ does take a while to learn, and the resulting code listings are typically pretty long and quite complex in nature.

Lua, on the other hand, is a more approachable, easy-to-learn scripting language. In many respects, Lua is rather similar to Python.

What we have with Lua is something similar to the Minecraft for Raspberry Pi scenario, with its Mojang-provided Python hacking module. However, Minecraft for Raspberry Pi is a one-off, cut-down and severely limited implementation of the full game.

In contrast, with Minetest you can create Lua-script mods on the complete and unrestricted game. In fact, by default, Minetest has a generic collection of Lua mod plug-ins contained in a set called ‘minetest_game’.

Of course, Microsoft’s acquisition could radically change the Minecraft modding picture. The .NET development framework offers an advanced set of tools and, more importantly, a wide choice of coding languages.

Still, until we hear more from Microsoft about its Minecraftspecific plans, Minetest can claim it offers the coding community more flexibility.

Community


As you might have guessed, Minetest can’t begin to compete with Minecraft’s huge, intensely loyal, highly active community, which reaches every corner of the globe, and after spending so much cash, Microsoft sincerely hopes this will always be the case. Yet the Minetest community is growing all the time, and there are a number of ways to become involved.

For example, you can visit one of the many forums on the official Minetest discussion board (forum.minetest.net) or the Reddit forum pages (reddit.com/r/Minetest) or chat on one of the IRC channels (minetest.net/irc).

If you’re interested in the development side of things, you can browse, download and code-share on the Minetest project’s GitHub code repository pages (github.com/minetest) or interact via the dedicated development pages (minetest.net/development).

Minetest Links


• Screenshots: minetest.net/screenshots
• Basics: wiki.minetest.net/How_to_build_your_first_house
• Blocks: wiki.minetest.net/Blocks
• Items: wiki.minetest.net/Items
• Crafting: wiki.minetest.net/Crafting
• Smelting: wiki.minetest.net/Smelting
• Mobs: wiki.minetest.net/Mobs
• Texture packs: wiki.minetest.net/Texture_Packs
• Servers: minetest.net/servers
• Mods: wiki.minetest.net/Mods
• Sever hosting: wiki.minetest.net/Setting_up_a_server
• Texture pack creation: wiki.minetest.net/Texture_Packs#Texture_Pack_Creation
• Mod creation: dev.minetest.net/Main_Page
• Source code: github.com/minetest/minetest/blob/master/README.txt
• Discussion board: forum.minetest.net
• IRC channels: minetest.net/irc
• Reddit forum: reddit.com/r/Minetest