Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
games:openxcom [2016-01-25-13-08] – 7saturn | games:openxcom [2016-04-10-14-10] – [Infos] 7saturn |
---|
====== OpenXcom ====== | ====== OpenXcom ====== |
OpenXCom ist im Prinzip nichts anderes, als X-COM UFO defense bzw. [[Terror from the Deep]] nochmal neu nach programmiert. Das Spiel hängt dabei jedoch von den Original Grafikdaten ab, man braucht UFO also noch im Original. Gibt's z. B. noch bei [[http://store.steampowered.com/app/7760|Steam]]. Da das Original allerdings auf den aktuellen Systemen praktisch nicht mehr läuft, kann man das gerade noch verschmerzen. Richtig cool ist allerdings der Umstand, dass es das Spiel auch für Linux gibt. | ===== Infos ===== |
| OpenXCom ist im Prinzip nichts anderes, als X-COM UFO defense bzw. [[Terror from the Deep]] nochmal neu nach programmiert. Das Spiel hängt dabei jedoch von den Original Grafikdaten ab, man braucht UFO also noch im Original. Gibt's z. B. noch bei [[https://www.gog.com/game/xcom_ufo_defense|GOG]] und [[http://store.steampowered.com/app/7760|Steam]]. Da das Original allerdings auf den aktuellen Systemen praktisch nicht mehr läuft, kann man das gerade noch verschmerzen. Richtig cool ist allerdings der Umstand, dass es das Spiel auch für Linux gibt. |
| |
Auch wurden einige Änderungen vorgenommen, die das Gameplay verbessern. So kann man die Einstellung setzen, dass vor dem Ausführen eines Geh-Befehls angezeigt wird, welchen Weg der Soldat nehmen wird und was die Zeiteinheitenkosten sind. Türen können jetzt, wie bei TFTD, aufgemacht werden, ohne zwangsläufig auch gleich durch zu gehen. Man kann seitwärts gehen, man kann rennen, das Basis-Layout beim Starten eines neuen Spiels selbst bestimmen. Auch genial ist die Möglichkeit sich die Radar-Reichweite anzeigen zu lassen und den Kurs, den das Raumschiff abfliegen wird. | Auch wurden einige Änderungen vorgenommen, die das Gameplay verbessern. So kann man die Einstellung setzen, dass vor dem Ausführen eines Geh-Befehls angezeigt wird, welchen Weg der Soldat nehmen wird und was die Zeiteinheitenkosten sind. Türen können jetzt, wie bei [[Terror from the Deep|TFTD]], aufgemacht werden, ohne zwangsläufig auch gleich durch zu gehen. Man kann seitwärts gehen, man kann rennen, das Basis-Layout beim Starten eines neuen Spiels selbst bestimmen. Auch genial ist die Möglichkeit sich die Radar-Reichweite anzeigen zu lassen und den Kurs, den das Raumschiff abfliegen wird. |
| |
{{ :games:openxcomgeoscape.png?300 |}} | {{ :games:openxcomgeoscape.png?300 |}} |
Man kann den Soldaten auch anweisen, ohne Rücksicht auf fehlende Visierlinie auf das Ziel zu ballern. Gerade mit dem Autoschuss zusammen kann man damit Hindernisse wegballern, mit der Chance, dass er mit den verbleibenden Schüssen doch noch das Ziel trifft. Auch kann man jetzt endlich die Reihenfolge der Soldaten in einem Raumschiff festlegen und deren Waffenlayout wird gespeichert (sodass man nicht vor jeder Schlacht alles neu sortieren muss). Man kann auch einstellen, dass man Raumschiffe abheben lassen kann, obwohl ihr Treibstoff und ihre Munition nicht 100% hat. Scrollrad an der Maus hat jetzt auch eine Bewandnis, nämlich Ebenen wechseln. Auch kann man mit der Tastatur scrollen, die Soldaten durch wechseln. Die Anzahl der Savegames ist nicht mehr limitiert, weil er nur noch nach Dateinamen geht. Lauter so Dinge, die ich persönlich sehr stark finde. | Man kann den Soldaten auch anweisen, ohne Rücksicht auf fehlende Visierlinie auf das Ziel zu ballern. Gerade mit dem Autoschuss zusammen kann man damit Hindernisse wegballern, mit der Chance, dass er mit den verbleibenden Schüssen doch noch das Ziel trifft. Auch kann man jetzt endlich die Reihenfolge der Soldaten in einem Raumschiff festlegen und deren Waffenlayout wird gespeichert (sodass man nicht vor jeder Schlacht alles neu sortieren muss). Man kann auch einstellen, dass man Raumschiffe abheben lassen kann, obwohl ihr Treibstoff und ihre Munition nicht 100% hat. Scrollrad an der Maus hat jetzt auch eine Bewandnis, nämlich Ebenen wechseln. Auch kann man mit der Tastatur scrollen, die Soldaten durch wechseln. Die Anzahl der Savegames ist nicht mehr limitiert, weil er nur noch nach Dateinamen geht. Lauter so Dinge, die ich persönlich sehr stark finde. |
| |
Auch wurden einige Bugs behoben. Z. B. dass der Avenger nie mehr als 50% vom Treibstoff benutzt hat ist jetzt nicht mehr so. Man kann endlich die Panzer wirklich frei bewegen, ohne Einschränkungen durch die Steuerung. Ebenfalls kann man jetzt, wenn man denn keine Lust hat, lang und breit eine (neue) Kampagne zu starten, einfach direkt eine Schlacht generieren lassen, mit Auswahl welches UFO, welche Rasse, welcher Technologiestand, mit was kreuzt man selbst auf. Gutes Anfänger-Training für alle, die [[UFO2000]] spielen wollen. =) | Auch wurden einige Bugs behoben. Z. B. dass der Avenger nie mehr als 50% vom Treibstoff benutzt hat ist jetzt nicht mehr so. Man kann endlich die Panzer wirklich frei bewegen, ohne Einschränkungen durch die Fehler in der Maus-Steuerung. Ebenfalls kann man jetzt, wenn man denn keine Lust hat, lang und breit eine (neue) Kampagne zu starten, einfach direkt eine Schlacht generieren lassen, mit Auswahl welches UFO, welche Rasse, welcher Technologiestand, mit was kreuzt man selbst auf. Gutes Anfänger-Training für alle, die [[UFO2000]] spielen wollen. =) |
| |
{{ :games:openxcombattlescape.png?300 |}} | {{ :games:openxcombattlescape.png?300 |}} |
| ===== Installation ===== |
| Es gibt ein relativ altes Installations-Paket mit OpenXcom 1.0 stable, also nicht Nightly. Auch wenn »stable« erst mal suggeriert, dass das die bessere Variante wäre, sind die Nightlies aus diversen Gründen zu empfehlen: |
| * mehr Bugs gefixt, |
| * mehr Funktionen, |
| * Mods basieren inzwischen eigentlich immer auf der Ordner-Struktur der Nightlies, gehen also nicht mit der stable |
| * es gibt auch [[Terror from the Deep|TFTD]] als direkt mit installierten Mod. |
| |
Wie man das Spiel unter Ubuntu 14.04 installieren oder selbst kompilieren kann, findet ihr [[http://mwohlauer.christof-b.de/openxcomcompilation.html|hier]]. Es benötigt aber zwingend die Original Daten von X-COM. Wenn eure Datenträger inzwischen hinüber sind, könnt ihr aber im Netz durchaus die Files finden. OpenXcom braucht entweder Version 1.4 der DOS-Version oder aber die Collectors Edition. Wenn man richtig korrekt vorgehen will, kauft man sich das Spiel bei Steam. | Das Spiel benötigt //zwingend// die Original Daten von X-COM. Wenn eure original Datenträger inzwischen hinüber sind, könnt ihr die Files aber im Netz durchaus finden. OpenXcom braucht entweder Version 1.4 der DOS-Version oder aber die Collectors Edition. Wenn man als nicht-Besitzer korrekt vorgehen will, kauft man sich das Spiel bei [[http://store.steampowered.com/app/7760/|Steam]]. Es gibt inzwischen auch einen von der Community erarbeiteten Patch, der u. A. Map-Bugs und ähnliches behebt. Zu finden ist er unter http://openxcom.org/download/extras/universal-patch.zip. |
| ==== Windows ==== |
| Das Spiel wird unter Windows einfach aus dem [[http://openxcom.org/git-builds/|Archiv-File]] in einen entsprechenden Ordner entpackt. Die Original-Daten gehören dann ins Verzeichnis ''UFO'' bzw. ''TFTD''. |
| ==== Linux ==== |
| === über Paketquellen === |
| Wie schon geschrieben, ist es eher nicht zu empfehlen, die stable zu nehmen, sondern lieber gleich die nightlies: |
| <code> |
| sudo add-apt-repository ppa:knapsu/openxcom |
| sudo apt-get update |
| sudo apt-get install openxcom |
| </code> |
| Dann noch die Original-Files an die richtige Stelle packen, direkt ins Verzeichnis ''/usr/local/share/openxcom/UFO/''. Für TFTD ist es der Ordner ''/usr/local/share/openxcom/TFTD/''. Dort sucht OpenXcom nach den Original-Files. Ggf. auch an anderer Stelle, aber es macht Sinn, hier konsistent zu bleiben, um keine Probleme zu bekommen. Mods gehören übrigens nicht mehr ins Spiele-Verzeichnis sondern nach ''$HOME/.local/share/openxcom/mods'', ein Verzeichnis tiefer, als auch die saved games liegen. Danach sollte man spielen können. |
| === Kompilieren === |
| Das Spiel gibt es zwar im Prinzip auch über die Paketverwaltung. Allerdings sind die Pakete nicht immer die aktuellsten. Man kann das ganze auch manuell erledigen: |
| == Voraussetzungen == |
| Es werden vom Original Spiel einige Verzeichnisse benötigt, um es überhaupt zum Laufen bringen zu können. Die X-COM-Version ist entweder 1.4 (=DOS), oder aber die Collectors-Edition (=Windows). Falls jemand das Spiel nicht hat, kann man es sich auch heute noch via Steam kaufen, oder aber man googlet mal danach, obs das nicht wo gibt (wenn man seine Installationsdatenträger verloren hat...) Gibt zumindest noch so Abandon-Ware-Seiten, die das anbieten. Da ist es ratsam, gleich nach der Collectors Edition zu suchen, weil man bei den DOS-Versionen nicht immer weiß, welche Version man jetzt wirklich erhalten hat. Benötigt werden die Verzeichnisse: |
| * ''GEODATA'' |
| * ''GEOGRAPH'' |
| * ''MAPS'' |
| * ''ROUTES'' |
| * ''SOUND'' |
| * ''TERRAIN'' |
| * ''UFOGRAPH'' |
| * ''UFOINTRO'' |
| * ''UNITS'' |
| Hinweis an dieser Stelle: Da Linux bei Dateinamen case-sensitive ist, //müssen// die Ordner in Großbuchstaben geschrieben sein. Ansonsten findet das Spiel unter Linux die Dateien einfach nicht. |
| |
| Man sollte den Community-Patch installieren. Wenn man zukünftig öfter selbst kompilieren will, kann man diese Files auch einfach mit denen vom Original-Spiel zusammen packen. Erst die oben genannten Ordner in ein Verzeichnis, dann die Verzeichnisse aus dem Patch-Archiv auch dort hin entpacken und ggf. überschreiben lassen. Das Ergebnis kann man sich wieder in ein Archiv für spätere Verwendung bunkern. |
| |
| Zur Benutzung müssen evtl. noch Pakete nachinstalliert werden, insbesondere zum Compilieren: |
| * git (nur zum Kompilieren) |
| * SDL |
| * SDL |
| * SDL Mixer |
| * SDL Image |
| * SDL gfx Version 2.0.22 oder höher |
| * ''yaml-cpp'' Version 0.5 oder höher |
| * ''boost'' (Abhängigkeit für yaml-cpp) |
| * ggf. ''cmake'' und ''cmake-curses'' |
| Oder als ein Befehl zur Installation unter Ubuntu: |
| |
| ''sudo apt-get install git libsdl1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libyaml-cpp-dev libboost-dev cmake cmake-curses-gui'' |
| |
| Die ''-dev''-Pakete sind nur zum Kompilieren notwendig, deren kompilierte Versionen sollten eigentlich mit installiert werden, wenn man OpenXcom aus einem PPA installiert. |
| |
| == Compiler-Lauf == |
| Man kann, bzw. muss das Spiel evtl. auch mal selbst kompilieren, z. B. weil neuere Mods auch neuere OpenXcom-Versionen benötigen. Als Ubuntu-User muss man für Nightlies allerdings selbst zum Compiler greifen. Das ist aber auch nicht unbedingt sonderlich schwer. Man kann das im Prinzip auch weitestgehend automatisieren. |
| |
| Quell-Dateien runterladen. Diese findet man immer unter https://github.com/SupSuper/OpenXcom, rechts unter dem Link »Download ZIP«. In ein beliebig benanntes Verzeichnis entpacken (wird hinterher nicht mehr unbedingt benötigt). Oder man macht die Geschichte gleich mit git: |
| |
| ''git clone https://github.com/SupSuper/OpenXcom.git OpenXcom-master'' |
| |
| Mit git hat den Vorteil, dass auch der Versions-String eindeutig identifiziert, welches Build da kompiliert wurde, z. B. wenn man Bug-Reports einreichen will. Das grenzt dann ziemlich genau ein, mit welcher Version das Problem auftritt. |
| |
| - Die oben bereits genannten Original-Files und die Patch-Files in den Ordner ''bin/UFO/'' der gerade entpackten Quell-Dateien kopieren/entpacken. Falls man noch TFTD rum liegen hat, das dann auch nach ''bin/TFTD/'' kopieren. |
| - Ggf. den Versions-String anpassen: Normalerweise ist in diesen Quellfiles immer als Version die Nr. 1.0 angegeben, was so relativ wenig Aussage hat, weil man auf diese Weise z. B. gar nicht feststellen kann, was für eine Version man letztlich installiert hat, eine aus den PPAs, ein nightly, und wenn letzteres, von wann. Man kann daher in der Datei ''src/version.h'' den String ''#define OPENXCOM_VERSION_SHORT <nowiki>"1.0"</nowiki>'' entsprechend abändern, z. B. auf ''#define OPENXCOM_VERSION_SHORT <nowiki>"1.0 Nightly 2015-06-05-12-13"</nowiki>'', für den 5.6.2015, 12:13 Uhr. Bei Git entfällt die Notwendigkeit dafür, es ist aber auch möglich, wenn man noch mehr Infos in der Version haben will. Bei Windows-vorkompilierten nightlys von der Website ist z. B. ein automatischer Eintrag von Git enthalten. |
| - Ordner ''build'' im Quell-Verzeichnis anlegen und auf der Konsole dort hinein wechseln. |
| - ''cmake ..'' oder alternativ ''cmake -DCMAKE_BUILD_TYPE=Release ..'' für den Fall, dass man ohnehin als Release in die Standard-Verzeichnisse installieren möchte. Das erspart den nächsten Schritt. Es lassen sich aber auch die Ordner angeben, wenn man das möchte, indem man mit ''-DVariable=Variablenwert'' die Pfade mit übergibt (siehe Punkte unter 6). |
| - ''ccmake ..'', dieser Schritt und der nachfolgende sind optional, wenn man ''cmake'' mit den direkt übergebenen Optionen ausgeführt hat. |
| - Einstellungen setzen: |
| - ''CMAKE_BUILD_TYPE'' auf ''Release'' setzen, alternativ auf ''Debug''. |
| - ''CMAKE_INSTALL_PREFIX'' auf den Pfad setzen, in den die OpenXcom-Binary später installiert werden soll. Standard ist ''/usr/local/'' (voreingestellt), womit das Spiel im Ordner ''/usr/local/bin'' landet. |
| - ''DATADIR'' auf den Pfad des Ziel-Ordners für die Daten-Files (Originale) setzen. Die weiter oben in die Sourcen kopierten Files werden dann dort während des nachfolgenden Prozesses hin kopiert. Gibt man keinen Pfad an, landen die Daten in ''/usr/local/share/openxcom/data/''. |
| - ''c'' für configure drücken |
| - ''e'' um aus dem configure-Bildschirm wieder raus zu kommen. |
| - ''g'' zum Generieren und Beenden von ''ccmake'' drücken. |
| - ''make -j3'', man kann auch höhere Werte als ''3'' angeben, z. B. ''10'', um den Kompilations-Prozess zu beschleunigen. Allerdings ist es nicht empfohlen, keine Werte anzugeben, damit es maximal schnell läuft. Es können unvorhergesehene Zustände auftreten, die das Kompilieren verhindern! |
| - ''make install'' |
| - Falls man beim Pfad ''CMAKE_INSTALL_PREFIX'' oder ''DATADIR'' einen Ordner angegeben hat, für den man die Schreibrechte nicht hat, muss man unter einem Benutzer kompilieren, der die Rechte dazu hat. Beim Standard-Pfad sind also Root-Rechte notwendig: |
| - ''sudo make install'' |
| Damit ist die Kompilation abgeschlossen (sofern nicht irgendwelche Fehler dabei aufgetreten sind...). In diesem Fall dürfte man bei Standard-Pfaden einfach loslegen können. Hat man an den Pfade rum editiert, z. B. um das Spiel als User irgendwo zum Laufen zu bekommen, also ohne richtige Installation, kann man sich noch ein Start-Skript schreiben: |
| <code> |
| #!/bin/sh |
| "Pfadzu/openxcom" -data "Pfadzu/data" |
| </code> |
| mit den jeweiligen Pfaden zu OpenXcom bzw. dem Original-Verzeichnis. Das Skript dann unter ''$HOME/bin/'' ablegen, und z. B. ''openxcom'' nennen, ausführbar machen und schon kann man OpenXcom auch ohne Admin-Rechte für die Installation im eigenen Home-Bereich spielen, indem in der Konsole einfach ''openxcom'' eingibt. Das Skript kann natürlich auch irgendwo anders liegen, z. B. auf dem Desktop, wo man es dann auch anderweitig starten kann. |
| == Desktopfile == |
| Wenn man richtig viel Wert auf Optik legt, kann man für das eben erstellte Start-Skript auch ein Desktop-File anlegen, um das eben kompilierte OpenXcom z. B. auch in den Starter von Gnome integrieren zu können: |
| <code> |
| [Desktop Entry] |
| Name=OpenXcom |
| Exec=<Pfadname/zum/OpenXcom-Skript> |
| Type=Application |
| StartupNotify=true |
| Path=<Pfad/zum/OpenXcom-Skript> |
| Icon=<Pfad/zum/OpenXcom-Ordner>/common/openxcom.png |
| </code> |
| Dieses File dann z. B. unter dem Namen ''OpenXcom.desktop'' speichern und ausführbar machen. Dieses File kann im Prinzip irgendwo liegen, allerdings empfiehlt es sich für Ubuntu mit Gnome, es unter ''~/.local/share/applications'' abzulegen, da dort auch der Starter nachsucht. Für alle Benutzer ist der Ordner ''/usr/share/applications'' aber besser geeignet, weil so alle das Symbol finden können. |
| |
| **Wichtig**: Die eben installierten Files im Original-Ordner werden möglicherweise nicht verwendet, wenn in einem anderen der abgesuchten Pfade noch ein UFO- oder TFTD-Ordner gefunden wird. Daher empfiehlt es sich, alle anderen Original-Ordner entweder zu löschen oder wenigstens umzubenennen (z. B. ''data alt'' oder so ähnlich). Man kann evtl. weitere vorhandene Original-Ordner mit einem einfachen Befehl finden: |
| |
| '' sudo find / -name BACKPALS.DAT'' |
| |
| sudo ist notwendig, weil man sonst u. U. nicht alle Pfade findet, bzw. ständig Fehlermeldungen wegen fehlender Rechte die Ausgabe unterbrechen. Die Datei ''BACKPALS.DAT'' ist Teil des UFO-Verzeichnisses und sollte theoretisch nur ein mal auf der Platte vorkommen, sofern man sie nicht noch woanders gebunkert hat. Sollten sich mehrere Pfade finden lassen, die ''data/GEODATA/BACKPALS.DAT'' am Ende haben, sind das genau solche möglichen Problemstellen. |
| |
| == Automatisiert kompilieren == |
| <code> |
| echo "Lade Quelldateien von github..." |
| wget https://github.com/SupSuper/OpenXcom/archive/master.zip |
| echo 'Entpacke "master.zip"...' |
| unzip master.zip |
| echo "Wechsle ins neu erstellte Quellen-Verzeichnis..." |
| cd OpenXcom-master |
| echo 'Entpacke Patch- und Vanilla-Files ins "bin/UFO/"-Verzeichnis...' |
| <Entpack- oder Kopierbefehl der Vanilla- und Patch-Files nach ./bin/UFO/> |
| d=`date +%Y-%m-%d-%H-%M` |
| echo Ändere Versions-String von \"1.0\" zu \"1.0 Nightly $d\" |
| perl -pi -e 's/SHORT "1.0"/SHORT "1.0 Nightly '$d'"/g' src/version.h |
| echo 'Lege Verzeichnis "build" an...' |
| mkdir build |
| echo 'Wechsle nach "build"...' |
| cd build |
| echo 'Konfiguriere make als "Release"...' |
| cmake -DCMAKE_BUILD_TYPE=Release .. |
| echo 'Compiliere OpenXcom...' |
| make -j10 |
| echo 'Installiere OpenXcom...' |
| sudo make install |
| echo 'Entferne nicht mehr benötigte "master.zip"...' |
| rm ../../master.zip |
| </code> |
| Das Beispiel-Skript lädt die Quellen runter, entpackt sie, kopiert/entpackt die Original- bzw. Patch-Files ins UFO-Verzeichnis, ändert den Versions-String und kompiliert ein Release-build inkl. anschließender Installation. Die nicht mehr benötigte zip-Datei mit den Quellen wir auch noch entfernt. <b>Hinweis</b>: Es ist nicht empfohlen, das Skript einfach zwei mal ablaufen zu lassen, wenn es möglich ist, dass sich einiges an der Ordner-Struktur geändert hat. Besser die alten OpenXcom-master-Ordner vor dem Ausführen löschen! (Lässt sich natürlich auch automatisieren, so wie vieles andere....) Man kann sich hier natürlich völlig austoben. |
| |
[[gamesdatenbank|Zurück zur Games-Datenbank und den LAN-Infos]] | [[gamesdatenbank|Zurück zur Games-Datenbank und den LAN-Infos]] |