Spieleentwicklungsprojekte mit Verwaltung großer Assets mittels Git LFS
Studierende und Lehrende profitieren von einer effizienten Versionskontrolle von Spieleentwicklungsprojekten, die große Assets wie Texturen und Modelle enthalten, unter Verwendung von Git LFS zur Verwaltung von Dateigrößen bei gleichzeitiger Aufrechterhaltung der vollständigen Integration in den Entwicklungs-Workflow.
Übersicht
Mehrwert: Studierende und Lehrende profitieren von einer effizienten Versionskontrolle von Spieleentwicklungsprojekten, die große Assets wie Texturen und Modelle enthalten, unter Verwendung von Git LFS zur Verwaltung von Dateigrößen bei gleichzeitiger Aufrechterhaltung der vollständigen Integration in den Entwicklungs-Workflow.
Problem: Verwendete GitLab-Funktionen: Git LFS für große Binärdateien; GitLab CI/CD für automatisiertes Erstellen und Testen; Meilensteine zur Planung von Phasen; Issues für Verfolgung und Kommunikation; geschützte Branches zur Verhinderung unbefugter Änderungen; GitLab Pages zur Präsentation von Projekten. Anforderungen der Unreal Engine: Git LFS ist aufgrund großer Assets (Texturen, 3D-Modelle) erforderlich. Projekte können über GitLab CI/CD erstellt und exportiert werden.
Lösung: Implementierung der Git LFS (Large File Storage)-Integration mit GitLab, um große Spiele-Assets effizient zu handhaben und gleichzeitig die Vorteile der Versionskontrolle zu nutzen. Automatisierte CI/CD erstellt Unreal Engine-Projekte und generiert bereitstellbare Artefakte.
Wer profitiert
Primär
-
Studierende
- Effiziente Versionierung großer Dateien
- Kollaborative Projektentwicklung
- Automatisierte Build-Prozesse
- Professionelle Entwicklungs-Workflows
-
Lehrende
- Einfache Projektüberwachung
- Standardisierte Entwicklungsumgebung
- Automatisierte Bewertungsmöglichkeiten
- Portfolio-Management
Sekundär
-
Systemadministrator*innen
- Optimierte Speichernutzung
- Skalierbare Infrastruktur
- Reduzierte Bandbreitenanforderungen
Wann geeignet
- Spieleentwicklungskurse
- Projekte mit großen binären Assets
- Kollaborative Visual Computing-Projekte
- 3D-Modellierungs- und Animationsprojekte
- Projekte, die automatisierte Builds erfordern
Wann nicht geeignet
- Einfache Code-only-Projekte
- Kleine Dateigrößen (unter 100 MB insgesamt)
- Einzelbenutzerprojekte ohne Zusammenarbeit
- Projekte ohne große Medien-Assets
Prozess
- Einrichten des GitLab-Repositories mit aktiviertem Git LFS
- Konfigurieren des LFS-Trackings für Asset-Dateitypen
- Studierende klonen das Repository und installieren LFS
- Entwickeln des Spiels/Visual Computing-Projekts mit großen Assets
- Committen von Änderungen, wobei LFS große Dateien automatisch behandelt
- CI/CD-Pipeline erstellt und testet das Projekt
- Generierte Artefakte werden zum Download/zur Präsentation gespeichert
Voraussetzungen
Personen
- Studierende
- Lehrende für Visual Computing
- GitLab-Administrator*in
- Technisches Support-Personal
Daten-Inputs
- 3D-Modelle
- Texturen und Bilder
- Audiodateien
- Animationsdateien
- Spielprojektdateien
Tools & Systeme
- GitLab mit Git LFS-Unterstützung
- Unreal Engine oder ähnlich
- GitLab CI/CD
- Hochleistungs-Runner
- Objektspeicher für LFS
Richtlinien & Compliance
- Speicherquotenrichtlinien
- Akademische Softwarelizenzierung
- Asset-Nutzungsrechte
- Datenaufbewahrungsrichtlinien
Risiken & Gegenmaßnahmen
-
Hohe Speicherkosten für LFS-Objekte
- Speicherquotenmanagement
- Asset-Optimierungsrichtlinien
- Regelmäßige Bereinigung alter Versionen
- Effizientes Speicher-Backend
-
Build-Fehler aufgrund fehlender großer Dateien
- LFS-Integritätsprüfung
- Automatisierte Abhängigkeitsüberprüfung
- Validierung der Build-Umgebung
-
Langsame Klon-/Downloadzeiten für Studierende
- Selektive LFS-Downloads
- Lokales LFS-Caching
- Optimierte Netzwerkkonfiguration
Erste Schritte
Um diesen Anwendungsfall zu implementieren, benötigen Sie GitLab mit LFS-Unterstützung, ein geeignetes Speicher-Backend und Build-Runner, die in der Lage sind, große Spieleentwicklungsprojekte zu verarbeiten.
- Konfigurieren der GitLab-Instanz mit Git LFS-Unterstützung und Speicher-Backend
- Einrichten des Projekt-Repositories mit LFS-Tracking für relevante Dateitypen
- Installieren und Konfigurieren der Build-Umgebung für die Game Engine
- Erstellen einer CI/CD-Pipeline für automatisiertes Erstellen und Testen
- Schulung der Studierenden in Git LFS-Workflows
FAQ
Wie viel Speicher wird typischerweise für Spieleentwicklungsprojekte benötigt?
Projekte können je nach Asset-Komplexität zwischen 1 und 10 GB groß sein. Planen Sie aufgrund der Versionshistorie die 2-3-fache Repository-Größe ein.
Können Studierende von mehreren Standorten aus an Projekten arbeiten?
Ja, Git LFS ermöglicht eine verteilte Entwicklung mit effizienter Synchronisierung großer Assets über verschiedene Standorte hinweg.
Was passiert, wenn die LFS-Speicherquote überschritten wird?
Push-Vorgänge werden blockiert, bis Speicherplatz freigegeben oder die Quote erhöht wird. Überwachen Sie die Nutzung und implementieren Sie Bereinigungsverfahren.
Glossar
- Git LFS
- Git Large File Storage - Erweiterung zur effizienten Versionierung großer Dateien in Git-Repositories
- Binäre Assets
- Nicht-Text-Dateien wie Bilder, Modelle und Audio, die nicht effizient verglichen (diff) oder zusammengeführt (merge) werden können
- Objektspeicher
- Skalierbares Speichersystem, das für die Speicherung großer Mengen unstrukturierter Daten optimiert ist
- Unreal Engine
- Beliebte Spieleentwicklungsplattform, die die Erstellung von 3D-Spielen und Visual Computing-Anwendungen unterstützt