Technische Probleme
Die momentan einzige Möglichkeit die bei (fast) allen funktioniert ist in den OpenGL Modus umzuschalten. Dieser bringt zwar ein paar Grafikfehler mitsich aber diese sind nicht unbedingt als schlimm oder spasshämmend anzusehen. Um in den OpenGL Modus umzuschalten ist folgendes zu tun:
Öffne die systemcfg.lua im Hauptverzeichnis der Demo mit einem Texteditor
Suche den Eintrag r_driver = "Direct3D9"
Ersetze diesen Eintrag durch r_driver = "OpenGL"
Speichere die Datei wieder ab
Das wars, jetzt kannst du in OpenGL spielen. Der OpenGL Modus ist noch nicht fertig programmiert, weswegen es auch zu Grafikfehlern kommt, dies wird sich bis zur Vollversion aber noch ändern. Bei NVIDIA-Usern kann es im OpenGL Modus zu verfälschter Farbdarstellung & zu hohem Kontrast kommen!
Mögliche Lösung für ATI-User
Das ATI Control Panel öffnen
In das Tab "3D" wechseln
Direct3D auswählen (Falls das nicht schon der Fall ist)
Auf Benutzerdefinierte Einstellungen klicken
Den Regler bei Einstellungen für Textur und Mipmap Detailebene zurückschieben bis Leistung dort steht
Auf übernehmen klicken und das Control Panel schließen
Mögliche Lösung für NVIDIA-User
Aktuellen Treiber aufspielen
Unter Direct3D-Einstellungen den Punkt Nebentabellen(-Emulation) aktivieren
Evlt. helfen auch andere Treiber.

Das wars, jetzt kannst du in OpenGL spielen. Der OpenGL Modus ist noch nicht fertig programmiert, weswegen es auch zu Grafikfehlern kommt, dies wird sich bis zur Vollversion aber noch ändern. Bei NVIDIA-Usern kann es im OpenGL Modus zu verfälschter Farbdarstellung & zu hohem Kontrast kommen!
Mögliche Lösung für ATI-User
Mögliche Lösung für NVIDIA-User
Evlt. helfen auch andere Treiber.

Man muss FullTri AF aktivieren. Um dies zu tun braucht man ein spezielles Tool namens r-Tool, welches ihr hier bekommt.
Öffnet das Programm
Der Schieberegler müsste schon ganz rechts stehen, falls das nicht der Fall ist, einfach den Regler nach rechts schieben so das unten drunter zu lesen ist Trilinear Aniso-Filtering (App)
Auf Apply klicken und das Programm schließen
Nun müssten die Grafikfehler verschwunden sein.

Nun müssten die Grafikfehler verschwunden sein.

Ja, die gibt es. Und zwar einen anderen Grafikkarten-Treiber. Für ATI-User kann ich den Catalyst 4.1 empfehlen und für NVIDIA-User den Forceware 53.03


Bei vielen liegt dieses Problem am Grafikkarten-Treiber, ich verweise hiermit über die Antwort gleich hier drüber.
Evlt. dürfte einigen von euch folgendes helfen (Beschreibung für ATI-User):
Das ATI Control Panel öffnen
In das Tab "3D" wechseln
Direct3D auswählen (Falls das nicht schon der Fall ist)
Auf Benutzerdefinierte Einstellungen klicken
Haken bei Antialiasing und Anisotropische Filterung neben Standarteinstellung machen
Auf übernehmen klicken und das Control Panel schließen
Die systemcfg.lua öffnen
Den Eintrag r_FSAA = "0" durch r_FSAA = "1" ersetzen
Den Eintrag r_FSAA_samples = "4" lassen oder aus der 4 eine 2 machen
Bei dem Eintrag r_Texture_Aniostropic_Level = "1" die 1 durch eine 2,4,8 oder 16 (16 nur bei ATI Usern) ersetzen
Datei abspeichern
Der Eintrag r_FSAA_samples bestimmt die Stufe des Antialiasing. Das selbe ist bei r_Texture_Anisotropic_Level der Fall, nur das hier die Stufe des Anisotropischen Filters bestimmt wird.

Evlt. dürfte einigen von euch folgendes helfen (Beschreibung für ATI-User):
Der Eintrag r_FSAA_samples bestimmt die Stufe des Antialiasing. Das selbe ist bei r_Texture_Anisotropic_Level der Fall, nur das hier die Stufe des Anisotropischen Filters bestimmt wird.

Auf der Parhelia gibt es erst mal nur Grafikfehler. Das kann man beheben, in dem man die systemcfg.lua um die Zeilen:
e_fog="0"
d3d9_VBPools = "0"
ergänzt. Damit Farcry das nicht überschreibt, sollte man für die Datei danach den Schreibschutz aktivieren. Einstellungen für Tastaturlayout, etc sollte man dann sinnigerweise schon gemacht haben, denn die werden bei einer schreibgeschützen systemcfg.lua natürlich nicht mehr gespeichert.

e_fog="0"
d3d9_VBPools = "0"
ergänzt. Damit Farcry das nicht überschreibt, sollte man für die Datei danach den Schreibschutz aktivieren. Einstellungen für Tastaturlayout, etc sollte man dann sinnigerweise schon gemacht haben, denn die werden bei einer schreibgeschützen systemcfg.lua natürlich nicht mehr gespeichert.

Performance Probleme
Farcry ist ein Next-Generation spiel das hohe Anforderungen an die Hardware stellt. Um mit hoher Qualität und Framerate spielen zu können braucht man auch einen entsprechend starken Rechner, CPU sowie Grafikkarte werden am meisten belastet. Durch zu wenig Ram kann auch ein Stocken hervorgerufen werden, da Farcry sehr viel zwischendrin nachläd kann es da schonmal schnell zu Engpässen kommen wenn nicht genug Ram zur Verfügung steht.


Es gibt eine Vielzahl von Einstellungen die man ändern kann, leider kann ich zum jetzigen Zeitpunkt keinen echten Performence Guide liefern da die Timedemo-Funktion in Farcry noch deaktiviert ist. Aber die Schatten Qualität auf Medium oder Low zu setzen dürfte Leistung bringen. Ansonsten einfach mal mit den Einstellungen herumspielen.


Modding
Unter Modding versteht man das Modifizieren von Original-Dateien bzw. das erstellen neuer Dateien in zusammenhang mit dem jeweiligen Spiel. Durch Modding kann man das komplette Prinzip eines Spieles ändern oder einfach nur die jeweile Sache ändern, die man gern anders haben möchte.


Crytek war so freundlich und hat die Scriptsprache LUA in Farcry verwendet. Im scripts Ordner der Demo befinden sich die ganzen Scripts die man nach belieben verändern kann. Im Levels Ordner befinden sich die Level Dateien. Im Prinzip kann man alles modden, jedoch braucht man dazu die entsprechenden Tools für einige Dateiformate.
Hier mal eine kleine Liste der von Farcry verwendeten Dateiformate:
*.lua - LUA Scriptdatei (Mit Texteditor editierbar)
*.xml - eXtensible Application Markup Language (Mit Texteditor editierbar)
*.cgf - CryENGINE Model-Datei (Exportierbar aus 3D Studio Max oder Maya per Polybump Exporter)
*.dds - Direct Draw Surface (Mit diversen Tools editierbar)
*.pak - Archiv-Datei (Mit Winzip/Winrar editierbar)
*.lst - Unbekannt
*.bai - Unbekannt
*.tmp - Unbekannt
*.ctc - Unbekannt
*.h16 - Unbekannt
*.tip - ? (Mit Texteditor editierbar)
*.eqp - Equipment-Datei (Mit Texteditor editierbar)
*.tga - Targa Graphics (Mit Photoshop oder ähnlichem editierbar)
*.pcx - PC Paintbrush (Mit Photoshop oder ähnlichem editierbar)
*.ext - ? (Mit Texteditor editierbar)
*.csl - Shader Script Datei (Mit Texteditor editierbar)
*.cslnew - Shader Script Datei (Mit Texteditor editierbar)
*.cslold - Shader Script Datei (Mit Texteditor editierbar)
*.csi - Shader Script Datei (Mit Texteditor editierbar)
*.crycg - Shader Script Datei (Mit Texteditor editierbar)
*.cgps - Cg Shader Datei (Mit Texteditor editierbar)
*.cgasm - Cg Shader Datei (Mit Texteditor editierbar)
*.cgvp - Cg Shader Datei (Mit Texteditor editierbar)
So das wars erstmal, jede menge Dateien, viele davon braucht man für das Modding garnicht, es reicht schon wenn man die LUA sowie XML Dateien kennt. LUA wird für Scripts verwendet und XML wird für Leveldatein verwendet.

Hier mal eine kleine Liste der von Farcry verwendeten Dateiformate:
So das wars erstmal, jede menge Dateien, viele davon braucht man für das Modding garnicht, es reicht schon wenn man die LUA sowie XML Dateien kennt. LUA wird für Scripts verwendet und XML wird für Leveldatein verwendet.

Die PAK Dateien können mit Winzip oder Winrar entpackt, bearbeitet und erstellt werden. Beim erstellen mit Winrar darauf achten das man immer eine ZIP-Datei erstellt, der Kompressionsgrad ist egal.


Das ist garnicht mal so schwer, man muss nur folgendes tun:
Die Level.pak Datei (Ordner: FarCryDemoLevelsFort) in einen neuen Ordner (z. B. Level) entpacken
Per Texteditor die Datei leveldata.xml öffnen
Den Eintrag WaterLevel="16" suchen
Die Zahl 16 durch eine andere Zahl ersetzen (Höhere Zahl gleich höherer Wasserstand bzw. umgekehrt)
Für das packen gibt es zwei Möglichkeiten:
Die erste:
Datei speichern und alle Dateien zu einer ZIP-Datei packen
Ein Backup der originalen level.pak machen und dann diese durch eure soeben erstellte austauschen
Die zweite:
Datei speichern und nur die Datei zu einer ZIP-Datei packen
Der Datei kann man einen Namen nach wunsch geben, nur die Dateiendung muss pak sein
Die Datei in das LevelsFort Verzeichniss schieben
Wenn alles geklappt hat müsste das Wasser jetzt je nachdem welche Zahl ihr angegeben habt, einen niedrigeren oder höheren Stand haben. War doch garnichtmal so schwer oder?

Für das packen gibt es zwei Möglichkeiten:
Die erste:
Die zweite:
Wenn alles geklappt hat müsste das Wasser jetzt je nachdem welche Zahl ihr angegeben habt, einen niedrigeren oder höheren Stand haben. War doch garnichtmal so schwer oder?

Durch Entities werden alle möglichen Objekte die in der Spielwelt sind definiert. Dies können z. B. Charaktere/Models oder Sounds sein. Die Entities sind in den LUA Scripts definiert, und viele haben Parameter die man per mission_fort.xml mitgeben kann.
Sieht für den ein oder andere vielleicht etwas schlimm aus, ist es aber nicht. Das am anfang sagt Farcry das es sich um ein Entity handelt, gleich danach kommen verschiedene Parameter, die wichtistgen sind:
EntityClass - Klasse des Entity's, bestimmt was es darstellen soll, in diesem Beispiel ist es ein Söldner (Art: Cover)
Angles - Bestimmt die Richtung in die das Entity zeigt
EntityId - Die ID des Entity's, wird vom Sandbox Editor automatisch eingetragen
HiddenInGame - Bestimmt ob das Entity angzeigt wird oder nicht
Pos - Bestimmt die Position des Entity's
Name - Bestimmt den Namen des Entity's
Type - Bestimmt den Typ (Entity, EntityPrototype etc.)
Als nächstes kommt das , dies bestimmt was bei einer bestimmten Handlung/Aktion passieren soll. Bei unserem Beispiel soll die Aktion "Enter" dem Target (EntityId) "336" zugewießen werden wenn der Söldner "SourceEvent="OnDeath"" stirbt.
Das nächste ist, hier werden die ganzen Parameter an das jeweile LUA Script das dass Entity steuert weitergeben. Das zu erklären wäre ein bisschen zu aufwendig, viele Parameter sind aber selbstklärend. gehört noch zu den Properties dazu und bestimmt den Speed (Geschwindigkeit) der einzelnen Animationen, auch hier dürfte so gut wie alles selbstklärend sein. hab ich bisher noch nie geändert, deshalb kann ich dazu nichts sagen. ist sozusagen die Erweiterung von , hier werden weiter Parameter an das entsprechende LUA Script übergeben.
Wenn ihr jetzt zum Beispiel wollt das dieser Söldner unverwundbar ist müsst ihr einfach nur das bInvulnerable in der Properties Zeile auf 1 setzen (bInvulnerable="1").

Sieht für den ein oder andere vielleicht etwas schlimm aus, ist es aber nicht. Das
Als nächstes kommt das
Das nächste ist
Wenn ihr jetzt zum Beispiel wollt das dieser Söldner unverwundbar ist müsst ihr einfach nur das bInvulnerable in der Properties Zeile auf 1 setzen (bInvulnerable="1").

Grafik-Tuning
Das Freischalten aller Spiegelungen kann zu massiven Grafikfehlern führen, aber trotzdem ist es machbar, deswegen hier die Anleitung:
Die Level.pak Datei (Ordner: FarCryDemoLevelsFort) in einen neuen Ordner (z. B. Level) entpacken
Per Texteditor die Datei mission_fort.xml öffnen
Den Eintrag Water="TerrainWater_OnlySky suchen
Den Eintrag zu Water="TerrainWater" ändern
Für das Packen gibt es zwei Möglichkeiten:
Die erste:
Datei speichern und alle Dateien zu einer ZIP-Datei packen
Ein Backup der originalen level.pak machen und dann diese durch eure soeben erstellte austauschen
Die zweite:
Datei speichern und nur die Datei zu einer ZIP-Datei packen
Der Datei kann man einen Namen nach wunsch geben, nur die Dateiendung muss pak sein
Die Datei in das LevelsFort Verzeichniss schieben

Für das Packen gibt es zwei Möglichkeiten:
Die erste:
Die zweite:

Das ist ganz einfach, beansprucht aber mehr Leistung vom System und kann evlt. Windows Programme lahmlegen nachdem man Farcry beendet hat:
Öffne die systemcfg.lua im Hauptverzeichnis der Demo mit einem Texteditor
Suche den Eintrag e_lod_ratio" = "1.000000"
Ersetze diesen Eintrag durch e_lod_ratio" = "100.000000"
Speichere die Datei wieder ab
Jetzt hast du immer 3D-Vegetation!

Jetzt hast du immer 3D-Vegetation!

Es gibt folgende Rendermodi:
0 - Normal
1 - Paradise
2 - Cold
3 - Cartoon
Durch das umstellen der Rendermodi werden die Farben anders dargestellt. Normal ist die Standardeinstellung. Paradise ist noch etwas Farbenfroher als Normal, Cold geht in die Richtung von Stalker und Cartoon ist extrem grell.
Um die Modi umzustellen müsst ihr folgendes machen:
Öffne die systemcfg.lua im Hauptverzeichnis der Demo mit einem Texteditor
Suche den Eintrag r_rendermode = "0"
Ersetze die 0 durch eine der oben genannten Zahlen für den jeweiligen Modus
Speichere die Datei ab
Die verschiedenen Rendermodi funktionieren nur unter Direct3D!
Außerdem gibt es Probleme mit dem Rendermodus Cold. Es gibt einen kleinen Trick wie er trotzdem funktioniert:
Starte Farcry und öffne die Konsole (Taste unter ESC)
Drücke einmal die Tabulator taste und gib dann ein "r_rendermode 2" so das folgendes dortsteht "r_rendermode 2"
Drücke Return/Enter damit der Befehl angenommen wird
Lade ein Savegame (Von neu anfangen mit dem Rendermodi 2 funktioniert nicht)
Bevor du Farcry verlässt wechsel den Rendermodi wieder auf normal "r_rendermode 0"
Die Rendermodi 1, 2 und 3 sind noch nicht final und werden noch von Crytek verbessert.

Durch das umstellen der Rendermodi werden die Farben anders dargestellt. Normal ist die Standardeinstellung. Paradise ist noch etwas Farbenfroher als Normal, Cold geht in die Richtung von Stalker und Cartoon ist extrem grell.
Um die Modi umzustellen müsst ihr folgendes machen:
Die verschiedenen Rendermodi funktionieren nur unter Direct3D!
Außerdem gibt es Probleme mit dem Rendermodus Cold. Es gibt einen kleinen Trick wie er trotzdem funktioniert:
Die Rendermodi 1, 2 und 3 sind noch nicht final und werden noch von Crytek verbessert.

Die nachfolgenden Shader Befehle sind allesamt noch im Betastadium. Da es mit den meisten Shader Befehlen zum Teil sehr schwere Grafikfehler gibt, werden nur die stabilsten Shader Befehle gepostet. Eine Erläuterung der einzelnen Befehle steht weiter unten. Die entsprechende Anleitung zum editieren der jeweiligen Dateien ist vorstehend im Abschnitt "Modding" zu finden.
1. Water=TerrainWater_PS20 (PixelShader 2.0 fähige Grafikkarte nötig)
2. Water=TerrainWater
3. Water=Terrain_OnlySky (Standard)
4. Water=TerrainWater_OnlySky_NoTerrain
5. Water=TerrainWaterNoRefl
6. Water=TerrainWater_FP
7. Water=TerrainDeepWater
8. Water=LavaVolume
Auf dem ersten Blick sind es doch sehr viele Shader. Der erste Shader läuft nur mit Directx9 fähiger Hardware und ist Grafisch identisch zum zweiten Shader befehl. Durch den Einsatz der PS2.0 wird die Demo jedoch beschleunigt. Der große Nachteil bei dieser Lösung ist, dass die Demo zu jeder bisherigen Modifikation der Sichtweite instabil wird. Der zweite Shader wurde bereits vorstehend erklärt. Die nächsten 3 Befehle sollten selbsterklärend sein. TerrainWater_FP ist eine Low Quality Variante und wird in der Demo für jede dx7 Hardware genutzt. TerrainDeepWater stellt einen Ocean mit größeren Wellen dar. Zum Lavashader muss nichts mehr gesagt werden.
Zudem gibt es einen zweiten Shader der für die Darstellung die Sonneneinstrahlung zuständig ist. Um diesen zu editieren benötigt man wieder Directx9 Hardware. Er ist direkt neben dem Water=TerrainWater_OnlySky zu finden und heißt SunWaterRefl="BumpSunGlow". Diesen ändert ihr in SunWaterRefl="BumpSunGlow_PS20". Die Änderung beschert euch einwenig mehr Leistung und ist bisher auch absolut stabil in Verbindung mit einem Distanzmod
Es ist nicht zu empfehlen die Restlichen in der Datei befindlichen Shader jeweils mit dem Anhängsel _PS20 zu versehen, da diese nicht dafür vorbereitet sind.
Die Demo nutzt standardmäßig keine Dircetx9 spezifischen Eigenschaften. Da die meisten dx9 Shader noch nicht implementiert oder voll funktionstüchtig sind. Somit ist auch zu erklären wieso sich im Menü (adv options) einige Optionen explizit nicht auf Very High stellen lassen.

Auf dem ersten Blick sind es doch sehr viele Shader. Der erste Shader läuft nur mit Directx9 fähiger Hardware und ist Grafisch identisch zum zweiten Shader befehl. Durch den Einsatz der PS2.0 wird die Demo jedoch beschleunigt. Der große Nachteil bei dieser Lösung ist, dass die Demo zu jeder bisherigen Modifikation der Sichtweite instabil wird. Der zweite Shader wurde bereits vorstehend erklärt. Die nächsten 3 Befehle sollten selbsterklärend sein. TerrainWater_FP ist eine Low Quality Variante und wird in der Demo für jede dx7 Hardware genutzt. TerrainDeepWater stellt einen Ocean mit größeren Wellen dar. Zum Lavashader muss nichts mehr gesagt werden.
Zudem gibt es einen zweiten Shader der für die Darstellung die Sonneneinstrahlung zuständig ist. Um diesen zu editieren benötigt man wieder Directx9 Hardware. Er ist direkt neben dem Water=TerrainWater_OnlySky zu finden und heißt SunWaterRefl="BumpSunGlow". Diesen ändert ihr in SunWaterRefl="BumpSunGlow_PS20". Die Änderung beschert euch einwenig mehr Leistung und ist bisher auch absolut stabil in Verbindung mit einem Distanzmod
Es ist nicht zu empfehlen die Restlichen in der Datei befindlichen Shader jeweils mit dem Anhängsel _PS20 zu versehen, da diese nicht dafür vorbereitet sind.
Die Demo nutzt standardmäßig keine Dircetx9 spezifischen Eigenschaften. Da die meisten dx9 Shader noch nicht implementiert oder voll funktionstüchtig sind. Somit ist auch zu erklären wieso sich im Menü (adv options) einige Optionen explizit nicht auf Very High stellen lassen.





