GTA2 Hacker's Remix: Unterschied zwischen den Versionen

Aus bytewerk-Wiki
Zur Navigation springen Zur Suche springen
(Projekt abgeschlossen)
 
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[https://de.wikipedia.org/wiki/Gta2 GTA2] (1999) rult übelst im LAN-Multiplayer Modus. Hier soll mit ein paar [https://www.autoitscript.com/site/ bösen Hacks] ein Mehrspieler-Mod entstehen, bei dem alle Spieler am selben PC sitzen können. Wenn wir schon dabei sind, soll es auch noch ein gescheiter Gamepad-Support (sprich: Xbox360 Gamepad) sein. GTA2 läuft ganz okay mit [https://appdb.winehq.org/objectManager.php?sClass=version&iId=3132 Wine], also sollte es der Mod nach Möglichkeit auch.
[https://de.wikipedia.org/wiki/Gta2 GTA2] (1999) rult übelst im LAN-Multiplayer Modus. Hier soll mit ein paar [https://www.autoitscript.com/site/ bösen Hacks] ein Mehrspieler-Mod entstehen, bei dem alle Spieler am selben PC sitzen können. Wenn wir schon dabei sind, soll es auch noch ein gescheiter Gamepad-Support (sprich: Xbox360 Gamepad) sein. GTA2 läuft ganz okay mit [https://appdb.winehq.org/objectManager.php?sClass=version&iId=3132 Wine], also sollte es der Mod nach Möglichkeit auch.


===Mehr Informationen===
==Umsetzung==
* '''[https://github.com/Bytewerk/gta2-hackers-remix github]'''
[[User:robotanarchy|robotanarchy]] hat vor einer Ewigkeit mit dem Projekt angefangen und auch schon funktionierenden Code geschrieben. Allerdings ist alles noch nicht so wirklich fertig und der Code eventuell nicht mehr vorhanden. Im Folgenden findet sich also eine Liste von dem, was prinzipiell möglich ist (erstaunlicher Weise geht da echt viel):
===Spielautomat===
[[Datei:GTA2 Spielautomat.jpg|right|150px|thumb|Aktueller Stand des Automaten]]


* Umrüsten eines alten ''Photoplay Masters'' für den Mod
===Verschiedene Einstellungen für mehrere Instanzen===
* '''Man kann natürlich komplett kostenlos spielen, ohne Geld!'''
GTA2 speichert seine Einstellungen in der Registry. Es ist möglich, die gta2.exe zu duplizieren und innerhalb der exe-Datei mittels Search 'n' Replace den Registry-Pfad so zu ändern, dass man für jede Instanz andere Einstellungen (zb. Auflösung) verwenden kann.
* bisheriges Innenleben des Standgeräts entfernt
* Flachbildschirm und Rechner eingebaut
* Arch Linux installiert, der Mod läuft mit Wine
* da wir auch den Schalter ausgebaut haben: Autoboot bei Strom ein (konnte man einfach im Bios einstellen)
* Die original Boxen können dank eines einfachen 3.5 Zoll Audiosteckers benutzt werden


=====TODO=====
===Netzwerk Spiel mit mehreren Instanzen auf einem PC===
* PC austauschen:
Wenn man den GTA2 Einstellungen-Dialog öffnet, kann man ein Netzwerkspiel hosten oder einem solchen beitreten. Sobald man das gemacht hat, ist man in einem Lobby Dialog und der Hoster kann die Map auswählen und das Spiel starten.
** HDMI nötig (wegen Beamer)
** Fette CPU (mehrere GTA2-Instanzen sind CPU-Intensiv!)
** RAM so ~4GB
** Gehäuse sollte kleiner sein
** Vorschlag von ''esclear'': Wir können seinen alten Laptop dafür haben, sobald er sich einen neuen kauft
* Funktionierendes LAN-Kabel anschließen
* HDMI-Kabel kaufen und anschließen
* Casemodding betreiben
** USB-Ports an die Seite einbauen
*** 6-Port USB-Hub bestellen (reicht da die Spannungsversorgung für die einzelnen Controller? Recherchieren und notfalls 2x3 nehmen!)
*** Entsprechendes Stück aus dem Automaten aussägen
*** Ports befestigen
*** Ports an den Rechner direkt anschließen
*** Bonus: Coole Halterungen für Xbox360-Controller an der Seite einbauen
** Umlackieren
*** Vorerst das ''Photoplay Masters''-Logo provisorisch mit einem G2HR-Schild oder so überdecken
*** Später richtig umlackieren lassen von einem Kumpel, der sich damit auskennt™ (am besten erst, wenn der neue PC eingebaut ist und die USB-Ports auch schon dran sind!)
** Duftkerzen einbauen, damit der Automat weniger nach Rauch stinkt?


=====Unsortierte Gedanken=====
Mit dem Inoffiziellen GTA2 Client von [http://gtamp.com/gta2/ hier] kann man das hosten, bzw. joinen direkt per Kommandozeile angeben (mit IP!) und landet direkt in der Lobby.
*Wie können wir bzw. mit was können wir das Loch des Münzers rechts oben (ca. 15 x 5 cm) sinnvoll nutzen?
** Da lässt sich doch bestimmt was mit dem 3D-Drucker zaubern?
** Ein bisschen gedremelt. Fixed.
*evtl. bekommen wir ein Wärmeproblem vom Rechner bzw. der GraKa
*Als Steuerung wären Xbox360 Controller sinnvoll
**Wenn möglich, 6 Stück anschließen!
**Gibt es vielleicht eine günstigere Alternative?
***Wohl kaum, ''robotanarchy'' hat da intensiv nach geschaut und sogar einen fake-Controller bestellt. Nicht brauchbar.
**Löcher bohren für die Kabel
**Halterungen bauen
*DVI->HDMI Kabel kaufen, damit (bei mehreren Spielern) auch der Beamer genutzt werden kann!
**''robotanarchy'' hat einen günstigen DVI->HDMI-Adapter gekauft. Der funktioniert aber nicht :(
*Automat umlackieren?


{{Abgeschlossen}}
Wenn man beim Joinen jedes mal 127.0.0.1 angibt, dann crasht das ganze früher oder später. Es ist allerdings möglich, weitere IPs des Rechners anzugeben (zB. LAN). Mit dem TUN-Device von OpenVPN kann man sogar unter Windows beliebig viele IPs zuweisen (über virtuelle Netzwerkadapter), auf die man dann joinen kann.

Mit AutoIt3 könnte man ein eigenes Spielmenü schreiben (mit dem Controller steuerbar), das dann im Vordergrund läuft und im Hintergrund automagisch die Instanzen startet und die Lobbys zusammenklickt.

===Splitscreen===
Je nach gewünschter Spielerzahl (der Netzwerkmodus von GTA2 unterstützt bis zu 6 auf einmal!) wird die Auflösung für die einzelnen Spieler berechnet und in die Registry eingetragen. Mit AutoIt kann man ein riesiges Fenster erzeugen, zu dem dann die GTA2-Ingame-Fenster als Child-Windows geschoben werden. Windows Fensterrahmen muss man aus dem sichtbaren Bereich schieben oder durch eine große Splitscreenlinie ersetzen.

Überraschender Weise funktioniert der Sound bei allen Spielinstanzen gleichzeitig (wollen wir das? vielleicht Radio in den Autos deaktivieren, Soundeffekte lassen?) - aber nur, wenn man die Fenster einmalig so zusammenschiebt. Wenn man das öfters macht (also den Fokus ändert), dann hat nur noch ein Fenster Sound!

===Gamepad Input===
Da wie sowieso schon mit schwarzer Magie arbeiten und ganz schlimme Hacks benötigen, um den Splitscreen (mit Sound™) umzusetzen, haben natürlich nicht alle Fenster gleichzeitig Fokus und können deswegen logischer Weise nicht alle mit der Tastatur gesteuert werden.

Für ein fettes Multiplayer Erlebnis am Splitscreen sind sowieso Gamepads nötig - also hacken wir irgendwie den Input um, damit man diese auch verwenden kann.

Genauer hat [[User:robotanarchy|robotanarchy]] die Speicheradresse gefunden, in der die Bewebung des Spielers drinnen steht. GTA2.exe greift auf ein paar DLLs im Spielverzeichnis zu. Man kann über eine selbstgeschriebene [http://www.codeproject.com/Articles/16541/Create-your-Proxy-DLLs-automatically Proxy DLL], schön Code Injection machen und dadurch zum Beispiel die Spielfigur dauerhaft nach oben laufen lassen. Nachteil ist, dass diese DLL mit Visual Studio generiert werden muss (zumindest mit dem dort verwendeten Tutorial).

Neue Idee: die DLL soll ein TCP-Socket bereitstellen (noch besser: auf stdin hören, falls das geht!), damit AutoIt3 das steuern kann und man nur einmalig die DLL erzeugen muss (und dann Visual Studio wieder deinstallieren kann). Sqozz meint, dass das performt.

==Entwicklungsumgebung==
* Nativ installiertes Windows XP, Windows 7 und Linux mit Wine (letzteres vor allem zum testen)
* Microsoft Visual Studio 2010 (zumindest, bis die DLL fertig ist)
* AutoIt3 + erweiterter Scite
* Code::Blocks für selbstgehackten C(++) Code, der zB. suchen und ersetzen in der Exe-Datei macht (evtl. auch teile des Gamepad Codes)
* GTA2: [http://www.chip.de/downloads/Grand-Theft-Auto-GTA-2_13015291.html Freeware] und die von [http://gtamp.com/gta2/ gtamp] (wir sollten einen Diff erstellen, so dass man am Ende die Freeware Version nutzen kann!)
* Später soll der Source auf Github, also irgendwie Git für Windows
* Unter Windows: TightVNC Server und FileZilla Server installieren, damit man von seiner Linux Kiste aus entwickeln kann

==Beteiligte Leute==
Idee und derzeitige Umsetzung ist von [[User:robotanarchy|robotanarchy]].

[[User:sqozz|Sqozz]] hat Interesse am Mod gezeigt und wird innerhalb dieses Jahrtausends eventuell etwas dazu beisteuern.

Aktuelle Version vom 5. Februar 2018, 08:22 Uhr

GTA2 (1999) rult übelst im LAN-Multiplayer Modus. Hier soll mit ein paar bösen Hacks ein Mehrspieler-Mod entstehen, bei dem alle Spieler am selben PC sitzen können. Wenn wir schon dabei sind, soll es auch noch ein gescheiter Gamepad-Support (sprich: Xbox360 Gamepad) sein. GTA2 läuft ganz okay mit Wine, also sollte es der Mod nach Möglichkeit auch.

Mehr Informationen

Spielautomat

Aktueller Stand des Automaten
  • Umrüsten eines alten Photoplay Masters für den Mod
  • Man kann natürlich komplett kostenlos spielen, ohne Geld!
  • bisheriges Innenleben des Standgeräts entfernt
  • Flachbildschirm und Rechner eingebaut
  • Arch Linux installiert, der Mod läuft mit Wine
  • da wir auch den Schalter ausgebaut haben: Autoboot bei Strom ein (konnte man einfach im Bios einstellen)
  • Die original Boxen können dank eines einfachen 3.5 Zoll Audiosteckers benutzt werden
TODO
  • PC austauschen:
    • HDMI nötig (wegen Beamer)
    • Fette CPU (mehrere GTA2-Instanzen sind CPU-Intensiv!)
    • RAM so ~4GB
    • Gehäuse sollte kleiner sein
    • Vorschlag von esclear: Wir können seinen alten Laptop dafür haben, sobald er sich einen neuen kauft
  • Funktionierendes LAN-Kabel anschließen
  • HDMI-Kabel kaufen und anschließen
  • Casemodding betreiben
    • USB-Ports an die Seite einbauen
      • 6-Port USB-Hub bestellen (reicht da die Spannungsversorgung für die einzelnen Controller? Recherchieren und notfalls 2x3 nehmen!)
      • Entsprechendes Stück aus dem Automaten aussägen
      • Ports befestigen
      • Ports an den Rechner direkt anschließen
      • Bonus: Coole Halterungen für Xbox360-Controller an der Seite einbauen
    • Umlackieren
      • Vorerst das Photoplay Masters-Logo provisorisch mit einem G2HR-Schild oder so überdecken
      • Später richtig umlackieren lassen von einem Kumpel, der sich damit auskennt™ (am besten erst, wenn der neue PC eingebaut ist und die USB-Ports auch schon dran sind!)
    • Duftkerzen einbauen, damit der Automat weniger nach Rauch stinkt?
Unsortierte Gedanken
  • Wie können wir bzw. mit was können wir das Loch des Münzers rechts oben (ca. 15 x 5 cm) sinnvoll nutzen?
    • Da lässt sich doch bestimmt was mit dem 3D-Drucker zaubern?
    • Ein bisschen gedremelt. Fixed.
  • evtl. bekommen wir ein Wärmeproblem vom Rechner bzw. der GraKa
  • Als Steuerung wären Xbox360 Controller sinnvoll
    • Wenn möglich, 6 Stück anschließen!
    • Gibt es vielleicht eine günstigere Alternative?
      • Wohl kaum, robotanarchy hat da intensiv nach geschaut und sogar einen fake-Controller bestellt. Nicht brauchbar.
    • Löcher bohren für die Kabel
    • Halterungen bauen
  • DVI->HDMI Kabel kaufen, damit (bei mehreren Spielern) auch der Beamer genutzt werden kann!
    • robotanarchy hat einen günstigen DVI->HDMI-Adapter gekauft. Der funktioniert aber nicht :(
  • Automat umlackieren?

Oxygen-dialog-ok-apply.png

Dieses Projekt ist abgeschlossen.

Keine Sorge, wir haben noch einen Haufen anderer Projekte, an denen du dich beteiligen kannst ;)