Ggf. hau ich dich demnächst mal an, auf Steam gibts das Spiel ja für kleines Geld!
Das Spiel ist kostenlos, wenn du es von der Entwicklerseite (https://github.com/Anuken/MindustryBuilds/releases) als .jar herunterlädst. Mindustry war (glaube ich) schon immer ein "Pay what you want" Spiel. Niemand "muss" bezahlen, aber jeder "kann" bezahlen so viel oder so wenig er möchte.
Wie ist der aktuelle Stand?
Ich weiß garnicht wie man das sinnvoll auflistet, da ich nicht Buch führe was ich mache^^
Sachen die "jetzt" (bei mir, die Version im Startpost kann das nicht) gehen und vorher nicht gingen:
- If () ... (ohne then)
- If Else Endif (das else ist neu)
- Random(min, max)
- Chance(number between 0 and 1) (gibt true/false aus)
- Loop ... Endloop (einfach ein "unendlicher" loop ohne counter)
- Bugfixes (Das sind die wichtigsten, vorallem die andauerenden crashes wenn man die syntax falsch hat... aber da gibts noch hunderte, also vllt ein autosave feature einbauen^^)
- Vermutlich noch 10 Sachen die ich einfach vergessen habe.
TODO (danach gibt es hier ein Update)
- Array Datenstruktur (braucht eine Speicherzelle)
- Stack Datenstruktur (braucht eine Speicherzelle)
- Diese dämliche Syntax ändern die ich mir vorher ausgedacht habe in der "//" Kommentare einleutet und "/%" die Integerdivision ist. Außerdem ist "^" aktuell xor. Das wird alles geändert, wir sind hier nicht bei C.
- Subroutines (ausnahmsweise mal etwas "anderes" als Funktionen)
- Syntax ist:
- Erstmal ohne alles (ohne Parameter etc.) Das Problem ist der Overhead bei "Funktionen". Im Prinzip muss man ja einen Parameterstack & Returnstack (die brauchen eine Speicherzelle im Spiel, laufen also nicht zu 100% auf dem Prozessor) etc. haben. Alles davon braucht ziemlich viele Takte, gibt aber auch ziemlich viele Möglichkeiten (z.B. Rekursion). Daher wird es die Trennung zwischen "Subroutine" = "Funktion die keine Rekursion kann und zu 100% auf dem Prozessor läuft" und "Funktion" = "Funktion die eine Speicherzelle braucht und alle üblichen Freiheiten beinhaltet" geben. Subroutines will ich auch so gestalten, dass man sie inlinen kann.
Auch wichtig ist eine vollständige Dokumentation... Ich habe viele Logic Compiler ausprobiert (ich bin ja nicht der erste der einen gebastelt hat) und bei keinem einzigen gibt es eine Dokumentation. Also kann außer dem Ersteller des Compilers niemand damit etwas anfangen...