1
0
mirror of https://github.com/Anuken/Mindustry.git synced 2024-11-11 14:56:10 +03:00

Dumped plans into TODO.md, minor edits to README

This commit is contained in:
Anuken 2017-12-09 16:00:36 -05:00
parent 3379d61469
commit 8ae74932c0
5 changed files with 62 additions and 22 deletions

View File

@ -1,10 +1,9 @@
# Mindustry
![](http://i.imgur.com/oogScJR.png)
![](https://imgur.com/6QSa0kP)
### Create resources, move 'em around, fuel your turrets, and blast the bad guys away with your ship!
This game is a pixelated sandbox tower defense game made using [LibGDX](https://libgdx.badlogicgames.com/) originally for the [GDL Metal Monstrosity Jam](https://itch.io/jam/gdl---metal-monstrosity-jam). Ever since it won the Jam, it has been in active development, with a beta 3.0 version now released for Desktop platforms.
A pixelated sandbox tower defense game made using [LibGDX](https://libgdx.badlogicgames.com/) originally for the [GDL Metal Monstrosity Jam](https://itch.io/jam/gdl---metal-monstrosity-jam). Ever since it won the Jam, it has been in active development, with a beta 3.0 version now released for Desktop platforms.
You can play the game on these platforms:
# Downloads:
<a href="https://anuke.itch.io/mindustry"><img src="https://i.imgur.com/sk26hTV.png" width="auto" height="75"></a>

63
TODO.md
View File

@ -1,11 +1,54 @@
### Important
1. Add an improved conveyor belt drawing (creation/design) system
2. Add localization support, storing game text in JSON files instead of within code. This is in response to a couple of translation requests from Omicron Translation Group on the Itch.io page. I [l5474] *might* be able to do it... eventually.
3. Fix some AI going to the wall, as mentioned in #5
4. Add configurable autosave feature
### Optional/Low Priority
1. Make minimap ~~or aux. tile loader for whole-map view~~
2. Add in more teleporter colors maybe, and make a new teleporter color picker ui/tooltip. Very low priority
3. Maybe make enemies manually spawnable in Sandbox Mode
4. Maybe assign a key to make Mecha move faster
### 3.0 Release
- New tutorial with the power blocks.
- New SFX for specific blocks, especially turrets
- Block drawing layers. Refactor/remove `Block#drawOver()`, add `Layer` enum. Should fix 'glitchy' lasers and conveyor clipping.
- Balance nuclear reactor, improve effectiveness. Currently underpowered.
- Make generation frame independant.
- Investigate issue #5 (enemies stuck in blocks)
- Faster mech movement, possibly with a "boost" key
- Balance enemy difficulty
### 3.x Planned
- New save system: toggleable autosave, named slots, less clunky save UI
- Teleporter UI changes, more colors (?)
- New building tools: selection-delete, hold to place blocks in a line, one-tap delete mode (mobile). New 'tool' menu (desktop).
- Refactor `Renderer`, remove code for rendering platform-specific placement and move to 2 different classes
- New map format system. Each new version is a different class, convert between different versions.
- Underground conduits
- Minimap
- More indicators for when the core is damaged and/or under attack
### 4.0 Planned
- Multiplayer framework, possibly implementation
- New look to blocks, make them less 'blocky'
### Misc
- Localization support. Change all in-game strings to localized strings. Check compatibility with GWT and Android libraries.
### Possible Additions
- Mech body upgrades
- Uranium extractor / uranium->iron converter
- Laser enemies
- Flying enemies that move in formation and spawn from different locations
- Fusion reactor
- Point defense turrets that take down projectiles
- Turrets fueled by lava
- Gas transporation and use
- Better enemy effects and looks
- Homing missile enemies and turrets
- Reflective shield blocks
- Tech tree with bonuses to production or turrets
- Spawn points changed into enemy bases with hostile turrets
- Unit production
### Optmiziation
- Look into uses for `IntMap`
- Spread updating over multiple frames for large groups of specific tile entities (?)
- Optimize enemy + bullet code and check quadtree leaf parameters
- Check for unnecessary use of `Timers#get()`
- Optimize generator laser distribution, especially finding targets
- Optimize UI
- Check memory usage and GC, profile

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="io.anuke.mindustry"
android:versionCode="19"
android:versionName="3.03b" >
android:versionCode="20"
android:versionName="3.04b" >
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="25" />

View File

@ -15,7 +15,7 @@ import io.anuke.ucore.util.Mathf;
import io.anuke.ucore.util.Tmp;
public class Pathfind{
private static final long ms = 1000000;
private static final long ms = 1000000 * 3;
MHueristic heuristic = new MHueristic();
PassTileGraph graph = new PassTileGraph();
@ -100,7 +100,7 @@ public class Pathfind{
public void update(){
for(SpawnPoint point : Vars.control.getSpawnPoints()){
if(!point.request.pathFound){
if(point.finder.search(point.request, ms * 2)){
if(point.finder.search(point.request, ms)){
smoother.smoothPath(point.path);
point.pathTiles = point.path.nodes.toArray(Tile.class);
point.tempTiles = point.path.nodes.toArray(Tile.class);

View File

@ -5,9 +5,7 @@ import static io.anuke.mindustry.Vars.tilesize;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.AbstractList;
import java.util.Collections;
import java.util.List;
import java.util.*;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.IntArray;
@ -201,7 +199,7 @@ public class Conveyor extends Block{
}
};
Collections.sort(wrapper, Conveyor::compareItems);
Collections.sort(wrapper, new Comparator(){public int compare(Object a, Object b){ return compareItems((Integer)a, (Integer)b); }});
}
private static int compareItems(int a, int b){