Was ist "Werkzeugentwicklung"?

18

Ich habe mir verschiedene Jobs in der Spieleindustrie angesehen und viele der Jobs, die ich ausgeschrieben habe, sind für eine Position als "Tool Developer". Ich weiß nicht, was das eigentlich ist.

Könnte mir bitte jemand erklären, was das ist? Und wenn jemand Links zu Material hat, die mir helfen würden, es besser zu verstehen, wäre das sehr dankbar.

Elliott
quelle

Antworten:

22

Bei einer Position zum Programmieren von Werkzeugen geht es im Allgemeinen darum, für den Rest des Entwicklungsteams ein Force-Multiplikator zu sein. Die genaue Art der Arbeit ist natürlich von Studio zu Studio sehr unterschiedlich, je nach den individuellen Bedürfnissen des Unternehmens.

In erster Linie müssten Sie jedoch Software erstellen, die von anderen Entwicklern im Studio verwendet werden sollte. Die Aufgabe dieser Software könnte darin bestehen,

  • Assets oder Inhalte (Levels, Modelle, Gegenstände, Zaubersprüche usw.) für das Spiel direkt erstellen
  • fungieren Sie als Brücke zwischen dem Spiel oder der Build-Pipeline Ihres Studios und anderen Tools zur Erstellung von Inhalten (z. B. Exporteure für Maya).
  • Nehmen Sie an automatisierten Erstellungsprozessen teil, die die Quellenspiel-Assets in ihre endgültigen kompilierten Formen für die Verteilung mit dem Einzelhandelsspiel umwandeln
  • Unterstützung der Entwickler bei alltäglichen Boilerplate-Aufgaben, z. B. beim Synchronisieren mit bestimmten Builds des Spiels oder beim Wechseln zwischen Zweigen

Es ist auch wichtig anzumerken, dass dies in einigen Studios als eine extrem einsteigende Position angesehen wird, da es sich meistens um gedankenlose Grunzarbeit handelt (Tasten auf einer Benutzeroberfläche für einen Designer bewegen, vielleicht). In anderen Fällen ist es genau umgekehrt, da für MMOs im Live-Versand unternehmenskritische Build- und Deployment-Pipelines gepflegt und gespeist werden müssen.

Die Bandbreite an Verantwortlichkeiten und Erwartungen ist groß (obwohl dies in der Tat für nahezu jede Position in der Branche gilt), aber das allgemeine Ziel ist in der Regel dasselbe: Halten Sie Ausschau nach eventuellen Engpässen in der Organisation und kaufen, bauen oder verkaufen Sie diese trainieren Sie erneut, bis Sie diesen Engpass optimiert haben.


quelle
17

Kurz gesagt: Entwickeln Sie Programme, mit denen andere etwas erstellen (z. B. Werkzeuge).

Ein beliebtes und einfaches Beispiel wäre ein Level-Editor für ein Spiel.

Aber dies könnte viel mehr im Hintergrund sein, wie ein Versionsverfolgungsprogramm, ein Bug-Tracker, Foren, ein Prüfer, um zu überprüfen, ob der Inhalt fehlerfrei ist, usw.

Mario
quelle
6

Ein Werkzeugprogrammierer ist eine spezialisierte Rolle, die für die Produktion immer wichtiger wird. Sie sind im Wesentlichen jemand, der sich die Pipeline ansieht, mit der ein Spiel erstellt wurde, und nach Möglichkeiten sucht, den Prozess zu optimieren.

Als Werkzeugprogrammierer für mehrere Triple-A-Spiele habe ich Folgendes getan:

  • Erstellen Sie neue Editoren, z. B. Pegel, Grafik und Sound, die Designer verwenden können.
  • Erweitern, Beheben von Fehlern oder Hinzufügen von Funktionen zu vorhandenen Editoren, z. B. in Unreal 3 und 4.
  • Schreiben von Skripten und Plug-Ins für DCC-Pakete (Digital Content Creation) wie Maya und Photoshop, z. B. Import / Export von Animationen, Inhaltsverwaltung usw.
  • Integration der Quellcodeverwaltung (Perforce) in Tools.
  • Open Source-Tools so ändern, dass sie in eine Pipeline passen.
  • Inhaltsüberprüfung.
  • Meistere das letzte Spiel für Konsolen.
  • System aufbauen und durchgängig integrieren.
  • Import- und Exporttools für die Lokalisierung.
  • Schreiben Sie gelegentlich neue Motorfunktionen und unterstützende Tools.
  • Verwaltete Datenbanken mit Milliarden von Datensätzen, z. B. Leistungsdaten.
  • Cloud Computing / Anwendungen für Back-End-Server (AWS)
  • ... etc

In einigen Studios, zB Independent, wird erwartet, dass jeder Programmierer Tools schreiben kann, um die Produktion des Spiels zu unterstützen.

Nachstehend finden Sie einige Links zum IGDA Tools SIG und zum Toolsmiths-Blog (International Game Developers - Tools Special Interest Group).

Dennis
quelle
1

Szenario 1: Flash und AS3

Manchmal müssen Sie bestimmte Funktionen erstellen, die Ihnen in Ihrer Spielproduktions-Pipeline mehr helfen. Mit "Werkzeug" ist etwas gemeint, das Ihren Entwicklungsprozess beschleunigen kann.

Zum Beispiel bietet Flash im Grunde keine perfekte Erkennung von Pixelkollisionen. Sie können also entweder selbst eines schreiben oder versuchen zu googeln, ob es jemand früher getan hat, und es als OpenSource-Code veröffentlichen. Eine Sammlung von Quellcodes in richtig angeordneten Ordnern wird Ihnen langfristig zugute kommen. So etwas wie deine eigene Bibliothek.

Szenario 2 Einheit

Ebenso können Sie Unityscript (Unity-Version von Javascript) oder C # verwenden, um Komponenten zu schreiben, kleine kleine Werkzeuge, zum Beispiel B-Splines, Bezier-Kurven. Dinge, die in der Einheit nicht standardmäßig vorkommen. Schreiben Sie selbst oder holen Sie sich eine im Internet. Sie kommen in kostenlose / kostenpflichtige Versionen.

Vishnu
quelle
1
Nach meiner Erfahrung wird ein "Tool-Entwickler" hauptsächlich für AAA-Studios eingestellt, die Sie in Ihren "Szenarien" überhaupt nicht angesprochen haben.
Stephan van den Heuvel