anuken / mindustry Goto Github PK
View Code? Open in Web Editor NEWThe automation tower defense RTS
Home Page: https://mindustrygame.github.io
License: GNU General Public License v3.0
The automation tower defense RTS
Home Page: https://mindustrygame.github.io
License: GNU General Public License v3.0
Currently, Multiplayer in HTML5 seems to be completely functional, except that hosting the game on an HTTPS site (like itch.io) fails, as it requires wss. I have no experience with certificates or HTTPS, and thus have no idea how wss support should be implemented, or whether it can be feasibly done at all. Googling for answers has proven inconclusive. For now, I'll have to disable multiplayer for web.
Java websocket library entry on wss: Link
Source file with websocket server code: Link
When it comes to resources traveling on conveyor belt there a lot of shades of grey: dark grey stone, light grey iron, very light grey steel. It would help a bit if one those items had more distinguishing colors. Iron is good candidate, deposit is orange it would be perfectly intuitive for a player if mined iron ore was of the same orange color.
In Android version, item don't enter into conveyor tunnel.
This is my type of game, the ones where you manage an assembly line and at the same time have a real good challenge. This just completes all of that and that's why I think it's awesome. also the sound effects are fantastic
So while I currently enjoy the game a whole lot both on Windows and Android/ChromeOS, I have a few suggestions that would make the game much more satisfying and easy to use.
IMPLEMENTED## 1. [Desktop/Mobile] A more user-freindly conveyor/conduit path creator. ⤴
Currently, you can only place conveyors and conduits one-by-one, and it usually takes a very long time to make a path, for example, from one part of Maze to the other. It would be really nice to have a drawing style, or a place-and-extend style for creating converyor or conduit paths, and that would save loads of time for lots of players that like to make complex networks of conveyors.
IMPLEMENTED## 2. [Desktop] Make it possible to use the scrollwheel to rotate converyors and conduits around. 🔄
Honestly, using the R key (or whatever key is bound to 'rotate') is not too bad and honestly I'm pretty comfortable with it. But sometimes, I think it would be more convenient to use the scroll wheel to rotate conveyors, for example, when you're making a long path and have to move around to be able to continue laying it down.
IMPLEMENTED## 3. [Desktop/Mobile] Put a button or toggle for one-click-deletion of towers/machinery. 💥
This comes REALLY useful when moving defenses out of a certain area or erasing a big mistake. The click-and-hold method is way too slow for deleting many things in a short time, and having a togglable hotkey/button on desktop or mobile would be great. (especially for mobile!)
IMPLEMENTED## 4. [Desktop] In addition to that, please put an option to rebind a key to almost all actions. 🔡
There are lots of examples of this, the most major being the weapons hotbar (for the ship) and exiting tower placement mode. Binding keys to almost all actions could save a ton of time.
Currently, the only way I can oversee the whole map and what's going on is on my Chromebook, where the internal display resolution could be set really high (up to 4k on a rather small screen) and I could zoom out far enough to see what's going on in the whole map. Adding a larger view when zooming out would be really useful for a lot of players.
IMPLEMENTED## 6. [Mobile] Fix the boxes around buttons. ▶
It's really annoying when I accidentally waste 30 precious steel by accidentally placing a Heal Turret II where I don't want it to go, and the same goes for practically every tower in the game. A tap registered off 3 points could waste a lot of recources, especially for people on devices with smaller screens. I would love it if you made the boxes around buttons solid, and unable to let a tap go under it.
I will update this a few times in the future by adding example gifs of game mechanics I suggested. But for now, Anuken, keep up the good work with your awesome game. I love it and it makes me really confident that this game will contiue to be really good seeing that you're actively working on it when you can! 😄
Sorry sorry... Imgur gave me the wrong link... 😥
https://i.imgur.com/dAFMjEJ.gif
<correct link
That's why i was making commits like crazy because the 'image no longer available' placeholder wasn't there... I thought that the link when you post a new image (the link was shorter) was the correct one but turns out it was a link to the actual image page...
Correct GIF:
https://i.imgur.com/dAFMjEJ.gif
Whenever I load a sandbox save and try to start a new wave it crashes the game.
Controllers: added manager for application, 1 managers active
Total blocks loaded: 95
java.lang.NullPointerException
at io.anuke.mindustry.core.Control.runWave(Control.java:338)
at io.anuke.mindustry.ui.fragments.HudFragment.lambda$playButton$0(HudFragment.java:199)
at io.anuke.ucore.scene.Element$2.clicked(Element.java:108)
at io.anuke.ucore.scene.event.ClickListener.touchUp(ClickListener.java:94)
at io.anuke.ucore.scene.event.InputListener.handle(InputListener.java:60)
at io.anuke.ucore.scene.Scene.touchUp(Scene.java:372)
at com.badlogic.gdx.InputMultiplexer.touchUp(InputMultiplexer.java:96)
at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:81)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input.update(Lwjgl3Input.java:178)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:383)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:137)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:111)
at io.anuke.mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:99)
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 26: crash-report-Jan 3, 2018 8:57:58 AM.txt
at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
at java.nio.file.Paths.get(Paths.java:84)
at io.anuke.mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:112)
I bought the upgrades for the new weapons, however I cannot seem to be able to change to them. Is there some set of keys that I need to use, or is it just buggy?
I own an Xbox One controller which I've been itching to use for Mindustry for ages now. Thankfully, there came the new controller update. But even when i select my controller in the options, i still can't do actions with it in the game. When i rebind, it registers the controller axes/buttons as this:
If it helps, my controller is connected via wired micro-usb connection to my pc.
And by that I mean it in the same way that the conveyors can be upgraded just by placing higher rank conveyors on them. Basically it means that you can replace a regular drill, e.g. Iron Drill with an Omnidrill just by placing it over the original drill.
There seems to be a lot of people asking for features that requier servers. That means we need a way to pay the bills for them.
Poll where people can vote:
http://poll.lab.io/XBTDep9mzxavlTkw7zjNlg
Hi, the project seems to be missing a license. I recommend the MIT license.
From what I can see, in the newest beta 2, instead of using A/R to change direction of conveyors, we should use scroll wheel.
However, on laptops without mice, it is practically impossible to scroll precisely. As it is, I won't play beta 2 at all.
My suggestion would be to restore A/R controls. The player will be able to choose whether they prefer using keyboard or mouse and everyone should be happy.
Cradit: alessboy on Discord
You don't see the whole map, any building you place creates an area of vision around it.
Toy can only build in areas of vision.
Used the editor to make an open map with minimal border, and an enemy got stuck off the edge of the map and I couldn't kill it. Some turrets were in range and not targeting it, but it was shooting up stuff just fine. I think it was one of those tank things spawn babies, I suppose it spawned there instead of jumping terrain? It being there didn't hold up the next wave either, counter showed no enemies.
Possibly related to #17.
Hi, are you open to receiving contributions? I would love to help, maybe work on some of the new features.
Occurs both on Android on PC, for both servers and clients.
First off, let me just say that I don't mean to be rude, but I couldn't find any other word that correctly and accurately describes my feelings towards the merging of #45.
There are 2 very obvious reasons.
It wastes time and resources.
I literally have to make a filter out of splitters just to regulate the input to my Smelters and Crucibles. Even then, literally every minute or two the Smelter/Crucible clogs the heck up. I have to march right back down there and replace the block, wasting a lot of resources and time. This is obviously just sucks. I mean..."let's make the crucible/smelter not accept any items until you replace it"... you must be kidding me right?
It makes production of [resource] slower.
This is a result of the clogs I mentioned earlier. You're gonna have to constantly go to and from the block replacing it frequently to get the speed you want.
If you think I'm wrong, then keep it. But just so you know, It would be really good if you just rolled that back and not include it in the next release. Thank you.
Chat menu for multiplayer. Each person should have a different name color.
Sometimes, BlockSyncPackets will not be sent to players from the server, resulting in desynced world state. Can only reproduce on non-local servers, so far.
On android version, process machines (smelter, crucible, ...) stop working if their inventory is full. I has no test on others versions.
Possible fix:
Add reserved minimal input and output to be able to craft.
Example with titanium extractor (I see bug with it) :
Craft : X water + 6 irons --> 1 titanium.
reserve X "slots" for water.
reserve 6 slots for iron.
reserve 1 slot for titanium.
use 83 slots for unreserved items (irons and titanium)
If we want to add multiplayer, it is best to add it as early as possible as it's the least work. But before work on it can begin we have to decide on a lot of stuff.
Clients are sometimes unable to shoot, and their position stops being updated as well. Could be caused by a UDP disconnect?
Hi,
nice idea. Seems like Factorio + Tower Defense, right?
However, besides audio the game doesn't load in Chrome on Win10 playing on itch.io, with this error:
Uncaught Error: java.lang.RuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't flush preferences
at V$b.J$b [as OR] (html-0.js:10770)
at V$b.M$b [as QR] (html-0.js:10770)
at V$b.R$b (html-0.js:7774)
at new V$b (html-0.js:1910)
at Gd (html-0.js:10087)
at Ld (html-0.js:9116)
at Jh (html-0.js:9601)
at Vg.Yg [as Xc] (html-0.js:10761)
at Tg.Ug [as Uc] (html-0.js:10761)
at XMLHttpRequest.eval (html-0.js:7237)
at xpe (html-0.js:4676)
at Ape (html-0.js:7213)
at XMLHttpRequest.eval (html-0.js:7530)
J$b @ html-0.js:10770
M$b @ html-0.js:10770
R$b @ html-0.js:7774
V$b @ html-0.js:1910
Gd @ html-0.js:10087
Ld @ html-0.js:9116
Jh @ html-0.js:9601
Yg @ html-0.js:10761
Ug @ html-0.js:10761
(anonymous) @ html-0.js:7237
xpe @ html-0.js:4676
Ape @ html-0.js:7213
(anonymous) @ html-0.js:7530
XMLHttpRequest.send (async)
Lg @ html-0.js:8378
Kg @ html-0.js:9610
Ch @ html-0.js:10080
Gh @ html-0.js:10761
Sg @ html-0.js:10761
(anonymous) @ html-0.js:7237
xpe @ html-0.js:4676
Ape @ html-0.js:7213
(anonymous) @ html-0.js:7530
XMLHttpRequest.send (async)
Ng @ html-0.js:8551
zh @ html-0.js:6710
Jd @ html-0.js:10760
onready @ html-0.js:9729
P @ soundmanager2-jsmin.js:91
(anonymous) @ soundmanager2-jsmin.js:92
setTimeout (async)
S @ soundmanager2-jsmin.js:92
Z @ soundmanager2-jsmin.js:108
za @ soundmanager2-jsmin.js:110
na @ soundmanager2-jsmin.js:99
la @ soundmanager2-jsmin.js:104
Q @ soundmanager2-jsmin.js:111
K.beginDelayedInit @ soundmanager2-jsmin.js:36
Wh @ html-0.js:9729
Cd @ html-0.js:10368
ZXe @ html-0.js:5551
g @ html-0.js:9288
xpe @ html-0.js:4676
Ape @ html-0.js:7213
(anonymous) @ html-0.js:7530
QXe @ html-0.js:9289
(anonymous) @ html-0.js:10779
(anonymous) @ VM185:1
m @ html.nocache.js:9
(anonymous) @ html.nocache.js:10
d @ html.nocache.js:6
(anonymous) @ html.nocache.js:7
setInterval (async)
l @ html.nocache.js:7
A.html.onScriptDownloaded @ html.nocache.js:10
(anonymous) @ 2B932F8521E9F78E8A19BEEE95AF744D.cache.js:1
Also with uBlock Origin activated a second error occurs:
hexagon-analytics.com/images/293692.gif?bk=82f227d0c5&tm=87&r=183443513&v=101&cs=UTF-8&h=anuke.itch.io&l=de&S=5a38969c7d937009fc522d5eb9431b1e&uu=dabce58a-c419-457a-8962-2ca798bcb8e1&t=Mindustry%20by%20Anuke&u=https%3A%2F%2Fanuke.itch.io%2Fmindustry&rf=https%3A%2F%2Fitch.io%2Fgames%2Fhtml5&ua=Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F61.0.3163.100%20Safari%2F537.36&nm=5&mh=46a0658d23b064a106c0b0dbeb81ecf0&np=4&ph=3b66f798cfdf798e8b4cc42cd710eaaa&sh=864&sw=1536&cd=24&p=Win32&to=-120&d=60&z=z:1 GET https://hexagon-analytics.com/images/293692.gif?bk=82f227d0c5&tm=87&r=183443513&v=101&cs=UTF-8&h=anuke.itch.io&l=de&S=5a38969c7d937009fc522d5eb9431b1e&uu=dabce58a-c419-457a-8962-2ca798bcb8e1&t=Mindustry%20by%20Anuke&u=https%3A%2F%2Fanuke.itch.io%2Fmindustry&rf=https%3A%2F%2Fitch.io%2Fgames%2Fhtml5&ua=Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F61.0.3163.100%20Safari%2F537.36&nm=5&mh=46a0658d23b064a106c0b0dbeb81ecf0&np=4&ph=3b66f798cfdf798e8b4cc42cd710eaaa&sh=864&sw=1536&cd=24&p=Win32&to=-120&d=60&z=z net::ERR_BLOCKED_BY_CLIENT
Image (async)
K @ s.js:17
(anonymous) @ s.js:23
l @ s.js:17
setTimeout (async)
L @ s.js:18
M @ s.js:18
_trackPageview @ s.js:123
I @ s.js:24
(anonymous) @ s.js:124
(anonymous) @ s.js:124
and FB fails to load, but that is more like a feature.
I wouldn't be surprised if Java is simply deactivated, which is quite normal in 2017.
This will be a separate checklist for setting up localization.
LibGDX I18Bundle documentation: Link
See this code for attempted implementation of discovery data.
Before I say anything else, let me just tell you this game is great. (I can't really count the amount of hours today I've spent playing it. :P)
But anyways, during those many hours I've encountered this bug where enemies occasionally get stuck in/on the walls, which is nice, as it pretty much gives you infinite time to prepare, but also slightly frustrating when you have to travel all the way to the beginning of the maze map in order to kill the ones that got stuck in order for the next round to start.
Send custom maps to players when they connect. Could be stored as a hidden normal map with a special name when received. Low priority.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.