Dieser Thread widmet sich noch unausgeführter Theorie und existierender Praxis des DayZ Moddings.
Dieser Faden soll als Ideenkiste und WIP Thread dienen, in Kombination mit Informationen in Enforce Script
Wenn hier CAD Renderings gezeigt werden, dann bitte mit KnowHow und Erklärung, damit ein Mehrwert entsteht.
Eure konstruktiven Kommentare entscheiden, was ihr auf den Servern als nächstes sehen werdet.
Gleichzeitig suchen wir auch immer Verstärkung für unser Modding Team.
Aufgabenbereiche sind:
- PHP & MySql
- CAD "Modeling"
- Audio Design
- Texture Design
- Scripting
Durchhaltevermögen ist wichtiger als die Erfahrung, aber eine gewisse Grundkenntnis wäre von Vorteil.
Wenn auf Virtuosen gestoßen wird, kann ich auch mal den einen oder anderen bezahlten Auftrag vermitteln.
Tipps zum Enforce Script:
config.cpp Tipps:
repairableWithKits:
WeaponCleaningKit 1
Sewing Kit 2
LeatherSewingKit 3
Whetstone 4
DuctTape 5
TireRepairKit 6
ElectronicRepairKit 7
Epoxy 8
Plug Types:
PLUG_UNDEFINED = 0;
PLUG_BATTERY_SLOT = 1;
PLUG_COMMON_APPLIANCE = 2;
PLUG_CROCODILE_PINS = 3;
PLUG_CROCODILE_PINS_CHARGER = 4;
PLUG_PAS_DEVICE = 5;
PLUG_BARBED_WIRE = 6;
PLUG_GAS_CAN_SLOT = 7;
PLUG_VEHICLE_BATTERY_PINS = 8;
Allgemeine Tipps:
Wenn das Modell falsch in der Hand falsch rotiert ist:
- Im OB Geometry LOD auswählen: Window -> named properties
- In der Geometry LOD eine neue named Property erstellen mit den Eigenschaften:
name: autocenter
value: 0
Wenn das Modell nur falsch rotiert im Inventory dargestellt wird:
- Im OB Geometry LOD auswählen: Window -> named properties
- In der Geometry LOD eine neue named Property erstellen mit den Eigenschaften:
name: invviewcameraroll
value: 90 (Rotationswinkel 0-360 Grad)
Meine aktuellen Object Builder Einstellungen (File => Options) muss beim ersten mal eingestellt werden
Welche Software:
- 3ds Max ( 3d Modelling, unglaublich teuer Alternativ: Blender )
- Substance Painter ( 3d Modelle Texturieren, über Steam billiger)
- Audacity ( Audio, Freeware )
- Notepad++ ( Skript Editor, Freeware )
- DayZ Tools (Steam, Converter, Compiler, Unpacker... kommt mit DayZ)
(Es gibt zu allen Programmen mindestens eine Alternative)
Weitere Software:
3D Modeling:
Blender is a free, open source 3D graphics application that can be used for modeling,
UV unwrapping, texturing, rigging, water and smoke simulations, skinning, animating,
rendering, particle and other simulations, non-linear editing, compositing, and creating
interactive 3D applications, including video games, animated film, or visual effects.
http://www.blender.org/ (Linux, Mac, Windows)
3D Humanoids.
MakeHuman is an Open Source software application that generates 3D humanoids.
Features that make this software unique include a new, highly intuitive GUI and a high
quality mesh, optimized to work in subdivision surface mode (for example, Zbrush).
http://www.makehuman.org/ (Linux, Mac, Windows)
Image Editing:
GIMP (short for the GNU Image Manipulation Program) is a free software raster graphics
editor. It is primarily employed as an image retouching and editing tool.
http://www.gimp.org/ (Linux, Mac, Windows)
2D Vector Graphics Editor:
An Open Source vector graphics editor, with capabilities similar to Illustrator, CorelDraw,
or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format.
Inkscape supports many advanced SVG features (markers, clones, alpha blending,
etc.) and great care is taken in designing a streamlined interface. It is very easy to edit
nodes, perform complex path operations, trace bitmaps and much more. We also aim to
maintain a thriving user and developer community by using open, community-oriented
development.
http://inkscape.org/ (Linux, Mac, Windows)
Audio Production Studio:
Linux MultiMedia Studio or LMMS, is a free software digital audio workstation. Music can
be produced by synthesizing sounds, arranging samples, and playing on a MIDI
keyboard by combining the features of trackers, sequencers and synthesizers. It
supports LADSPA and VST plugins.
http://lmms.sourceforge.net/ (Linux, Mac?, Windows)
Audio Editing:
Audacity is a free software, cross-platform digital audio editor and recording
application. It is available for Windows, Mac OS X, Linux and BSD.
http://audacity.sourceforge.net/ (Linux, Mac, Windows)
Media Pre-Production:
Celtx is free media pre-production software designed for creating and organizing media
projects like screenplays, films, videos, stageplays, audio plays, documentaries,
machinima, comics, games and podcasts.
http://www.celtx.com/ (Linux, Mac, Windows)
Wo man anfängt:
- Wenn DayZ in Steam installiert ist, ladet man zuerst die DayZ Tools runter. Diese findet man, wenn man in der Steam Bibliothek sich auch die "Werkzeuge" anzeigen lässt.
- Wenn man die DayZ Tools gestartet hat, muss man zuerst ein "P:" Laufwerk mounten, ACHTUNG: Hast du bereits ein Laufwerk mit der Bezeichnung P:\, so muss dieses Umbenannt werden, sonst kannst du nicht vollständig modden. Im Reiter: "Tools=>Mount P drive"
DayZ moutet ein virtuelles Laufwerk, sprich die Dateien werden trozdem auf deiner Hauptfestplatte liegen. Sorge für ausreichend Speicherplatz. Alle Gamefiles werden dann über den Reiter: "Tools=>Extract game data" extrahiert.
Wenn dann eine Mod erstellt werden soll, einfach im P:\ Hauptverzeichnis einen Ordner erstellen z.B: "MeineSuperMod",
jetzt existiert P:\MeineSuperMod. Und weiter gehts bei den nützlichen Links "Allgemeine Struktur einer MOD".
Viele andere Mods anschauen. Der Offline Mode bietet dazu die Möglichkeit. Man braucht ein Gefühl was geht, was besonders ist und was eine Standardmodifikation ist. Manche Mods sind unverschlüsselt. Diese kann man ebenfalls zum Lernen, wie eine Mod Struktur aussieht, hinzuziehen.
Schaut euch den Link Workbench batch Tools, all in one luxus edition an, bevor ihr loslegt, oder wenn ihr schon lange modded. Wird alles beherzigt, spart ihr enorm viel Kummer, enorm viel. Es erlaubt euch praktischerweise ohne das Spiel neu starten zu müssen neuen Code/ Menüs/ Bildassets zu testen, das ist schon enorm viel und spart sehr, sehr viel Zeit. Ach ja, das ganze nicht Offline sondern in einer Server/Client Umgebung. Und alles mit Hotkeys und Batch Autoroutinen zum kopieren. Das ist das neue Herz des DayZ moddings.
Nützliche Links:
Coding:
- Allgemeine Struktur einer MOD
- Enforce Script Syntax
- Erklärung von: scope = 0; 1; 2 (Arma Quelle)
- Wie Masken, Clutter und CfGSurfaces funktionieren
- Compile Skript, damit gleichzeitig Server & Client ein Modcompile haben
- DayZ Skript Github Repo
- DayZ Skript Lystic (etwas veraltet, aber grundlegend nützlich)
- DayZ DoxyGen thurston
Mediengestaltung:
- RVMAT Basics
- Multi Material RVMAT - Erweitertes Texturieren
- Emissive Maps (nachts leuchtende Texturen)
- Offizielles FBX, 3dsMax Character Rig
- Offizielle Mod Beispiele (Haus mit Türen, Ofen, Leiter...)
- Einführung in 3dsMax (erstellen von 3d Modellen)
- 3ds Max, wie man ein einfaches Haus modelliert
- 3ds Max wie man UV Maps erstellt (Damit Texturen angezeigt werden können)
- DayZ Object Builder - Wie man Models in der Engine bereitstellt
- Einführung in Audacity (Audiobearbeitung, OpenSource)
- Wie man Kleider retexturiert
- Image Sets in DayZ (sprites, icons, decals)
- DXT - Das Standard Texturformat für DayZ
- Weiterführende DXT Optimierung
Mapping:
- Grundkurs Mapping
- Mapframe Eigenschaften
Tools:
- Mikeros Tools (die besseren Compile Tools für Mods)
- Workbench fürs Debugging Einrichten
- Workbench batch Tools, all in one luxus edition
- Satmap Maker (Fürs Mapping)
- Engine/Torque Rechner (wenn man ein Fahrzeug macht)
- Online Bildeditor
- Central Economy Editor
- Community Beispiele für Mods
- Descript (Voice als Text bearbeiten)
Erkenntnisse:
- Bohemia hat für die Entwicklung 3dsMax verwendet. Bohemia Beispiele enthalten oft .MAX Projektdateien.
- Object Builder ist für das Einlesen von 3dsMax FBX optimiert. So kann man beinahe alles importieren, LOD Stufen, Selections, und wenn man einen TGA Texturworkflow hat, sogar Texturen und Materialien! (Die Mikeros Tools dann automatisch in gamefiles konvertiert )
- Persistence auf dem Server ist sortiert: _000.BIN - _011.BIN teilen die map von links nach rechts in 12 Stücke. (Cool)
hier ist eine Karte dazu.
- DayZ besteht aktuell aus folgenden Engines:
1. RV engine (altes Erbe)
2. Enfusion
3. Enforce (Zukunft)
- Es können maximal (etwa) 16 Lichtquellen zur gleichen Zeit gesehen werden. Jede weitere Lichtquelle verursacht extremes Flimmern des Bildes.
D. h es kann schon hunderte Lichtquellen geben, nur ab >16 ist Disko angesagt(laut BI sind es 32 evtl irgendwo server/client dupecode). (HLSL Implementierungsfehler, evtl Grundlegendes Konzeptproblem in Enforce)
Folgende C++ Libraries nutzt DayZ intern:
- Havok Physik Engine
- NVIDIA GameWorks
- Ogg Vorbis
- libcurl
- OpenSSL
- rapidjson
- Speex
- hashlib++
- Bullet Physics Library (https://pybullet.org/wordpress/)
- zLib
- Recast & Detour
- AGS
- Data compression by oberhumer.com
- SSL Zeug von https://www.digicert.com/ (erstellt Verbindung zu: http://sv.symcb.com)
- Steam API
- Treasuredata https://www.treasuredata.com/
- Qt Widgets https://doc.qt.io/qt-5/qtwidgets-index.html (Wenigstens im Workbench)