Multiplayer auf einem PC mittels VirtualBox

Maliex

Ensign
Registriert
Aug. 2009
Beiträge
141
Wer mit seinen Freunden eine Runde zocken will, der greift meistens auf eine Konsole (Play Station, Xbox oder ähnliches) zurück. Allerdings schätze ich die Freiheit des PCs sehr und würde gerne trotzdem mit meinem PC der Funktionalität einer Spielekonsole möglichst nahe kommen.



Dazu möchte ich zuerst einmal klären, welche Möglichkeiten ich sehe mit Freunden an einem PC zu spielen:

1. Die gute alte Lan-Party (Spieler in einem Raum) bzw. Multiplayer über das Internet. Das Problem bei der Lan-Party ist, dass jeder der Spieler einen eigenen Computer benötigt. Deswegen kann man sich nicht spontan dazu entscheiden ein bischen zusammen zu daddeln, weil der Gast häufig keine passende Hardware dabei hat. Weiterhin muss dann auch erst einmal das Spiel auf dem Rechner installiert werden: Häufig ist es ein neues Spiel, was auf nicht extra dafür ausgelegten Notebooks zu wenig Frames hat oder es ist so alt, dass man sich zusätzlich durch etliche Foren wühlen muss um das Spiel überhaupt installiert zu bekommen. Beim Multiplayer über das Internet müssen beide Spieler das Spiel besitzen und d.h. wenn ich einem Freund ein Spiel einfach nur zeigen will, müsste er es kaufen oder eine gecrackte Version nutzen (darum soll es hier aber gar nicht gehen!). Eigentlich gehört der Multiplayer über das Internet gar nicht hier rein, aber ich wollte es auch kurz erwähnt haben.

2. Old-School Splitscreen-Spiele oder andere extra dafür ausgelegte Spiele wie Trine 2 (Stichwort: local co op). Das ist eigentlich das Ziel was ich habe, aber leider sind das halt viel zu wenig Spiele. Ich möchte halt einen Weg finden auch weitere Spiele so oder so ähnlich spielen zu können.

3. Multiplayer über das Internet mittels VNC. Ja ich weiß, bei dieser Aussage stehen einem die Haare zu Berge, aber auf diese Weise würden einige Probleme, die unter 1. aufgeführt wurden, wegfallen: Nur ein Spieler muss das Spiel besitzen, dafür aber auch einen sehr starken Rechner, und der Rechner auf der anderen Seite kann eine relativ lahme Gurke sein. Dafür müsste aber das Internet beider Parteien eine sehr große Bandbreite haben und der Host-Rechner sollte über einen VNC-Server verfügen, der das laufende Spiel für den Client auf der anderen Seite just-in-time codieren kann. Das würde dann einem Live-Stream (wie er bei einigen Electronic Sports League üblich ist) entsprechen. Ich wüsste gar nicht wie ich das anstellen sollte und welche Software ich dafür nutzen soll, bzw. ob ich dafür neue Hardware brauche um das ganze zu komprimieren, weil das ganze ja wohl sehr CPU/GraKa-intensiv ist. Aber allein das es möglich ist, zeigen solche Dienste wie StreamMyGame und OnLive. Aber das ist wiederum nicht mein eigentliches Ziel dazu komme ich jetzt in den Punkten 4 und 5:

4. Mehrere Spielinstanzen auf einem System öffnen und mit Software wie zum Beispiel PluralInput die Steuerung erlauben. Hört sich super einfach an - ist es aber nicht. Der erste Ärger fängt damit an, dass PluralInput noch in der Beta ist und es nach wie vor nur einen "echten" System-Cursor gibt, andere Cursor kriegen einige Aktionen nicht ausgeführt (das fängt schon bei Doppelklick auf eine Verlinkung an). Wer andere Software dieser Art kennt, die auch etwas taugt kann mir das gerne sagen. Ich habe mir auch diesen Thread durchgelesen, aber die erwähnte Software cpnmouse auf sourceforge konnte ich nicht mehr finden. Weiterhin erlauben viele Spiele nur eine offene Instanz des Spiels und eigentlich möchte ich nicht für jedes Spiel eine neue Modifikation suchen. Deshalb habe ich mir auch virtuelle Maschinen angeschaut (siehe 5.). Ein weiterer Grund, dass ich eher zu virtuellen Maschinen tendiere, ist, dass Spiele, deren Fenster nicht aktiv sind (im Fenstermodus versteht sich), sich sofort minimieren. Wie kann man dieses Verhalten denn abschalten? So sehe ich nur folgende Möglichkeit:

5. Virtuelle Maschinen (Beispiel an Hand von VM VirtualBox): Weil jedes Spiel in seinem Gast-System aktiv ist und die virtuelle Maschine sich bei einem Klick woanders nicht sofort minimiert, ist das aktuell meine favorisierte Lösung. Weiterhin könnte es sein, dass diese Lösung, wenn sie erst einmal eingerichtet ist, für alle (alten) Spiele eine gute Lösung ist.



Virtuelle Systeme haben leider auch nur virtualisierte Hardware, weswegen sie nur äußerst begrenzt dazu in der Lage sind moderne Spiele zu rendern. Als Testkandidaten habe ich deswegen den Klassiker Diablo 2 gewählt. Leider funktioniert die experimentelle 3D-Unterstützung (OpenGL, DirectX) von VirtualBox nicht für Windows 8. Dort wird das angezeigte Bild (egal ob Destop oder Startfenster, einfach alles - außer Diablo 2, weil wahrscheinlich 3D) wechselnd sehr unscharf angezeigt. So als ob das Bild in einer ebene liegt und der Monitor eine Bildlinse hat, die nach und nach die Tiefenschärfe verändert. Demzufolge wird ab und zu ein scharfes Bild, meistens jedoch ein unscharfes, sich ständig veränderndes Bild, angezeigt. Hat jemand eine Idee, woran das liegen könnte? Wenn ich den Haken im Kontrollfenster des Gastsystems für 3D-Unterstützung rausnehme ist alles in Ordnung. Nur halt dass die 3D-Unterstützung für andere Spiele ein Problem werden könnte.

Leider war ich mir nicht ganz sicher, wo ich diesen Thread starten soll, da er so viele Unterbereiche berührt. Ich habe nämlich gewissermaßen 4 Fragen - 2 davon sind direkt auf Virtualisierungssoftware bezogen, der Rest leider nicht. Es wäre trotzdem schön, wenn ihr sie mir beantworten könntet oder mir einen Tipp gebt, wo ich noch einen Thread starten sollte.
1. Wie eliminiere ich den Unschärfenbug?
2. Gibt es Virtualisierungssoftware, die besser fürs Spielen geeignet ist (Stichwort: virtuelle Hardware, besonders virtuelle Grafikkarte...) und mir ebenso erlaubt mehre Spielinstanzen auf meinem Hardware-PC zu starten? Bootcamp und Wine fallen hier leider raus, weil mein natives System Windows 7 ist.
3. Wie kriege ich mehrere Mäuse und Tastaturen angeschlossen, so dass auch mehrere Cursor angezeigt werden und die Tastaturen jeweils zu einem Cursor zugeordnet werden. PluralInput ist zwar ganz nett, hat mich jedoch nicht überzeugt.
4. Mit drittens verbunden: Wie kriege ich es hin, dass mehrere Fenster aktiv sind so, dass sie die Eingabegeräte nicht ständig den Fokus klauen?

LG Marco
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    244,1 KB · Aufrufe: 696
Ad 2) Unter Linux als Host-Betriebssystem gibt es für VirtualBox die PCI(e)-PassThrough Funktion. Damit kann man ein an den PCI- oder PCIe-Bus angeschlossenes Gerät direkt im Gast-OS verwenden, so zum Beispiel auch eine zweite Grafikkarte. Ob dies mittlerweile auch in Windows möglich ist kann ich dir leider nicht sagen. Ebensowenig habe ich Erfahrung mit virtuellen Grafikkarten zum Spielen.

Ad 3) In den VirtualBox Host-Einstellungen kannst du im Bereich USB für deine zweite Maus und Tastatur einen Filter hinzufügen. Beim nächsten Start der virtuellen Maschine werden diese Eingabegeräte dann an das Gast-OS weitergeleitet und sind exklusiv darin verfügbar. Mit der Tastenkombination Host+I kannst du dann noch die Mausintegration deaktivieren, sodass auch wirklich nur Bewegungen der 'durchgeschleiften' Maus übrig bleiben.

Ad 4) Ich wüsste nicht, dass es unter Windows jemals möglich gewesen wäre, zwei Fenster gleichzeitig im Fokus zu haben. Ich kann dir nur noch mal die USB-Weiterleitung aus meiner letzten Antwort ans Herz legen, denn damit lässt sich sowohl das Host- sowie das Gast-Betriebssystem gleichzeitig und unabhängig voneinander bedienen. Wenn man das Gast-OS dann noch im Vollbild auf einen zweiten Bildschirm legt, fühlt sich die Sache fast wie zwei echte Geräte an.
 
zu 2. mit Sandboxie kann man auch mehrere Instanzen laufen lassen nur ohne die Nachteile einer VM
 
@dreamy_betty: Können so auch Host und z.B. 2 Gastsysteme eine Hardware-Grafikkarte nutzen? Oder müssten dafür 3 Karten eingebaut sein? Aber danke schon einmal, 3 und 4 haben mir sehr geholfen.

@cryeR: Damit hätte ich aber wieder das Problem mit den Eingabegeräten und dem Fokus. Trotzdem werde ich das im Hinterkopf behalten, danke.

Im Beispiel versuche ich ja Diablo 3 flott zu machen, welches 2D, 3D und 3dfx unterstützt. 2D funktioniert, 3D ist sehr langsam weil ich die 3D-Unterstützung ja bei VirtualBox ausstellen musste (Unschärfebug) und 3dfx muss man durch einen so genannten Glide Wrapper selber installieren. Beim Videotest spuckt mir Windows eine Fehlermeldung aus: "Setpixelformat schlug fehl! OpenGL konnte nicht aktiviert werden bitte überprüfen Sie Ihren Grafikkarten-Treiber." Leider kann man bei VirtualBox halt keinen eigenen Treiber installieren. Wenn ich die 3dfx-Option trotzdem auswähle, dann stürzt mir Diablo 2 natürlich ab: "Error 23: A critical error has occurred while initializing Glide."

Ich habe mir jetzt noch einmal angeschaut, was genau man für "Wahlmöglichkeiten" man bei der Installation der Guest Additions für Windows 8 hat. Dort wird experimentell Direct3D ausgewählt, jedoch kein OpenGL, dass ich eigentlich benötigen würde. Wenn ich mir diesen Artikel durchlese, verstehe ich aber nicht, warum dass mit OpenGL nicht funktioniert - soll doch alles dabei sein. Ja aktuell habe ich 3D-Beschleunigung deaktiviert, aber selbst mit geht es nicht. Auch eine Testfunktion des Glide Wrappers sagt mir, dass es an OpenGL liegt. Ich habe nur einen Beitrag in Foren gefunden, der genau mein Problem betrifft - nur leider existiert der genannte Post von "smoke" anscheinend nicht mehr.

Bild.png
 
Zurück
Oben