¿Qué es el "desarrollo de herramientas"?

18

He estado buscando diferentes trabajos en la industria de los juegos y muchos de los trabajos que he visto anunciados son para un puesto de "Desarrollador de herramientas". No sé qué es esto realmente.

¿Podría alguien explicarme qué es esto, por favor? Y si alguien tiene algún enlace a material que me ayude a entenderlo más, eso sería muy apreciado.

Elliott
fuente

Respuestas:

22

Una posición de programación de herramientas generalmente se trata de ser un multiplicador de fuerza para el resto del equipo de desarrollo. La naturaleza exacta del trabajo, por supuesto, variará ampliamente de un estudio a otro, dependiendo de las necesidades individualizadas de esa empresa.

Sin embargo, principalmente, se le encargaría la creación de software que otros desarrolladores del estudio consumirían, y la función de ese software podría ser:

  • crear activos o contenido (niveles, modelos, elementos, hechizos, lo que sea) para el juego directamente
  • actuar como un puente entre el juego de su estudio o la canalización de compilación y otras herramientas de creación de contenido (por ejemplo, exportadores para Maya).
  • ser parte de procesos de compilación automatizados que transforman los recursos del juego fuente en sus formularios finales compilados para su distribución con el juego minorista
  • Asistir a los desarrolladores en tareas cotidianas, como la sincronización con versiones particulares del juego o la transición entre ramas.

También es importante tener en cuenta que en algunos estudios esto se considera una posición de nivel de entrada extremadamente alta, porque termina involucrando un trabajo gruñón irreflexivo (tal vez mover botones en una interfaz de usuario para un diseñador). En otros, es exactamente lo contrario, porque implica el cuidado y la alimentación de tuberías de construcción y despliegue de misión crítica para MMO de envío en vivo.

El rango de responsabilidad y expectativas es amplio (aunque en realidad, esto es cierto para casi cualquier posición en la industria), pero el objetivo general suele ser el mismo: estar atento a cualquier cuello de botella en la organización, y luego comprar, construir o volver a entrenar hasta que haya optimizado ese cuello de botella.


fuente
17

En resumen: Desarrolle programas utilizados por otros para crear algo (es decir, herramientas).

Un ejemplo popular y fácil sería un editor de niveles para un juego.

Pero esto podría ser mucho más detrás de escena, como un programa de seguimiento de versiones, un rastreador de errores, foros, algún verificador para verificar que el contenido no tenga errores, etc.

Mario
fuente
6

Un programador de herramientas es un rol especializado, uno que se está volviendo esencial para la producción. Esencialmente, eres alguien que mira la tubería utilizada para crear un juego y encuentra formas de optimizar el proceso.

Como programador de herramientas para varios juegos de triple A, he hecho:

  • Cree nuevos editores, por ejemplo, nivel, gráfico y sonido, para que los diseñadores los usen.
  • Amplíe, corrija errores o agregue funciones a los editores existentes, por ejemplo, en Unreal 3 y 4.
  • Escribir scripts y complementos para paquetes de Creación de contenido digital (DCC) como Maya y Photoshop, por ejemplo, importación / exportación de animación, gestión de contenido, etc.
  • Integración de control de fuente (Perforce) en herramientas.
  • Modificación de herramientas de código abierto para encajar en una tubería.
  • Verificación de contenido.
  • Dominar el juego final para consolas.
  • Sistema de construcción e integración continua.
  • Herramientas de localización de importación y exportación.
  • Ocasionalmente, escriba nuevas características del motor y herramientas de soporte.
  • Bases de datos gestionadas con miles de millones de registros, por ejemplo, datos de rendimiento.
  • Computación en la nube / aplicaciones para servidores de fondo (AWS)
  • ... etc.

En algunos estudios, por ejemplo, independientes, se espera que cada programador pueda escribir herramientas para ayudar a la producción del juego.

A continuación hay algunos enlaces al IGDA Tools SIG y al blog Toolsmiths (International Game Developers - Tools Special Interest Group).

Dennis
fuente
1

Escenario 1: Flash y AS3

A veces necesitas crear ciertas funcionalidades que te ayudarán más en la producción de tu juego. Por 'herramienta' significa algo que puede ayudar a acelerar su proceso de desarrollo.

Por ejemplo, Flash básicamente no proporciona una detección perfecta de colisión de píxeles. Por lo tanto, puede escribir uno usted mismo o buscar en Google si algún tipo lo ha hecho antes y ponerlo como código de código abierto. Una colección de códigos fuente en carpetas debidamente organizadas le beneficiará a largo plazo. Algo así como tu propia biblioteca.

Escenario 2 Unidad

Del mismo modo, puede usar unityscript (versión unitaria de javascript) o c # para escribir componentes, pequeñas herramientas pequeñas, por ejemplo, B Splines, curvas Bezier. Cosas que no vienen por defecto en la unidad. O bien, escriba uno usted mismo u obtenga uno en Internet. Vienen en versiones gratuitas / de pago.

Vishnu
fuente
1
En mi experiencia, un 'desarrollador de herramientas' es contratado principalmente para los estudios AAA, lo que no mencionó en absoluto en sus 'escenarios'.
Stephan van den Heuvel