October 9, 2019

Mindustry

Mindustry Header 1.png Mindustry Header 1.png Micro Thumbnail

Open Source in the modern world has become an amazing place. Not so long ago many software developers would have scoffed at the idea that groups of people scattered across the whole world, being paid no regular salary for their efforts in many cases, could possibly orchestrate and create free software that was fully capable of competing with massive corporations' paid solutions. And yet today, this has become reality. But despite these incredible feats of Open Source, we find a large absence of high quality, fun, Open Source video games. Although they do exist, the majority of good Open Source games are old proprietary games that have been Open Sourced because they no longer bring in money, for example Nexuiz, which uses the classic Quake physics.

There are several reasons that Open Source games are difficult to create and therefore sparse, but in our opinion, the thing that sets game making apart from other types of projects is the amount of opinion that is involved. While "tool like" programs such as a photo editor have obvious features that everyone can easily agree will improve the application, everybody has different views on what makes a game more fun. This makes it difficult to find large groups that will co-operate well enough without any payment for their efforts, so as a result, Open Source games are more limited in scale and must usually be made primarily by one or a few very talented developers.

Yet despite Open Source gaming's arduous progress, there is hope on the horizon that this dream is achievable, and Mindustry is one of the trailblazers. Mindustry is a two dimensional, top down, mining and tower defense game, with PVE and PVP modes. It is totally free and Open Source, licensed under GPL, so go ahead and try the latest download, it won't cost you a thing.

Now obviously it doesn't matter how free a game is if it is no fun, but that is what caught our attention about this title, that we were immediately enjoying ourselves. If you've played tower defense games before you may be somewhat familiar with what game play will be like, but we have never played one before. That being said I don't have any similar titles to compare Mindustry to, so it's possible there are better paid ones out there, but Mindustry is free and it's fun.

Progression through Mindustry is very enjoyable, providing lots of cool things to unlock as you do so. The logistics of game play give you plenty of skills to improve on, while learning the basics is not overwhelming. We've really enjoyed scheming new ways to make our mining operations and defenses all the more efficient. The materials and machines that you can build all seem properly devised, as well as the enemies you face. Artwork is simple, but high quality and aesthetically pleasing all the same. You can easily play Mindustry over Lan, or host your own internet server if you know how, with cross platform play on Windows, Linux, Mac, iOS, and Android. All the polish that you would expect from a paid game is present.

Of the things that could use improvement, the music is good enough but it could use better timing when played during game sessions. It doesn't really seem like the music has any real coordination with what is happening.

A bigger change that I feel could make the game quite a bit more enjoyable has to do with enemy path finding. With the current system, pretty much all of the enemies take one path to reach you, which means that you just have to find the best point along that path to set up defenses. If they were to split up and chose a few different paths of attack, it would force you to be quite a bit more diverse in defending and therefore limit the use of more stale techniques. It is worthy of note that this change would require a lot of re-balancing of the existing maps.

The biggest need for Mindustry at the current time though is simply more campaign content, but never fear, updates are coming in steadily so you can expect more content to start popping up in the future. What's even better is that you are not limited to what comes with the game because there is an in-game course editor that allows you to create your very own professional quality maps and levels. There is some Open Source spirit for you there.

The course editor gives you all the basic tools needed for you to design your map, and it is the same editor that was used to make all the official campaign maps, so it is definitely sufficient. However, there are a few particularly impressive features of the editor, the first being the capability of the game's terrain generation function. It includes a great number of options for generating land, rivers, and materials, bringing you just far enough that you can nearly create your entire course off of just generation parameters. Another interesting note on generation is how you can even set certain generators to run every game, meaning materials can be spawned in random locations every time to keep things unpredictable. Finally, each of your courses needs to have a good challenge, and so enemy wave spawning is fashioned so that however you design your waves, there will be an unlimited number of them because they are managed with a few multiplication parameters that continually increase the difficulty for the length of any game.

We found Mindustry to be competitive with paid games despite being Open Source, which is a rare achievement. This is a title including all the basics needs of a enjoyable game and a robust editor facilitating user created content, all brought together with surprising polish and tact. 10/10 from K-tech.

Mindustry Developer Interview

As a bonus for this review, we were able to conduct Q/A session with the creator of Mindustry, Anuken, and get some extra info about the game in his own words.

Q. Do you have any previous game development experience, other games that you've worked on etc.?A. No; more or less only game development experience prior to making Mindustry was some game jam submissions on itch.io. I had worked on some small personal projects as well, but none of those amounted to real 'games'.

Q. How long have you been developing Mindustry?A. A bit more than two years.Q. Are there any other major contributors to this project?A. In terms of code or assets, no. However, there are a few translators who have stuck with the game for a long time and/or done a lot of good work in the community.

I think the biggest contribution someone has made so far was the addition of unit tests for power, and some changes to the way power is distributed. Most people -- if they even choose to contribute -- submit 1-2 small changes related to bug fixes or quality of life, then disappear. I rarely hear from them again.

Q. Who did the graphical artwork and who did the music?

A. Both of these were done by me. The graphics were originally pixel art, but at some point during the development of 4.0 I decided to increase the resolution 4x by using a classic pixel upscaling algorithm. This ended up looking more crisp, but many sprites ended up getting distorted - now I draw the sprites by hand, for the most part.

All the music was done entirely in a week before release, in LMMS.

Q. What inspired you to create the game?

A. The game jam that Mindustry was made for had the theme of 'Machines'. I remember the host of the game jam mentioning 'games with conveyors', so I just took that as my base idea and added tower defense to it.

Q. Was there any pre-existing games that had heavy influence on Mindustry?

A. For the most part, Minecraft and its many mods. Some of the first resources I implemented were iron, coal, uranium and steel, which were a common occurrence in mods like IndustrialCraft 2 (and others). The nuclear reactor design was heavily influenced by that mod as well.

Some of the more modern Mindustry blocks like the pulverizer have names or mechanics influenced by other tech mods, like Thermal Expansion.

Many people would probably expect me to say that I was a big fan of Factorio or that I wanted to make my own version of it, but that's not the case at all.

I knew of Factorio when I was making Mindustry, but since I had never played the game or watched anyone play it, the most it inspired was the base mechanic of having ore veins with conveyor belts moving things into places.

However, I think I've been indirectly inspired by Factorio through player suggestions, as players of that game have often proposed new content (like 'tunnel conveyors', which I later realized were taken straight from Factorio).

Q. What is your personal favorite part of the game?

A. It's hard to tell now, after playing it for so long, but I would say it's the creation of units to raid enemy bases with. I just find it satisfying.

Q. Is there any big features or expansions that you would like to see added, or have planned, for the future of Mindustry?

A. My 'big picture' plan for the game involves creating multiple planets, each with their own interconnected regions, possibly with some sort of inter-planetary war and persistent region state that influences what happens. But that's for the far future, and I have absolutely no idea how well this will go. Don't expect it anytime soon.

Q. What were the reasons for making Mindustry Open-Source?

A. It was just convenient. I wanted version control, so I put it up as a public repository; it was just a jam game, after all. The open source status just stuck, and now I'm here.

Q. How did you support development effort in terms of income and time needed for development?

A. It wasn't (and still isn't) a problem. I'm currently a full-time university student, so I just work on the game in my free time. Expenses aren't an issue, as I make the game myself and don't need to pay anyone for things like music or assets.

In fact, the only money I've spent making the game has been for things like the Apple/Google Play/Steam developer licenses, and those put together constitute less than $250.

Q. Is there a major experience or lesson learned during the course of game development that you would like to share?

A. I've learned a lot with this project, but it's hard to pick out anything specific that rises above the rest.

Q. Is Mindustry in a "finished" state yet, and if not, when will the first official release be?

A. Yes, I would consider the game 'done', although there's still a lot of content that I'm planning to add.

Q. What is the official pronunciation of the name Mindustry?

A. Many people pronounce it as "mine" or "mind" -ustry, but the one I use is "Min" "dustry". That is, it's pronounced like "industry" with an "m" at the front.

Q. Do you have any plans for future games that you would like to create?

A. I have a few, but none of them are concrete enough to be shared yet.

Thank you Anuken for answering our questions and best of luck as you continue to develop Mindustry into the future, and hopefully new games as well.