Minecraft/PortIO: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
(erster erfolgreicher Test)
Keine Bearbeitungszusammenfassung
Zeile 24: Zeile 24:
<br>Als nächstes soll dies auch umgekehrt funktionieren. Ich betätige einen Taster auf dem Board und im Spiel soll ein Kolben angehoben werden (Kontakt über neuen Empfängerblock und Redstone).
<br>Als nächstes soll dies auch umgekehrt funktionieren. Ich betätige einen Taster auf dem Board und im Spiel soll ein Kolben angehoben werden (Kontakt über neuen Empfängerblock und Redstone).
<br>Als vorläufiges Abschlussziel soll es möglich sein, über das Spiel bestimmte Dinge in den Laborräumen zu steuern, z.B. Licht. Anders herum soll eine Änderung in den Räumen auch Auswirkungen auf das Spiel haben (wird es im Vortragsraum heller, soll es auch im virtuellen Laborraum heller werden etc.).
<br>Als vorläufiges Abschlussziel soll es möglich sein, über das Spiel bestimmte Dinge in den Laborräumen zu steuern, z.B. Licht. Anders herum soll eine Änderung in den Räumen auch Auswirkungen auf das Spiel haben (wird es im Vortragsraum heller, soll es auch im virtuellen Laborraum heller werden etc.).


==Fortschritt==
==Fortschritt==


Ein erster Test ist gelungen. Mittels eines virtuellen Nullmodemkabels (com0com) ist es mir gelungen, mittels Klick auf meinen speziellen Block eine Nachricht an COM10 zu senden. über COM11 wird ein String empfangen. Wird der Block gelöscht, schließt sich automatisch die Verbindung. Ein setzen des Blocks öffnet die Verbindung erneut.
<table border="0">
<tr>
<td>
'''13.09.20011:''' Ein erster Test ist gelungen. Mittels eines virtuellen Nullmodemkabels (com0com) und der RxTx-Bibliothek für Java ist es mir gelungen, mittels Klick auf meinen speziellen Block eine Nachricht an COM10 zu senden. über COM11 wird ein String empfangen. Wird der Block gelöscht, schließt sich automatisch die Verbindung. Ein setzen des Blocks öffnet die Verbindung erneut.
</td><td>
[[Datei:PortIO_firstTest.png|200px|thumb|right|Erster Test der PortIO-Erweiterung]]
</td>
</tr>


[[Datei:PortIO_firstTest.png|200px|thumb|left|Erster Test der PortIO-Erweiterung]]
<tr>
<td>
'''18.09.2011''' Habe den Input-Teil komplett geändert. Die Thread-Methode verursachte eine zu hohe CPU-Last, wodurch auch Minecraft ruckelte und unspielbar wurde. Die neue Methode arbeitet eventbasiert und meldet sich nur, wenn wirklich etwas empfangen wurde.<br>
Jetzt wird es erstmal darum gehen, ein geeignetes System für die Interaktionen im Spiel zu entwickeln. Es müssen neue Items und Blöcke erdacht werden, die die Nutzung der neuen Möglichkeiten intuitiv machen.
</td>
<td></td>
</tr>
</table>

Version vom 18. September 2011, 12:00 Uhr

       
PortIO Mod für Minecraft

Release status: experimental [box doku]

PortIO Block1.png
Description
Author(s)  DeadDealer (deaddealer)
Last Version  0.1
License  "Minecraft" Copyright 2009-2011 Mojang AB,


PortIO Mod Copyright 2011 DeadDealer




PortIO Mod

Das Spiel Minecraft hat mittlerweile eine große Anzahl an Modifikationen und Erweiterungen durchlebt. Als Bastler von Mikrocontrollerschaltungen war ich auf der Suche nach einem Mod, der es ermöglicht, reale Aufbauten mit dem Spiel interagieren zu lassen. Bis jetzt fand ich keinen entsprechenden Mod für so etwas (wo es doch für Arduino tonnenweise Sachen gibt).

Dadurch kam ich auf die Idee, meine bescheidenen Java-Kenntnisse etwas aufzufrischen und selbst eine Erweiterung zu machen.

ToDo

Das Ziel soll es sein, in Minecraft eine (virtuelle) serielle Schnittstelle des Computers zu öffnen und über eines unserer Laborboards verschiedene Dinge zu tun. Als Einstieg möchte ich im Spiel einen Schalter betätigen, der über Redstone einen selbst erstellten Block aktiviert. Dieser Block sendet nun über COMx einen Befehl, der eine LED auf dem Laborboard einschaltet.
Als nächstes soll dies auch umgekehrt funktionieren. Ich betätige einen Taster auf dem Board und im Spiel soll ein Kolben angehoben werden (Kontakt über neuen Empfängerblock und Redstone).
Als vorläufiges Abschlussziel soll es möglich sein, über das Spiel bestimmte Dinge in den Laborräumen zu steuern, z.B. Licht. Anders herum soll eine Änderung in den Räumen auch Auswirkungen auf das Spiel haben (wird es im Vortragsraum heller, soll es auch im virtuellen Laborraum heller werden etc.).


Fortschritt

13.09.20011: Ein erster Test ist gelungen. Mittels eines virtuellen Nullmodemkabels (com0com) und der RxTx-Bibliothek für Java ist es mir gelungen, mittels Klick auf meinen speziellen Block eine Nachricht an COM10 zu senden. über COM11 wird ein String empfangen. Wird der Block gelöscht, schließt sich automatisch die Verbindung. Ein setzen des Blocks öffnet die Verbindung erneut.

Erster Test der PortIO-Erweiterung

18.09.2011 Habe den Input-Teil komplett geändert. Die Thread-Methode verursachte eine zu hohe CPU-Last, wodurch auch Minecraft ruckelte und unspielbar wurde. Die neue Methode arbeitet eventbasiert und meldet sich nur, wenn wirklich etwas empfangen wurde.
Jetzt wird es erstmal darum gehen, ein geeignetes System für die Interaktionen im Spiel zu entwickeln. Es müssen neue Items und Blöcke erdacht werden, die die Nutzung der neuen Möglichkeiten intuitiv machen.