Open source game developer Perttu Ahola talks about Minetest with Wikinews

From Wikinews, the free news source you can write!
Jump to navigation Jump to search

Tuesday, June 30, 2020

Recently, Finnish open-source video game developer Perttu Ahola discussed Minetest, his "longest ever project", with Wikinews.

Started in October 2010, Minetest was an attempt by Ahola to create a sandbox game similar to Minecraft. Minecraft is a multi-platform commercial game, which was in alpha version when Ahola challenged himself to create something similar to it from scratch, he told Wikinews.

Minetest is an open-source game, which is free for anyone to download and play. It is written in the C++ programming language, and the source code is available on code-hosting site GitHub. According to Ahola, Minetest attempts to run on older hardware, with limited graphics, but to be accessible to more people: those who have outdated technology, and making it available for no cost. Minecraft, on the other hand, is a paid game, currently costing USD 26.95 for its computer version. Minecraft is currently owned by Microsoft, and performs poorly on older hardware.

A correspondent from French Wikinews contacted Perttu Ahola via Internet Relay Chat a few weeks ago, discussing Minecraft. This interview is built on top of the previous interview, as we take a deeper dive into knowing more about this free game which is about to turn ten years old in a few months.

Interview with Perttu Ahola

Wikinews
Wikinews

Can you introduce yourself?

File photo of Perttu Ahola. (Image: Calinou)

((Perttu Ahola)) Hi. Although I'm usually called "celeron55" on the Internet, my real name is Perttu Ahola. I'm a programmer and electronics geek from Finland.

((WN)) How did you find out about programming?

((Perttu Ahola)) I've had programming as a hobby my entire life. When I was a kid I programmed using BASIC on my dad's computers and at school and university I attended programming courses and learned more languages.

Logo of Minetest (Image: Distantkay)

((WN)) What made you want to create Minetest?

((Perttu Ahola)) Initially I took it as a challenge, but after a year of working on it, it turned into this weird quest of trying to figure out what can be done with it that Mojang (now Microsoft) won't do. But initially it was the challenge, and the mystery of how a game world like this works under the hood.

((WN)) When did you start working on Minetest initially?

((Perttu Ahola)) At the beginning of October 2010.

((WN)) How many core-developers were working on the development at that time?

((Perttu Ahola)) Myself only. Back then it was exactly what the name implies. The first contributor appeared six months after.

((WN)) When was Minetest first available to public?

((Perttu Ahola)) It was first published to a private IRC channel for testing, and after about a week I published it on a public programming channel on IRCnet called #ohjelmointiputka. I created the website sometime during January 2011.

((WN)) How were the initial few months for the game? How did the userbase respond? How was it received?

((Perttu Ahola)) The initial userbase was mostly a bunch of hobbyist programmers from that Finnish IRC channel. Everyone liked messing around in the quirky little multiplayer sandbox that it was.

((WN)) How many core-developers are working on Minetest right now?

((Perttu Ahola)) I need to look this up as much as you do... Looks like we have 13 at the moment. It doesn't really correlate with how many people are working on Minetest though, as core developer is primarily a position of trust — they decide what is merged into the upstream repositories. Some contributors do a lot but aren't core developers. This goes both ways: Some core developers are quite inactive a lot of the time.

((WN)) Do these trusted core-developers have specific roles?

((Perttu Ahola)) They used to have, but [it] didn't work very well. Nowadays everyone is simply responsible of only touching things they know about.

((WN)) What are you learning from them and what are they learning from you?

((Perttu Ahola)) During the first years I learned a lot about programming. Some of it came from others but mostly it was just because I did it so much myself. Later I've learned some things about management as I had to move from programming more into a leadership role. Many young people have come and gone from the project as their life has moved on — I'm sure they've learned something from it.

((WN)) Tell us more about your workflow.

((Perttu Ahola)) Historically when making most of my development contribution in Minetest, or currently?

((WN)) Tell me about both the times, please.

((Perttu Ahola)) Well there's not much to talk about my current workflow, as I'm mainly doing web-hosting and administration, being an encyclopædia about the code and design of the project, assigning core developer, moderator and other roles to people, and just managing the odd weird things that sometimes happen that contributors and core developers can't handle.

When I was programming Minetest in the first many years, and these days in other development projects, my workflow is just to allocate as much continuous time that I possibly can for a task that I want to do, then just begin designing and writing a prototype and iteratively forming it into a final implementation. The only distinct step in between starting and finishing is the first time it runs and does the bare minimum.

I don't want to boast about it, but people have commented about my ability to solo develop things really fast from nothing into usable state. There's no method to it. I just make sure I have the time, I know what the bare minimum is and then I just get to it.

Main menu of Minetest. (Image: Minetest contributors)

((WN)) Have there been any significant changes in the game or source code in the history of Minetest?

((Perttu Ahola)) It was developed in a very iterative manner. We've never had to throw away any big parts. Maybe iterative isn't the best word, I mean it was always developed by building on what was previously created. Actually we've had one big change, although it too was an addition: When we went from version 0.3 to 0.4, Minetest gained its Lua-based modding API. It was a really big change in how people thought about and used Minetest.

((WN)) What are the different ways to participate?

((Perttu Ahola)) Many of our users like to write mods, big and small, and publish them on our forum and content database. If you're more of a C++ person, our GitHub and IRC channels are good places to check out. If you feel like a server administrator, you could set up a Minetest server with an interesting world for people to join in.

Minetest forum's "Post tour screenshot thread. (Image: Minetest)

If you find something interesting in the game world while playing or experimenting, we have a popular screenshot thread on our forums that you can post to. It shows almost the entire history of the project and I still like browsing it. But I think the best part of Minetest is that it sets people free to do their own thing. You don't need to ask us or anyone to use Minetest for anything you would like. Use it to learn programming, use it as a teacher, use it to model an environment, geographical formations, a mathematical formula or an electronic principle, use it to prototype a multiplayer game. Use it as a way to host a party when in quarantine? I think of it more of as a tool than a game project.

But you're welcome to contribute something that makes it better. It is a project at multiple levels, so pick a level that you're comfortable in.

Minetest on Google Play Store (Image: Minetest developers)

((WN)) Can you give us some figures on Minetest?

((Perttu Ahola)) We don't really keep track of our userbase in any centralized manner, so I don't have any numbers to give unless I go about digging for them. It's difficult to figure out how many installs of Minetest there are when it's packaged in so many Linux distributions that I can't even count those reliably. There are also endless forks to be found, especially on mobile platforms, even though we do publish an official Android version.

((WN)) What are the tools you use for the development of Minetest?

((Perttu Ahola)) Vim, bash and some common command-line utilities like grep, sed, screen. Git of course. Sometimes python scripts. Minetest uses the CMake build system which is simple to use from the command-line. All in all just the bread and butter Linux command-line environment, with my personal customization of course.

I don't really like complex slow IDEs [Integrated Development Environments], they get in the way and create new problems that you shouldn't have to deal with.

((WN)) How do you track the progress of the development?

((Perttu Ahola)) Currently, or when I started the project? In any case the answer pretty much is I don't. Things develop as they do and nobody likes being pushed when they're doing it as a hobby for free. We use a release process where when enough new features have been added, there is a feature-freeze where only bugfixes are allowed, and then a release. It's the bare minimum to keep things rolling smoothly in a large project like this. We have long wishlists and roadmaps, but in the end what features get developed gets chosen by whoever's putting in the work, as long as whatever they want to do fits the project.

Minetest repository on GitHub. (Image: Minetest developers)

Well, we of course have an issue list and PR [pull request] list on GitHub. I tend to take that for granted these days.

There are multiple levels you can track development in — issues and pull requests are at the bottom just above commits. You could be tracking roadmaps or minimum viable products or such, but we use a relatively chaotic model if you compare it to a company developing a product for a market.

((WN)) How rigorously is the software tested?

((Perttu Ahola)) There are unit tests for some easily testable portions, and there's a CI [Continuous Integration] server that checks whether the project builds on a couple of platforms and whether the tests pass. In addition to developers many of our users are using the development version which helps us catch bugs before they end up in a release, making releases reasonably stable. How rigorously? Well, you could do more or less, but this seems to balance the effort and the end result.

((WN)) Have there ever been critical bugs in the releases, or severe security breaches?

((Perttu Ahola)) That depends on your criteria. Nothing that would've made the news. And nothing that I would really remember. Something allowing in-game cheating on a multiplayer server, sure. Something that would have irreversibly corrupted a player's game world, not in a stable release. Something that would have prevented the game from starting on some platform, sure of course. Something worthy of a remote code execution CVE [Common Vulnerabilities and Exposures]? Well not really, but that can be just because not enough resources are put into finding out if there are any. Not that we have any resources for that. Contributions welcome!

A typical cube in a cubical voxel world. (Image: Infantium)

((WN)) What are the key selling points of Minetest? As I understand, Minetest is not just a game, and you can do more with it. What are some of the fascinating use cases you have seen people use Minetest for?

((Perttu Ahola)) It's so many things to so many people. The basic premise is, it implements a cubic voxel world which is played in the first or third person perspective, either locally or on a multiplayer server. In the default game there's a sandbox or a survival-ish scenario where you can build stuff from familiar materials, and a world generator that creates a natural landscape.

But hooks have been added to it where you can add or remove content to your liking (these pluggable modifications are called "mods" by the engine), and the community has used these over the years to create different kinds of above- and underground landscapes that can either be just explored or used as the backdrop for whatever you're doing, logical systems resembling electronics or mechanics, programmable blocks, sets of animals with different design goals, some vehicles (although the engine isn't quite up to snuff for those), trains, multiplayer economics, some RPG [role-playing game] elements, weapons, things designed for education, and whatnot. Those are combined in multiplayer worlds on servers to something much more than the sums of their parts.

And often the enjoyment is as much in the making of a mod as it is in using the end result. It's an outdated idea that you implement a feature to use it. Minetest can be enjoyed as much inside a text editor as it can be enjoyed by controlling the player character in the game. It's actually interesting also that the fact that it is a multiplayer sandbox environment makes it fun in itself due to human nature. I proved it with the initial versions that had like 3 block types and zero game elements or limits other than basic gravity. You get these layers of creativity: There's creativity in the making of Minetest, there's creativity in making a mod, there's creativity in making a world, there's creativity in the playing itself.

If you like messing around in open-ended development and gameplay, Minetest is for you. If you need an end goal and a set path, some specific mods or servers could give you those. I mean, one could write a book about this. It's the question Minetest asked that Minetest has been answering.

Cover of Minecraft. (Image: Minecraft)

((WN)) What are the main features that differentiate Minetest from Minecraft?

((Perttu Ahola)) Minetest has a simple base game that might seem like the exact same thing. However, under the hood Minetest is open source, has a modding API, runs on older hardware, supports more platforms and is free to download. The community has released many kinds of games that run on Minetest and in fact the project is very much based on the community.

((WN)) Tell us more about Minetest's modding API.

((Perttu Ahola)) Technically the modding API is a Lua interpreter integrated into the Minetest engine, which runs Lua in an environment to which most of the game content and engine features are provided by the engine. There is a simple format for bundling code, textures, sounds and other data to form a thing called "mod". Users can install them and enable them for the game worlds they create.

Textures of various materials in Minetest. (Image: Drummyfish)

Mods also create their own APIs that other mods can interface to, and the engine implements a dependency model to facilitate this. Some game content is grouped into groups so that handling similar items by mods that don't know about the specifics can handle them in reasonable ways. Say, if you add a new kind of tree formed from its special blocks, they can be marked as being wood or so, and then you can use them as fuel in most cooking or such devices no matter who created them.

There is a mechanism for bundling mods into modpacks to easily bundle related mods together, and there is a concept called "game" which is kind of a stand-alone modpack. The game Minetest comes with is just one of those, and if you install more, you can choose between them in the menu.

((WN)) Why was Lua chosen for the API? What are some of the advantages of using Lua?

((Perttu Ahola)) Lua is simple but effective, and designed for embedding. It's also easy to sandbox. Not many languages actually are designed for embedding, and some of those aren't simple. For example, [Google Chrome's] V8 is complex and its API is changing all the time, and Python isn't really designed for embedding, it's more of a host language and messes with your locale settings and whatnot, and is quite slow.

There's also LuaJIT, which is a JIT [Just-in-time] compiled version of Lua. Minetest is able to use it and as such usually Minetest is built with it, as it's faster. Lua also has a track record in games, although that doesn't matter much in practice.

((WN)) What are some of the Minetest features that are extremely popular among the users?

((Perttu Ahola)) How do I know? Well, I mean, placing blocks probably, I'm pretty sure everyone does that. More seriously what Minetest does that Minecraft don't is that for the vast majority of servers you don't have to modify your client at all, regardless of mods used on the server. The client downloads what it needs from the server and custom code runs on the server. The user of course doesn't need to do anything to make this happen so everyone is automatically using it and it is quite a defining feature.

Modding, of course, is an extremely popular feature — Minetest wouldn't be what it is without mods. I'd say extremely popular is also the fact that Minetest's mobile versions use the same protocol and code as the desktop version. I don't think most users appreciate it, but some do. It brings you all the power regardless of the device.

Well, one Minetest feature is definitely also the license, being LGPL [GNU Lesser General Public License] 2.1. It has allowed many more and less appreciated developers to publish their own versions of it. This has happened on all the mobile app stores, those are full of Minetest forks with awful advertising and in-app purchase schemes. To me it's funny and definitely something that those shady developers appreciate, to users who have fallen for them it's probably quite painful.

((WN)) When was the last time you played Minecraft?

((Perttu Ahola)) I don't remember, certainly not once after 2014 as I don't have it on this computer. It quickly grew too slow on the previous computer on which I started developing Minetest. In the alpha days [of Minecraft] it was capable of running on it, these days not a chance.

((WN)) What are some of the features in Minecraft that you hear about, which aren't currently in Minetest?

((Perttu Ahola)) I rarely hear about Minecraft and even then it's about some server and not about features. At one point every place was full of all kinds of Minecraft mods, but nowadays you have to go look for them to find them.

((WN)) Actually, what position do you hold in the Minetest development?

((Perttu Ahola)) For the past years I've been doing the positions that are the most difficult to fill for contributors: Being the "CEO" [Chief Executive Officer] of the project, and doing part of the web hosting, mostly the message board and overseeing the use of *.minetest.net subdomains. Basically just overseeing things and making sure things that people don't like to do don't turn into disasters. Sometimes I help with technical details of the engine that people don't always fully understand.

((WN)) What are some of the things you really like about your work?

((Perttu Ahola)) I like how robust Minetest is. It's based on proven technology that are kind of outdated, but that makes it easily compile and run almost anywhere, and as it's also free, it spreads and sticks like some goo. It's also small and low maintenance, which I like in anything I do.

I also like that it explores what can be done in the game or application category it's in, in an unusual way (like outside the box of gameplay itself).

((WN)) Do you do this full-time? Or do you have any other job?

((Perttu Ahola)) Even though the first year or two things were quite hectic I've never done this full time. It doesn't really make any money.

((WN)) Ah, so you do have other job, too, right?

((Perttu Ahola)) Yeah, I've had a number of jobs during this time.

((WN)) How does the game development receive financial support?

((Perttu Ahola)) I get some donations or "tips" as I like to call them, which generally cover the hosting costs of the website and not much more. Other than that, there has never been any money involved. In addition to myself some modders and developers also collect some miniscule amounts of donations.

I guess development is mostly supported by being able to slap it onto your CV [Curriculum Vitæ] and get a better job that way. I guess it's a bit sad. Or résume for Americans, of course.

"Hi, my hobby is taking over the world from Microsoft. What's yours?" Well it's a bit of a joke of me introducing myself and Minetest. And the absolute craziness of doing it for no monetary gain at all.

((WN)) Yeah; but some sort of donation is needed for running the servers, hosting the wiki, and the domain names, right?

((Perttu Ahola)) It's not required, but I'm fortunate enough to get enough donations to not [have] to pay them out of my own pocket.

((WN)) How does a typical day as the core-developer look like?

((Perttu Ahola)) The core-developer?

((WN)) Since you are one of the core-developers of the game, how does your typical day as the core-developer of this open-source game look like?

((Perttu Ahola)) Currently, as I'm focusing on some other programming projects outside of Minetest, when I have some free time I still check the Minetest IRC channels and GitHub to see what's going on, and if I have something to say I'll make a comment about it. Of course I check my emails to see if any automated system has sent me a warning about something and needs fixing, or maybe there's a private message on the forum about some administrative task that needs doing. I might check some system statistics on the VPS [Virtual Private Server] running the forum to make sure it's running smoothly and make sure backups look ok.

The average core developer of course doesn't have much of these administrative things to do and can focus on some programming task or just check through pull requests to see if a new contribution needs attention. For most core developers the typical day is probably a day off, though, as we work on Minetest when we have free time and feel like it.

((WN)) Tell me, what are some of the design decisions that you are not happy about?

((Perttu Ahola)) There are none, all of them were required to get where we are now. I think you should never blame a design decision that got you somewhere.

Screenshot from v5.1.0 of Minetest. (Image: File:Minetest Game Version 5.1.0.jpg)

((WN)) Okay. How does the developer team decide on the design-decisions and feature requests for the game?

((Perttu Ahola)) I have written some blog posts and roadmaps about my vision, and the team is free to either pick from there or simply do anything they think is important. The core team mostly deals with engine things, and feature requests often come from modders. Dealing with game design feature requests is really difficult so we've tried to move them out of the engine and into the independent game content. Most features are accepted as long as they're simply and nicely done and it's obvious players or modders will find use for them.

The team will ask from me if they're unsure about something. It doesn't often happen, but they're free to do it and I take the responsibility in that case.

This also applies if there's a conflict between team members.

((WN)) Conflict between the team members? How often is there a conflict between team members? And how do you resolve it?

((Perttu Ahola)) I'm not sure it has ever really happened. It's not as exciting as it sounds. But in that case I get to be the dictator.  :-)

((WN)) What accomplishment are you most proud of?

((Perttu Ahola)) I think it's the initial decision to start the project. Everything is based on that, after all. Maybe also the fact that probably like 50% of Minecraft clones on Google Play are Minetest forks, many of which are at least slightly illegal.

((WN)) Looking back at the 9–10 years of this project, what are some of the excellent moments/milestones that stand out?

((Perttu Ahola)) The initial 0.4 development in late 2011 and early 2012 was an exciting time. One of the contributors at the time helped me a lot in getting it done, he was quite capable and enjoyable to work with. It felt a bit like a "dream team". Some persons in the Minetest team are quite anonymous, including this one — I never learned their real life identity.

There was a take over attempt of the project in 2017 by an individual who until then seemed like a contributor with good intentions. It was quite the time too. I don't want to give any publicity to him though, as he's still trying to do it. I don't know if I'd call it excellent, but it definitely comes to mind as something that happened.

During the past few years Minetest has had some physical presence in Europe. A couple of core developers and community members organized a stall at the Freenode #live event in 2017 and 2018.

I guess I have to say I'm not that good at remembering milestones though. I'm sure many people have their own memories about Minetest's history. Many remember their first server that they played on, for example — my perspective on the other hand is in development. In development, it's a good thing I don't remember much because that means everything has gone rather smoothly.

((WN)) Have you been to Freenode #live events?

((Perttu Ahola)) I haven't been to Freenode #live. I don't tend to travel that far, I feel international travel is too much hassle and I'm not a very social person at all.

((WN)) Do you or any of the Minetest developers attend LibrePlanet, FOSDEM or other conferences too?

((Perttu Ahola)) I haven't been following too closely, but as they're open source developers and many live in central Europe, you might stumble upon them in events around there. They might be in a disguise, though, as they are involved in other projects in addition to Minetest.

Rubenwardy (one of the core developers) has said he wants a Minetest convention and I have to go. We'll see if that happens, and where if so.

((WN)) Ah, that would be interesting. Does Rubenwardy have any places in mind? What do you think of organising it in Helsinki?

((Perttu Ahola)) As most core developers and contributors come from Germany, France, UK and such, I think Helsinki wouldn't make that much sense.

During Minetest's history, there haven't been almost any Finnish developers other than me. And, given that I live half a thousand kilometers away from Helsinki, it's not exactly my home town either.

It's a very international project.

((WN)) How do you and Minetest benefit from the presence at freenode? Apart from the platform features, do you also benefit from links with members of other channels at Freenode?

((Perttu Ahola)) Freenode doesn't really link projects together, it mostly works as a private platform for discussions for each project. Of course it's easy to join if you're already on some other Freenode channels, as many open source developers are.

Midnight sun in Finland (Image: aoiaio)

((WN)) Apart from freenode, how do the developers meet with other developers? Do they use online text or video chat, or do they also have meet-ups in-person?

((Perttu Ahola)) I hear people using mostly IRC, Github and the forum. There's some development talk on the unofficial discord server too. I rarely hear about IRL meet-ups. I've only ever met one Minetest contributor who was visiting Oulu with a group to see the midnight sun which happens this time of the year here in the north.

((WN)) What is planned for the next versions?

((Perttu Ahola)) I and many of our core developers have big plans but we're a bit lazy and have many projects going on so it's really up to who has a spare week here and there and what kind of new contributions are coming in. We have a history of not ending up even close to what the roadmap was telling us to do. On a weekly basis we do have a continuous flow of fixes and new modding API features going into the engine, so there's always something around the corner. In addition to that, an interesting place to be on the lookout is the modding sections of our forum. Those guys get to use much more imagination than the core engine developers. It's been long in the plans to get more imaginative content into the main Minetest release, but currently it's still kind of boring, so make sure [to] check out the forum and content database.

Screenshot from v5.2.0 of Minetest (Image: Minetest developers)

((WN)) What are some of the upcoming milestones for Minetest?

((Perttu Ahola)) We're moving release by release and including stuff on a when-it's-ready basis. [Version] 5.3 will be coming out very soon as there are just some bugs left. It's ended up with 50 commits. That's mostly bugfixes, but to pick a feature, the "minimal development test" game that comes with engine for mod and engine developing purposes has been rethought and overhauled. What'll end up in 5.4 is still completely open.

In my experience setting any milestones you're not doing yourself is never a good idea in a hobby project — it'll just intimidate people and nothing gets done. Some developers have big plans, including myself, but they may or may not happen. :-)

((WN)) How is the i18n [internationalisation] support for Minetest? Do you plan on supporting more languages?

((Perttu Ahola)) There are some challenges due to the fact that Minetest supports multiplayer servers with each client using their own language settings, but if you choose your mods carefully, you can get a single player experience in many, many languages. You can check out the translation status for different languages at Weblate. You can also contribute translations right there on that website. We occasionally update the English versions and occasionally copy the translated texts over to the project to be included in releases.

Many open source projects do it like this, we're no different. Currently it looks like 11 languages have 90% of texts translated. More than 90%, I mean.

Of course with game content, especially that which you find separately, your mileage will vary — but the engine translations are enough to configure Minetest and get you into a game world. It's an ongoing process to try to make everything we can translatable by the community.

A screenshot from Minetest game. (Image: Minetest developers)

((WN)) Okay. Do you also plan on providing more biomes, or making the current ones more interesting?

((Perttu Ahola)) We've long been in the process of moving the game content out of the engine and away from the core team more to individual game-focused developers, so the default game content has been a bit boring. However, you don't need to live with it, as it's easily solved: just download some biomes you like into your game. At this point it's not really even intended to be used as-is.

Some of the inventory items as seen in Minetest v0.4 (Image: Minetest developers)

It's the core idea of Minetest 0.4, and from there on all subsequent versions. Content is so easy to add and modify that it doesn't really even matter what content you start from.

If you want a fleshed out product with everything in there out of the box, Minetest doesn't really do that. But you can search on our forums or content database if there's something that would do it for you — some game packages are quite complete.

((WN)) What are some of the reasons people choose Minecraft over Minetest? What are some of the common complaints you hear about the game?

A scene from Minecraft. (Image: Minecraft)

((Perttu Ahola)) I think most of the time people don't like Minetest because they want a full game that they can just play. On the other hand other people choose Minetest because they don't want that, they want something they can easily customize.

Some don't like how Minetest looks, to the experienced eye the graphics aren't as polished. However it does run on older hardware. People using older hardware often choose Minetest because it works much better. On the other hand, Minetest can't utilize high end gaming PCs as well, it's not optimized for those.

Of course also the price differentiates the two. Minecraft costs a lot, especially if you're a kid in a poor country, or you want to install it on every computer in the classroom, or even an entire school. But for the money you're getting a fleshed out product. For some use cases you can't beat that.

A scene in Minetest with the current graphics. (Image: Minetest developers)
Another scene from Minetest with current graphics. (Image: Minetest developers)

((WN)) Will the improvement in the graphics of the game compromise with the advantage of the game running on older hardware? Is it possible to achieve both without any compromises?

((Perttu Ahola)) Improvement in graphics will compromise the advantage of being able to run on old hardware, or it will result in basically two separate rendering engines. To take advantage of new hardware you have to switch to newer versions of OpenGL, heavily use shaders and such, and as a result old hardware simply grinds to a halt or simply doesn't support those.

Of course some improvement can be done without compromise, but it's relatively minor if you look at what gamers are expecting these days. On the other hand for use by kids or education or such, looks don't really matter. What matters is that it's able to run on the hardware they happen to have.

((WN)) Would you want to create two different engines for those players who have new hardware and want to enjoy the open-source game?

((Perttu Ahola)) Maybe, but I'm not the one to do it. High-end graphics is quite a specialized field and it's especially specialized when you want to render a voxel world like this, with voxel-based lighting and whatnot. For more common types of game environments you could use more easy-to-use solutions.

((WN)) What contributors are the most wanted at the moment? What activities are in dire need of more eyeballs and helping hands?

((Perttu Ahola)) Any kind of contribution is always welcome. I don't think I'm in a position to pick and choose what people spend their time on. If you contribute something because it's important to you, it's going to be important to some others too. I also can't pick and choose what skills people have. If you are a capable programmer and for some crazy reason have lots of free time that you don't know what to do with, you can absolutely trust me and other core developers to give you things to do for the rest of your life. But that's not how it works, nobody is like that. You do what you like and what you feel is important. You will be thanked by the users.

On the off chance that I can get a programmer inspired to do something for us: We've been long thinking of Voxel Area Entities — basically objects that are built from the same blocks that the world is, but that can move within the world based on some kind of moddable logic, like physics. Every year I'm asked by a different person when I'm going to do it, and every year I've had some other project I'm focusing on. Most core developers don't feel they have what it takes to even try doing that.

Other massive ideas floating in the air in the Minetest developer community, core developers and contributors alike, is abstracting away and switching the rendering engine to something more modern, probably something made by us to fit the needs of Minetest instead of some generic game graphics engine.

((WN)) For how long do you see yourself continuing to work as the CEO of the project?

((Perttu Ahola)) Until I'm dead, probably. Not because I really want to, but because it's not something anyone else wants to do.

What would you choose, going on the beach, pub or golf field to take it easy, or staying in your basement looking through issues and pull requests, thinking when you're going to upgrade the forum software, trying to figure out why something was implemented in some way in the code, writing about some idea you have that hasn't still been implemented in seven years?

See, I'm absolutely crazy. Most people aren't.

It's actually an interesting question: Is there any way I could be replaced?

((WN)) Is there a way to?

((Perttu Ahola)) I do think some parts of Minetest have been made as student projects. Such extra motivation helps getting things done. Maybe a tech leadership school could take Minetest CEO as a student project position? Like, do it for a year and get lots of points. Just an idea I guess.

Also, I kind of hate the subject. In that way I'm more of a CTO [Chief Technical Officer] than a CEO.

((WN)) Do you think Minetest can benefit from programmes such as Google Summer of Code?

((Perttu Ahola)) Maybe, but it's difficult to compete with other projects there and the person doing it has to already be a contributor with a task in mind. Otherwise it takes way too much prepping work to get somebody going in anything larger. Self motivation is key in getting something done in a project like this.

Nobody will make you do anything or guide you. You have to want to do it, and ask for help. We also don't have any centralized official organization in any country, so we can't really collect funds and pay people to do things.

Money, official forms, agreements — No thanks. Throw it in the trash. Our agreement is the LGPL license of the code and CC BY-SA of other assets — it's the bare minimum and works.

Enrolling Minetest into GSoC could be the contribution of someone. I don't think there's anything stopping that. It could be quite beneficial to the project.

((WN)) How can the community ensure that the Minetest project succeeds for the foreseeable future?

((Perttu Ahola)) Use it, teach other people how to use it, share your in-game and mod creations with other people. Of course reporting and fixing bugs and contributing engine features helps, but the main reason it exists is because it has users that enjoy playing it.

Whether something is a "thing" really only depends on whether it's popular.

((WN)) When did you actually think Minetest was getting significant attention and it was getting popular?'

((Perttu Ahola)) When I started posting about it on the Irrlicht forums and other places on the 'net, it immediately became obvious there was interest for such a thing. I mean, compared to Minecraft, it has always been tiny. But it was something completely different to anything else I had published until then in terms of public interest. It wasn't just one person saying they checked it out. It easily created a thread with people arguing whether it was even legal to make one like it.

((WN)) The legal aspect is something even I wondered about. But you haven't received any legal notices, right?

((Perttu Ahola)) Well, it might have not been obvious then that it is legal, but nowadays there are so many Minecraft-like games everywhere people don't even think about it any more. Nothing at all, ever.

And why would I [get a legal notice?] — it's completely made from scratch and I've never seen any Minecraft source code. That wouldn't be the reason I'd change the name. But changing the name isn't really doable. You could of course publish it in addition under a second name and leave the engine called Minetest. But what's the point?

Minetest is such a bad name it works as a trademark in itself. Nobody wants to copy it. It doesn't sell, but we don't need to sell. If it was a serious commercial endeavour I would never had named it that in the first place. [A trademark lawsuit would] only make Minetest grossly more popular, and we could simply change the name. Really nothing is stopping us, if we need to, but there's not really any need.

((WN)) What are some of your other hobbies?

((Perttu Ahola)) In addition to programming I also do electronics as a hobby. I'm very interested in electric vehicle [EV] conversions and have done some reverse engineering for re-using parts from crashed EVs. Some of that has been released as open source. Well, in addition to having them as hobbies, I also work in programming and electronics. But anyway — whether money is involved or not, that's what I do.

I've also tried to do some other game development. That was more of a learning experience than something that would have resulted in an end product.

((WN)) What sport activities do you normally undertake to stay strong and healthy? How has the pandemic affected them?

((Perttu Ahola)) I'm not a very sporty person. If I feel so, I'll go for a walk or ride to town and back with my bicycle. I do try to eat quite healthy though. The pandemic hasn't had much effect on my life overall. I've just shifted from less remote work to more remote work.

((WN)) What are some of the important things your have learned as an open-source game developer?

((Perttu Ahola)) Well, most game ideas suck, and the programming doesn't really matter. Game development isn't something I'd recommend for anyone, it's such a saturated field.

((WN)) Saturated field?

((Perttu Ahola)) I mean, too many people are making games already. It's such a popular hobby.

((WN)) Well those were all the questions I had for you.

((Perttu Ahola)) (That was quite a lot of questions, I think that'd make a small book so far. :-))

((WN)) Anything you would like to add?

((Perttu Ahola)) I don't think so.

((WN)) Thank you so much, being so generous with your time, celeron55. It was wonderful discussing about Minetest with you!

((Perttu Ahola)) No problem, it's not too often I answer so much things about my longest ever project.


Sources

Wikinews
Wikinews
This exclusive interview features first-hand journalism by a Wikinews reporter. See the collaboration page for more details.

External links