Minecraft: Spieler integriert Programmiersprache BASIC via Command Blocks

PC Linux MacOS
Bild von Admiral Anger
Admiral Anger 49736 EXP - 24 Trolljäger,R10,S9,C10,A10,J10
Dieser User unterstützt GG seit fünf Jahren mit einem Abonnement.Alter Haudegen: Ist seit mindestens 5 Jahren bei GG.de registriertGold-Jäger: Hat 75 Erfolge erreicht -- Wahnsinn!Gold-Gamer: Hat den GamersGlobal-Rang 20 erreichtGold-Cutter: Hat 100 Videos gepostetAlter Haudegen: Ist seit mindestens 3 Jahren bei GG.de registriertMeister-Poster: Sammelte 5000 EXP durch ForumspostsDebattierer: Hat 5000 EXP durch Comments erhaltenIdol der Massen: Hat mindestens 10.000 Kudos bekommenSilber-Jäger: Hat Stufe 10 der Jäger-Klasse erreichtDieser User hat uns an Weihnachten 2016 mit einer Spende von 10 Euro unterstützt.Silber-Archivar: Hat Stufe 10 der Archivar-Klasse erreicht

18. Januar 2016 - 15:40 — vor 1 Jahr zuletzt aktualisiert
Minecraft ab 22,99 € bei Amazon.de kaufen.

Dem Minecraft-Spieler und YouTuber Sethbling ist es gelungen, die Programmiersprache BASIC in den Sandbox-Hit zu integrieren, ohne dabei Modifikationen oder Plugins zu benutzen. Dazu verwendet er Banner für die Darstellung des Quelltextes und eine Menge Command Blocks zum Interpretieren der Befehle. Zusätzlich enthält das Projekt eine im spielinternen Chat umgesetzte Onscreen-Tastatur zur leichteren Eingabe des Codes und fünf Speicherstände für fertige Programme.

Die BASIC-Umsetzung beherrscht nicht nur verschiedene Rechenoperationen, sondern kann auch direkt in die Spielwelt eingreifen. Sethbling zeigt dies anhand einer sogenannten "Mining Turtle" aus der Mod ComputerCraft, die automatisch Blöcke abbauen kann und hier mit einem selbst geschriebenen Programm erzeugt und gesteuert wird. Da die Redstone- und Command-Block-Logik von Minecraft nur 20 Operationen pro Sekunde ausführen kann, laufen Anwendungen allerdings recht langsam.

Das nachfolgende Video zeigt euch den Interpreter in Aktion. Falls ihr das Projekt selbst ausprobieren möchtet, findet ihr auf der Homepage von Sethbling die entsprechende Welt als Download. Auch die Minecraft-Entwickler zeigten sich von der Leistung beeindruckt: Game Designer Michael "Searge" Stoyke kommentierte die Umsetzung via Twitter mit einem begeisterten "*mind blown*".

Video:

falc410 14 Komm-Experte - 2541 - 18. Januar 2016 - 16:53 #

Na wenn das nicht mal ein sinnvolles Beispiel ist welches man in einer Compilerbau Vorlesung bringen kann. Respekt :)

Esketamin 15 Kenner - P - 3594 - 19. Januar 2016 - 8:56 #

Compilerbau bleibt on der Kategorie "Arkane Künste" ;-)

Toxe 22 AAA-Gamer - P - 31335 - 18. Januar 2016 - 17:08 #

Ich hatte bisher immer erwartet, daß sich Skynet und unsere zukünftigen Terminator-bauenden AI-Overlords aus einer ganz anderen Ecke heraus entwickeln würden – andererseits verwundert es mich nicht wirklich, daß fooking Minecraft mal irgendwann für den Untergang der Menschheit verantwortlich sein würde... Schnell, zieh irgendjemand den Stecker, bevor es zu spät ist! ;-)

Ganon 23 Langzeituser - P - 39015 - 20. Januar 2016 - 14:13 #

Mit BASIC und 20 Operationen pro Sekunde? Da überschätzt du das Potenzial der ganzen Geschichte gewaltig. ;-)

Toxe 22 AAA-Gamer - P - 31335 - 20. Januar 2016 - 15:25 #

Und genau so hat Skynet begonnen! ;-)

Unregistrierbar 17 Shapeshifter - P - 6706 - 18. Januar 2016 - 17:27 #

10 PRINT "MINECRAFT"
20 GOTO 10

RUN

Sebastian -ZG- 27 Spiele-Experte - P - 78057 - 18. Januar 2016 - 18:33 #

Warte auf den ersten, der minecraft in minecraft nachbaut...

Admiral Anger 24 Trolljäger - P - 49736 - 18. Januar 2016 - 18:54 #

https://www.youtube.com/watch?v=GwHBaSySHmo

xris 14 Komm-Experte - 2316 - 18. Januar 2016 - 18:59 #

Ach ja Zeit müsste man haben... Hab ein ähnliches Projekt nie zuende geführt, allerdings war das ein externer Compiler der von einem Lua-Dialect nach Command-Blöcken compiliert hat. Einen ganzen Interpreter in Minecraft zu bauen nötigt mir dann doch Respekt ab.

Freylis 20 Gold-Gamer - 21938 - 18. Januar 2016 - 20:23 #

Hmmm... der Code oben im Teaser sieht eigentlich eher nach Pascal aus, nicht Basic. Da fehlen mir allein schon die basictypischen Laufnummern im Listing. Es sei denn, man hat sie ausgeblendet? Natuerlich koennte ich mich auch irren, weil ich nur wenige Basic Versionen gesehen/programmiert habe (CPC-Amstrad Locomotive Basic, Q-Basic...) und diese hier vielleicht ein Hybrid ist, der sich an Pascal oder C orientiert.

Toxe 22 AAA-Gamer - P - 31335 - 18. Januar 2016 - 20:26 #

BASIC gibt es in ziemlich vielen Variationen und Zeilennummern hatten glaube ich eh nur die wenigsten Dialekte wie zB. Microsoft BASIC vom C64.

Freylis 20 Gold-Gamer - 21938 - 18. Januar 2016 - 20:29 #

Kann natuerlich sein. Allerdings sieht die auf Prozeduren basierende Architektur auch verdaechtig nach Pascal aus. Und den Funktionsbefehl kenne ich in Basic ueberhaupt nicht. - Naja, ist aber auch Korinthenkackerei, denn die werden heute eh alle nicht mehr benutzt. ;)

Toxe 22 AAA-Gamer - P - 31335 - 18. Januar 2016 - 20:55 #

Pascal sah glaube ich so aus (schon ewig her, daß ich das mal benutzt habe):

PROCEDURE MachWas():
BEGIN
tu_was();
noch_was();
END;

Und:

FUNCTION MagDasHinkommen():
BEGIN
MagDasHinkommen := TRUE;
END;

Oder so in der Art, wenn ich mich recht entsinne.

Freylis 20 Gold-Gamer - 21938 - 18. Januar 2016 - 21:00 #

Stimmt, da waren immer so total aus der Mode gekommene Semikolons nach jeder Zeile. Schon schlimm, was der Herr Pascal sich da ausgedacht hatte... ^^

Der Marian 19 Megatalent - P - 19736 - 19. Januar 2016 - 0:32 #

Basic setzt schon siet den frühen 90ern keine Zeilennummern emhr voraus (QBasic von MS bspw.).
Das Function-Statement ist Teil der Subroutinen in den Basic-Dialekten der 90er. Basic kann funktional.

Myxim 15 Kenner - P - 3063 - 18. Januar 2016 - 21:06 #

Edit: falsche gedrückt. Sollte an Toxe dran.

Die ; sollten die Lesbarkeit erhöhen, da man ja Befehle auch über mehrere Zeilen schreiben kann.

Mal den Code verbessert basierent auf Borland:

PROCEDURE MachWas;
BEGIN
tu_was; // wenn man keine Parameter übergibt kommen keine () hin.
noch_was;
END;

Und:

FUNCTION MagDasHinkommen: Boolean
BEGIN
result := TRUE;
END;

Freylis 20 Gold-Gamer - 21938 - 18. Januar 2016 - 21:10 #

Also doch Pascal??

Der Marian 19 Megatalent - P - 19736 - 19. Januar 2016 - 0:35 #

Nö, definitiv BASIC (s. o.). Habe selber damals zu Beginn der 90er schon in solch einem "moderneren" BASIC Programmieren gelernt. Da geht einiges, was die Strukturieren der Programme mit SUBS und Funktionen angeht. War dann final Quickbasic 7.1, da ging einiges. :D

Freylis 20 Gold-Gamer - 21938 - 19. Januar 2016 - 3:40 #

Na Gott sei Dank. Ich fand die Zeilennummern damals schon immer affig. ;)

pbay 17 Shapeshifter - 6012 - 19. Januar 2016 - 0:19 #

Beeindruckend.

nitroblade 12 Trollwächter - 1048 - 22. Januar 2016 - 9:32 #

Kann ich ja mal endlich meinen Fahrstuhl aus der Schule nachbauen, mit GWBasic :-D :-D :-D :-D

Kommentar hinzufügen

Neuen Kommentar abgeben
(Antworten auf andere Comments bitte per "Antwort"-Knopf.)
Kreativ-Baukasten
7
18.11.2011 () • 07.10.2011 () • 17.11.2011 () • 09.05.2012 () • 18.12.2013 () • 05.09.2014 () • 15.10.2014 () • 10.12.2014 () • 17.12.2015 () • 12.05.2017 () • 13.09.2017 ()
Link
8.2
AndroidBrowser3DSiOSLinuxMacOSPCPS3PS4PSVitaSwitchWiiUandere360XOne
Amazon (€): 49,50 (360), 34,99 (PS3), 30,99 (PlayStation 4), 22,99 (Xbox One), 23,99 (WiiU)