A sandbox tower defense game written in Java.
Trello Board
Wiki
Wiki
Contributing
- Mods, discussions and more by the Mindustry Modding Community.
- Mindustry-mac-35-release-40.zip 2y. Manual Download. Mindustry-linux64-35-release-40.zip 2y. Manual Download. Sign up to access this! No comments yet.
See CONTRIBUTING.
Building
Bleeding-edge live builds are generated automatically for every commit. You can see them here. Old builds might still be on jenkins.
If you’d rather compile on your own, follow these instructions. First, make sure you have Java 8 and JDK 8 installed. Open a terminal in the root directory,
cd
to the Mindustry folder and run the following commands:Download Mindustry for PC - free download Mindustry for PC/Mac/Windows 7,8,10, Nokia, Blackberry, Xiaomi, Huawei, Oppo - free download Mindustry Android app, install Android apk app for PC, download free android apk files at choilieng.com.
Windows
Mindustry, a game that mixes in Factorio with Tower Defence and then goes wild from there is a fantastic example of how good a free and open source game can be. So good in fact, I wrote an article about my love of it and spoke in a video about it on Linux For Everyone. I'm not here to gush about it all over again though, well not quite anyway. Mindustry mods are simply directories of assests. There are many ways to use the modding API, depending on exactly what you want to do, and how far you're willing to go to do it. You could just resprite existing game content, you can create new game content with the simpler Json API (which is the main focus of this documentation), you can add.
Running:
Building:
gradlew desktop:run
Building:
gradlew desktop:dist
Linux/Mac OS
Running:
Building:
./gradlew desktop:run
Building:
./gradlew desktop:dist
Server
Server builds are bundled with each released build (in Releases). If you’d rather compile on your own, replace ‘desktop’ with ‘server’, e.g.
gradlew server:dist
.Android
![Mindustry For Mac Mindustry For Mac](/uploads/1/2/7/7/127765123/314619329.jpg)
- Install the Android SDK here. Make sure you’re downloading the “Command line tools only”, as Android Studio is not required.
- Create a file named
local.properties
inside the Mindustry directory, with its contents looking like this:sdk.dir=<Path to Android SDK you just downloaded, without these bracket>
. For example, if you’re on Windows and installed the tools to C:tools, your local.properties would containsdk.dir=C:tools
(note the double backslashes are required instead of single ones!). - Run
gradlew android:assembleDebug
(or./gradlew
if on linux/mac). This will create an unsigned APK inandroid/build/outputs/apk
. - (Optional) To debug the application on a connected phone, do
gradlew android:installDebug android:run
. It is highly recommended to use IntelliJ for this instead, however.
Mindustry For Computer
Troubleshooting
If the terminal returns
Permission denied
or Command not found
on Mac/Linux, run chmod +x ./gradlew
before running ./gradlew
. This is a one-time procedure.Gradle may take up to several minutes to download files. Be patient.
After building, the output .JAR file should be in
After building, the output .JAR file should be in
/desktop/build/libs/Mindustry.jar
for desktop builds, and in /server/build/libs/server-release.jar
for server builds.![Mindustry For Mac Mindustry For Mac](/uploads/1/2/7/7/127765123/309887053.jpg)
Feature Requests
Downloads
Source: Github
- Conveyor belt contents and turret ammo are now saved. As always, this will clear old saves.
- Fixed routers distributing materials unevenly
- Capped router item capacity
- Conveyor belts can now pile up items and stop accepting new ones, instead of stacking them all in one location
- Doubled countdown time for the first wave of every game
- Capped turret ammo
- Changed turret ammo display from a text indicator to a green health-like bar
- Added additional description information for turrets
- Healing turrets now rotate toward block targets like other turrets
- Fixed bug that caused ridiculous amounts of screenshake
- Other various bugfixes
Files
Aug 26, 2017
Aug 26, 2017
Mindustry For Mac Os
Aug 26, 2017
Aug 26, 2017
Get Mindustry
Log in with itch.io to leave a comment.
Great game, really addictive!
I noticed a couple of bugs when I played.
1. turret aim is off - sometimes firing in exact opposite direction to enemies. This is particularly prevalent when the enemies are moving. Could be a rads/degs mix up.
2. I quit a game, returned to the menu, then started a new game. The level reset, but my resources did not, i.e. I started with loads of resources.
3. Late waves (40+) I see FPS drop enough that player and enemies start glitching through walls.
4. I can't find any use for the junction tile? If there is a use it needs more explanation.
And a couple of suggestions; Showing turret range indicator while before you place it would be handy. Also, hard to implement, but an online highscore would encourage people to come back.
I noticed a couple of bugs when I played.
1. turret aim is off - sometimes firing in exact opposite direction to enemies. This is particularly prevalent when the enemies are moving. Could be a rads/degs mix up.
2. I quit a game, returned to the menu, then started a new game. The level reset, but my resources did not, i.e. I started with loads of resources.
3. Late waves (40+) I see FPS drop enough that player and enemies start glitching through walls.
4. I can't find any use for the junction tile? If there is a use it needs more explanation.
And a couple of suggestions; Showing turret range indicator while before you place it would be handy. Also, hard to implement, but an online highscore would encourage people to come back.
Good luck with this, it's cool.
1) I think this is related to target prediction-- when I was making the initial turret behavior, I ran into some problems with aiming and in the end made all of them over-predict. This (should?) be most noticeable for flame turrets. I'll be looking into this for the next release.
2) I'm surprised I didn't notice this bug before! It's fixed now, but I'll wait until next release to upload the changes.
3) This is most likely caused by the sheer amount of enemies and bullets, so the only thing I can really do is decrease the amount of new enemies per wave, and substitute them for more powerful 'elite' enemies-- this should also be in the next release.
Mindustry For Macbook Air
4) I intended this to be used for situations where you need to cross conveyor belts carrying different types of ammo or resources to different turrets. Maybe not particularly useful, but in my playtime there have been a few times when junctions were needed.
5/6): Placing range indicators should be easy to implement (added that to the list); online high-scores wouldn't be that difficult, but I'd rather focus on improving the gameplay itself first.
Thanks for the feedback!
1) Is that to simulate inaccuracy? Apologies if I'm overstepping, I find the simplest way of handling target prediction is,
aimPosition[x,y] = enemyPosition[x,y] + (enemyVelocity[x,y] - yourVelocity[x,y]) * (distance / weaponSpeed)
Which, ignoring acceleration, provides the perfect firing solution - then I add an inaccuracy factor on afterwards.
3) Yeah, stronger rather than more enemies will help, although it'll still likely lag due to the vast number of turrets and projectiles flying around. You could use a fixed time-step; the game would slow down as FPS drops, but it'd avoid the glitching through walls. Pick your poison.
4) I've been in that exact position, needing that functionality, but can't work out how to use the junction. I stuck it in the middle of two conveyor belts in a cross formation, but the resources just stopped at the junction and started to pile up. Maybe I'm just being dumb, but it could do with an example. Perhaps bung one in to the initial base setup at the start of the game?
5/6) Yeah, totally understand. Though I personally find the online highscore the most complicated bit to implement. I don't know what tools you're using; I usually put something together with socket.io, node and a small AWS server - but the score verification is always the hardest bit - it's really easy to spoof a highscore in some games.
+7) I also forgot to mention, not a bug necessarily, but when you're building things and run out of a certain resource, it auto de-selects that object, which is a little frustrating cos you have to go back and re-select it each time. Also your gun starts firing on that final object placement as you run out of materials.
Jeez, sorry if I'm bombarding you. I'm a sucker for resource management / tower defence games. Do you mind divulging what code / libs you're using for this? I've been mainly using phaser.io recently but I'm not sure it'd handle so many sprites as your game requires.
1) That is the formula I'm using, but after looking into the code, I found that the enemy velocity was incorrectly multiplied by the deltatime. Since I usually test the game at ~1000 FPS, this threw off the accuracy greatly, so during the initial gamejam, instead of attempting to fix it, I just 'compensated' by subtracting 0.2 from the predicted bullet speed. Removing the delta and compensation has fixed the prediction.
3) I'll see if I can get a hybrid approach: use variable timestep, but if the FPS falls below a threshold (15), I prevent the used delta-time from getting any higher. So, game slowdown would only occur under 15 FPS, which is (hopefully) above the FPS where things start to glitch through walls.
4) Uhhh, looks like I broke the junction with a recent update. In fact, when I tried to use one, my game crashed. Just fixed it.
7) I'll see if I can disable the deselection and display some sort of error when you place something without sufficient resources instead.
I'm using libGDX, a Java game library, as the framework. I have Mindustry on GitHub, here.
(note: I'm also using a custom library, uCore, which provides utilities for and wraps a lot of libGDX classes, so big chunks of the code won't resemble standard libGDX)
itch.io·View all by Anuke·Report