1. Mindustry
  2. News

Mindustry News

6.0 Progress Report #3

This is the third (and final) development update concerning 6.0, the next major update for Mindustry. For the second part, see here.

In terms of content, 6.0 is practically done. I've added all the units, blocks & new mechanics I had planned, and all that's left is balancing and further campaign implementation.

Current Progress


[h2]Units[/h2]

[h3]More T4/5 Units[/h3]

Finishing up the "boss" category, I've created T4 &T5 units for the support & naval unit production trees. Here are a few of them.

T5 naval unit (w/ on-board unit factories)

T5 "support" mech

T5 air support: does not have any weapons, but can be used as a mobile shield, resupply point & heavy unit transport. 4x4 blocks and most T5 ground units can be picked up and dropped near enemy bases.

[h3]Unit Control[/h3]



The unit command system has been changed. Now, any player-controlled unit can command units that are of the same type and of similar size.



Units under the command of players will mimic most of their actions - shooting, mining, building, item transfer and payload drops will be copied.



[h3]Unit Logic[/h3]

The logic system is now capable of controlling units. This can be used to do a number of things, including:

automated unit item transport systems

automatic building of blocks

custom AI that follows or guards certain players or structures

configurable mining setups

...and more.

[h2]Blocks[/h2]

[h3]Turrets[/h3]

Two new turrets have been added since the last development preview: the Tsunami and Foreshadow.


The Tsunami is a tier 2 version of the Wave turret. Like the Wave, it is able to put out fires and spray liquid projectiles at enemies, with debilitating status effects. As one might expect, it has higher range and increased damage.

The original implementation for this turret was made on Github by Slava0135, while the sprite was made by EyeOfDarkness.



The Foreshadow is a long-range sniper turret. While it is large and expensive to maintain, the range of its projectiles is far above that of any other turret. These projectiles do not pierce, and are intended to be a counter to large T4/T5 units.


[h3]New Terrain & Maps[/h3]

I've added a few new terrain blocks for mapmakers to use. These probably won't show up in the campaign, but they will be used in 4 new custom maps.

Dirt & Mud


Space


Slag

Dacite (previously known as Holostone, for some reason)



[h3]Better Replacement[/h3]

Most 1x1 blocks (e.g. power nodes, walls) will be replaceable with larger variants. Conveyors will now save their contents during upgrades, while batteries will save their contained power when being replaced.





Tentative Release Date


I've decided to set a more specific release date of December 1st, which will be in slightly more than a month from this post. This date isn't final - if something comes up, or I underestimate the amount of work needed, I may have to postpone release.

Mindustry, one of the best open source games around has a huge upgrade in testing

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.

Read the full article here: https://www.gamingonlinux.com/2020/09/mindustry-one-of-the-best-open-source-games-around-has-a-huge-upgrade-in-testing

6.0 Progress Report #2

This is the second development update concerning 6.0, the next major update for Mindustry. For the first part, see here.

Many significant issues and bugs have been fixed since the last post. The game is now stable enough to play normally in multiplayer without game-breaking crashes or bugs, and most non-campaign content has been implemented. An alpha build may be released to a separate Steam branch in the coming couple of weeks.

Current Progress


[h2]Campaign[/h2]

[h3]Research & Resources[/h3]



Instead of being stored in a vague centralized location, all resources collected are now local to their cores on the ground. Resources cannot be "launched" anywhere except other sectors. This means that storage is limited by the amount of sectors you have captured, and the types of cores those sectors have.



Nearly all content is now required for research: Items, liquids and units have to be researched before they can be produced. While the amount of resources needed for research is significantly increased, this should not increase grinding, as all sectors under your control can passively generate resources while you play.

[h2]Units[/h2]

[h3]Walker Units[/h3]



Starting with Crawlers, a new branch of insect-like multi-legged units has been created.



Beginning with the second tier, these units are able to walk over most solid blocks. They specialize in sapping and splash-damage attacks. Spiroct and Arkyid units are able to pull enemies closer and leech health from them.



[h3]Naval Units[/h3]



3 tiers of naval units have been added. These are made in a special naval factory, place-able only on water.



Compared to other units of similar tiers, these units are much faster and stronger, to make up for their reduced coverage. T3 naval units possess long range artillery, which can be devastating to coastal structures.

T4+T5 naval combat units may be added as well. Support naval units are also a possibility for future updates.

[h3]Boss Units[/h3]

The "boss"-class units from 5.0 have all been re-implemented, renamed and cleaned up. New ones have also been implemented. The following previews should speak for themselves.



(yes, these units can be built in normal gameplay)

[h2]Logic[/h2]

The long-awaited logic system has been implemented. It is still missing some important features, but is currently very much usable.



This system is based around several tiers of processors, which execute instructions at different rates - similar to assembly language, in some respects, but vastly simplified.



Logic is "programmed" by putting together sequences of instructions that manipulate variables and read/write from blocks. No programming knowledge is required, although the "code" can be exported as text and edited in an external text editor.



Each processor can be "linked" to other blocks. The linked blocks become variables in the logic UI that can be controlled in various ways: for example, most blocks can be disabled to make them stop moving/functioning, and turrets can be manually set to fire at a specific position. Block state, such as item count or power balance can also be read by the processor.

In addition to processors, three new types of blocks have been added for logic-related purposes: displays, memory cells and switches.

[h3]Displays[/h3]



These can be used to display basic vector graphics when connected to a processor. Users have already made use of them for power and item visualization. Other applications, like graphical games, are possible as well.



Raster (typical PNG) images can technically be displayed as well, but with vector displays, the process is very inefficient and not practical outside of sandbox. The image shown here is drawn pixel-by-pixel using code generated from a PNG with an external script.

[h3]Memory Cells[/h3]

These act as additional, indexable storage for processors. Each cell holds a certain amount of numbers (currently, 64) which can be read and written to using numbers 0-63. If you've programmed before, this is like an array of numbers. Processors can link to the same memory cell, facilitating inter-processor communication.

[h3]Switches[/h3]



These are simple blocks that do nothing on their own, but can be toggled by the player in order to do something with a processor. For example, a processor can read the "enabled" state of a switch and use it to toggle a conveyor on or off.



Shown above is a multiplayer pong game, with inputs handled by switches. (The design shown was made by Xusk).

[h3]Limitations[/h3]

These processors are currently only able to control blocks. In the future, units will be controllable as well.

It is also worth noting that, to prevent various problems, processors can only read or write to blocks that are (manually) connected to them. Things such as self-replicating processor-powered bases are currently not possible, but may be in the future.

Release Time Frame


The new tentative release date for 6.0 is somewhere around December 2020. This may change if unexpected problems arise, but hopefully that should be enough time for me to finish everything planned for this release.

6.0 Progress Report #1

This is the first of several development updates I will be making concerning 6.0, the next major update for Mindustry. While the information below is not a comprehensive list, you'll see highlights of what I've been working on for the past few months.

Current Progress


[h2]Planets & The Campaign[/h2]



Instead of taking place on a few preset areas, the campaign will now take place on sectors of planets. While most of these sectors will have procedurally generated terrain and bases, a few will consist of handmade maps - these will be edited versions of the old campaign maps.



The mechanics of sectors are currently under heavy development, but the basic idea is that each region can be conquered and used to generate resources. These resources can then be distributed to other sectors, for use in research or in building additional bases to attack the enemy from.

[h2]Units[/h2]

[h3]Control[/h3]

Instead of being ordered indirectly by command centers, units will be able to move under the direct command of players - either individually, or as a formation around a commander unit.
"Mech pads" will no longer exist as a concept, since players can build and control units instead.



The player is able to take control of any unit or turret on their team. When not controlled by a player, a unit will revert to normal AI behavior, like moving toward and/or attacking nearby targets.



Certain units have the ability to command groups of other units in formation. All units in the formation will attempt to stay in the same position relative to the leader, and shoot at the same target. Currently, a player can command a formation by switching to specific unit type and pressing a "command" key.

Note that the formation system is still in its very early stages, and far from finished,

[h3]Production[/h3]

In 6.0, individual unit types will no longer require dedicated blocks. Instead, unit factories are split into 2-3 blocks by type (air, ground, etc). These factories can produce several different "tier one" units, selectable by the player.



To produce higher tier units, factories must move their units into Reconstructors, which can upgrade units to higher tier types. For example, a Dagger unit made in a Ground factory can be put into a specific reconstructor to upgrade it to a Fortress unit.



Shown here is the chain of reconstructors required to upgrade a Wraith unit into a Reaper (boss-level) unit.

[h3]New Unit Mechanics[/h3]

Some new unit types will be introduced. These include:

Carrier units, which can pick up and drop units (and perhaps even blocks);



Walker units, which posses multiple legs and can damage buildings by walking over them;

Note that the unit shown is just a prototype that uses the Eradicator body.

Naval units are being considered as well, but it's not clear if they'll be coming in this update yet.

[h2]Basic AI[/h2]

When enabled in the rules, drones of the enemy team(s) will be able to build basic defenses in Attack mode. This AI works by utilizing a database of schematics and placing structures in locations that fit certain requirements.



It does not try to collect resources into the core like the player - while all its turrets and production blocks do need resources to function, it "cheats" by ignoring block build costs. This may be changed in the future, but for now, making a true AI that could play a competitive game with a player without cheating is simply too difficult to implement.

[h2]QoL Features[/h2]

Transport blocks now display the flow rate of items/liquids passing through them.




A toggleable overlay displays the state of machines (operational, missing resources, or blocked).




Core colors now reflect their team color.




Schematics save message block and power node state.



[h2]New Content[/h2]

[h3]Plastanium Conveyors[/h3]



These conveyors transport items in stacks, resulting in very high throughput.
Most of the code and sprites for Plastanium conveyors was contributed by Quezler on Github.

[h3]Point Defense Turrets[/h3]



These turrets damage and destroy incoming projectiles. Energy weapons (such as lasers) are ignored.

[h3]Various Upgraded Blocks[/h3]

Also coming in 6.0 are upgraded versions of the Overdrive Projector, Silicon Smelter and Separator.



Release Date?


While many of the features mentioned here are already usable, 6.0 is very far from being complete or playable. There is still much to implement, including a logic system, new research mechanics and a full implementation of the planet sector system.

There is no deadline set for release - with the amount of features to be added, final release of 6.0 may take up to a year.

Keep in mind that all of the features shown here are subject to significant change before final release.

Build 104 Released

This is a small update that addresses a few bugs related to servers and adds some QoL tweaks.

Changelog:

  • Added server categories (Partially contributed by @Quezler)
  • Added rich presence support (Contributed by @danieljennings
  • Added require() function for scripts (Contributed by @DeltaNedas)
  • Added color gradient for battery status (Contributed by @Arkanic (eventually))\
  • Optimized and cleaned up conveyor code
  • Made unloaders take items from blocks in equal amounts when unsorted
  • Changed script loading: For mods with more than one script file, the main file must be named "main.js" and must require() other files to run them
  • Tweaked power block palette
  • Slightly decreased differential generator resource usage
  • Changed differential generator sprite
  • Fixed incorrect line numbers in script errors
  • Fixed client IDs resetting