Qu'est-ce que le «développement d'outils»?

18

J'ai cherché différents emplois dans l'industrie des jeux et beaucoup des emplois que j'ai vus annoncés sont pour un poste de "développeur d'outils". Je ne sais pas ce que c'est réellement.

Quelqu'un pourrait-il m'expliquer ce que c'est, s'il vous plaît? Et si quelqu'un a des liens vers des documents qui pourraient m'aider à mieux le comprendre, ce serait très apprécié.

Elliott
la source

Réponses:

22

Un poste de programmation d'outils consiste généralement à multiplier les forces pour le reste de l'équipe de développement. La nature exacte du travail variera bien sûr considérablement d'un studio à l'autre, en fonction des besoins individualisés de cette entreprise.

Cependant, vous seriez principalement chargé de créer un logiciel qui allait être utilisé par d'autres développeurs au sein du studio, et le rôle de ce logiciel pourrait être de:

  • créer des ressources ou du contenu (niveaux, modèles, objets, sorts, etc.) pour le jeu directement
  • agir comme un pont entre le jeu ou le pipeline de construction de votre studio et un autre outil de création de contenu (par exemple, les exportateurs de Maya).
  • faire partie de processus de construction automatisés qui transforment les ressources du jeu source en leurs formes finales compilées pour la distribution avec le jeu au détail
  • assister les développeurs dans les tâches quotidiennes standard, telles que la synchronisation avec des versions particulières du jeu ou la transition entre les branches

Il est également important de noter que dans certains studios, cela est considéré comme une position extrêmement d'entrée de gamme, car cela finit par impliquer un travail de grognement principalement irréfléchi (déplacer les boutons sur une interface utilisateur pour un concepteur, peut-être). Dans d'autres, c'est exactement le contraire, car cela implique le soin et l'alimentation des pipelines de construction et de déploiement critiques pour les MMO d'expédition en direct.

L'éventail des responsabilités et des attentes est large (bien que cela soit vrai pour presque tous les postes dans l'industrie), mais l'objectif global est généralement le même: rester à l'affût des goulots d'étranglement dans l'organisation, puis acheter, construire ou recycler jusqu'à ce que vous ayez optimisé ce goulot d'étranglement.


la source
17

En bref: Développer des programmes utilisés par d'autres pour créer quelque chose (c'est-à-dire des outils).

Un exemple populaire et facile serait un éditeur de niveau pour un jeu.

Mais cela pourrait être beaucoup plus dans les coulisses, comme un programme de suivi de version, un suivi des bogues, des forums, un vérificateur pour vérifier que le contenu est sans erreur, etc.

Mario
la source
6

Un programmeur d'outils est un rôle spécialisé, qui devient essentiel à la production. Vous êtes essentiellement quelqu'un qui examine le pipeline utilisé pour créer un jeu et trouve des moyens d'optimiser le processus.

En tant que programmeur d'outils pour plusieurs jeux triple-A, j'ai fait:

  • Créez de nouveaux éditeurs, par exemple le niveau, le graphique et le son, pour les concepteurs.
  • Étendez, corrigez des bogues ou ajoutez des fonctionnalités aux éditeurs existants, par exemple dans Unreal 3 et 4.
  • Écriture de scripts et de plug-ins pour les packages de création de contenu numérique (DCC) comme Maya et Photoshop, par exemple importation / exportation d'animation, gestion de contenu, etc.
  • Intégration du contrôle de code source (Perforce) dans les outils.
  • Modification des outils open source pour s'adapter à un pipeline.
  • Vérification du contenu.
  • Maîtriser le jeu final pour consoles.
  • Système de construction et intégration continue.
  • Outils d'importation et d'exportation de localisation.
  • Écrire occasionnellement de nouvelles fonctionnalités du moteur et des outils de support.
  • Bases de données gérées avec des milliards d'enregistrements, par exemple des données de performance.
  • Cloud computing / applications pour serveurs principaux (AWS)
  • ... etc

Dans certains studios, par exemple indépendants, il est prévu que chaque programmeur puisse écrire des outils pour aider à la production du jeu.

Vous trouverez ci-dessous quelques liens vers l'IGDA Tools SIG et le blog Toolsmiths (International Game Developers - Tools Special Interest Group).

Dennis
la source
1

Scénario 1: Flash et AS3

Parfois, vous devez créer certaines fonctionnalités qui vous aideront davantage dans votre pipeline de production de jeux. Par «outil», cela signifie quelque chose qui peut aider à accélérer votre processus de développement.

Par exemple, Flash ne fournit fondamentalement pas une détection de collision de pixels parfaite. Vous pouvez donc en écrire un vous-même ou essayer de rechercher sur Google si un gars l'a déjà fait et de le mettre en code open source. Une collection de codes source dans des dossiers correctement organisés vous permettra de bénéficier à long terme des dossiers. Quelque chose comme votre propre bibliothèque.

Scénario 2 Unité

De même, vous pouvez utiliser UnityScript (version Unitaire de javascript) ou c # pour écrire des composants, de petits petits outils, par exemple des Splines B, des courbes de Bézier. Les choses qui ne viennent pas par défaut dans l'unité. Vous pouvez en écrire un vous-même ou en obtenir un sur Internet. Ils viennent en versions gratuites / payantes.

Vishnu
la source
1
D'après mon expérience, un «développeur d'outils» est principalement engagé pour les studios AAA, que vous n'avez pas abordé du tout dans vos «scénarios».
Stephan van den Heuvel