En el último festival IT de Tech Train, conocimos al legendario John Romero, quien diseñó y desarrolló el icónico Wolfenstein 3D, Doom y Quake. Hablamos sobre si los desarrolladores de juegos necesitan habilidades blandas, qué herramientas de trabajo a las que prestar atención y qué cofundador de los juguetes favoritos de Id Software son. Nikita Tsaplin, la fundadora de RUVDS, hizo preguntas.
→ Texto y video en
ruso
Nikita Tsaplin, fundadora de RUVDSDe una de sus entrevistas que dijo en 2001 cuando leyó su código hecho en 1991, le resulta muy difícil de usar. Y luego, después de un período en el que vuelve a su código hecho en 2001, lo encuentra "no está mal". ¿Cómo se elimina la calidad del código?
Jonh Romero - diseñador de juegos y niveles, programador, creador de juegos en "Romero Games", cofundador de "Id Software"El código fue escrito como la mitad en un lenguaje ensamblador en 1991. Y recién comencé a programar en C, así que era una programación completamente nueva en C. Así que volví a eso después de pasar 10 años más programando en C ... Aah. Es horrible
¿Y qué parámetros de eliminación cambian con el tiempo y cuáles no?
Bueno, como todo el entorno en el que se ejecutó el código fue completamente diferente. Entonces, el código en 1991 se ejecutó en DOS, y el código en 2001 se estaba ejecutando en Windows.
¿Entonces fue un tiempo en una nueva plataforma, creo?
Nueva plataforma, sí.
¿Puede dividir los criterios principales que debe tener en su columna cuando revisa su propio código?
¿Es fácil de entender? Eso es realmente importante ¿Tiene algunos comentarios? No deberías comentar demasiado porque eso es aburrido. Pero tiene suficientes comentarios para las secciones difíciles, y es la estructura, ya sabes, la estructura tiene sentido y es fácil de agregar.
Uh ... ¿Qué habilidades debe tener un desarrollador para triunfar en la industria de los videojuegos?
Tienes que querer realmente hacer juegos. Porque es difícil terminar un juego. Y esto es ...
Es fácil comenzar e imposible terminar.
... Es difícil de terminar. Y también son muchas horas. No importa qué parte de los juegos estés haciendo, serán muchas más horas de las que jamás hayas pensado. Por lo tanto, debe estar preparado para concentrarse durante mucho tiempo.
He oído que los desarrolladores deberían tener más habilidades blandas que antes. ¿Es verdad?
Bueno, sí, porque ahora hay mucha gente en los equipos. Y cuando estás en equipos tienes que ser amable con otras personas
Comunicar ...
Si ...
¿Tienes algo de peso profesional?
Tienes que acostumbrarte a comunicarte. Y los programadores no quieren comunicarse. Solo quieren codificar. Entonces, es importante, ya sabes, limitar tu ... Limitar el tiempo que llevas a la gente lejos del código a, ya sabes, cortos períodos de tiempo para la comunicación, pero, como, ¿por qué no Slack? Lo sabes Comunicarse a través de Slack. Es rapido. Es más rápido que quitarse los auriculares y levantarse y hablar con alguien y regresar y todo eso. Entonces lo hacemos todo el tiempo.
Si La gente quiere espacio y se comunica solo a través de mensajeros.
Si Si tienen auriculares.
¿Y qué habilidades blandas crees que son más importantes ahora?
Creo que las comunicaciones son más importantes que cualquier otra cosa. Siempre ha sido. Si otras personas no saben lo que estás haciendo, o no sabes lo que hacen otras personas, puedes gastar ... Perder un montón de tiempo y dinero, porque acabas de hacer lo incorrecto. Por lo tanto, las comunicaciones son más importantes que cualquier otra cosa que puedas hacer. Todos necesitan saber qué se supone que deben hacer y cómo se supone que deben hacerlo. Entonces, incluso cuando va a programar algo de la forma en que va a escribir, es bueno comunicarse. No solo "Sí, haré eso". Lo sabes Debería ser como ...
¡Nos vemos por semana!
Si Nada de eso Debería ser "Voy a hacer eso y lo haré así. ¿Suena bien?
Por lo tanto, la comunicación en cada etapa del desarrollo es la principal.
Si

Hace unos meses hablé con Richard Gray en Moscú. Y dice que una de las mejores estrategias para que los desarrolladores entren en el desarrollo de juegos es mostrar algo hecho por ustedes mismos. Pero, por otro lado, dijiste que incluso hacer niveles condenados en Sigil es un verdadero desafío técnico hoy en día. ¿No crees que los instrumentos de hoy son demasiado complicados para hacer algo solo para cartera? ¿Dónde hay un equilibrio perfecto aquí?
Bueno, en los motores de hoy en día lleva mucho tiempo alcanzar un nivel.
Si
Entonces no es tan fácil como solía ser. Ahora es ... Ahora solo lleva mucho tiempo. Hay tantas personas involucradas en hacer un nivel hoy en día. Tienes personas que ... Tienes artistas que solo iluminan los niveles. Y tienes diseñadores de juegos bloqueándolos. Tienes artistas haciendo arte. Los tienes haciendo aderezo para hacerlos realmente buenos. Debo asegurarme de que los sombreadores sean correctos.
Creo que ahora es imposible nivelar solo una cartera, si eso es lo que tienes que hacer.
Bueno, puedes, pero lleva mucho tiempo. Como si hubiera un ... Hay un gran ejemplo en YouTube. Si estás usando Unreal (Primred UnrealEngine) y quieres aprender cuál es la tubería para crear solo un nivel y quieres hacerlo tú mismo, hay un tutorial ... Un chico (¿Precio?) ... Creo que son 30 minutos tutorial y muestra cómo hizo un pasillo en 10 horas. Y lo hizo ...
Diez horas ... ¿no es nada?
Y se graba en 30 minutos, se graba a una velocidad súper alta para que pueda ver todo lo que está haciendo en un pasillo. Diez horas Ahora ... Los juegos llevan mucho tiempo.
¿Y cuál crees que es la mejor estrategia para que el desarrollador entre en gamedev?
La mejor estrategia es aprender todo lo que puedas en casa. Ya sabes, puedes ir a la escuela y aprender cosas, lo cual es genial, te dará credibilidad, obtendrás un diploma y todo eso. Pero aprenderás mucho más haciendo tus cosas en casa. Vas más rápido, aprendes exactamente lo que quieres aprender.
Sabes, algunas personas dicen que los programadores que usan frameworks no tienen ni idea de qué, cómo ... ¿Cómo funciona dentro? ¿Realmente importa hoy? Para entender lo que hay dentro? O marcos está bien?
Si lo hace. Es útil Digamos que el programador junior conocerá los marcos. Los programadores expertos sabrán cómo construir marcos. Lo que significa que saben ... Saben cómo construir marcos, lo saben todo hasta el fondo, ¿verdad? Y eso es muy útil porque puedes usar un marco de una manera muy ineficiente, sin saber cómo se ejecuta realmente debajo y hace que ejecutar algo sea muy lento.
Cuestión de flexibilidad. Puede combinar marcos, si comprende ...
Necesitas unir las cosas para que funcionen, pero eso no significa que lo va a realizar. Eso no significa que entiendas lo que sucede debajo del capó. Especialmente si estás hablando de bases de datos, puedes escribir datos ... Puedes escribir código para bases de datos que es horrible. Y crees que está bien porque sabes "Estos son los comandos" pero como si no supieras cómo funciona InnoDB y cómo funciona bajo el capó ...
Podría ser ...
- olvídalo. Necesitas contratar. Sí, necesitas un consultor ...
Para resolverlo
... para entrar y arreglar todo.
Otra cosa en Agile ... En libros y artículos, gamedev está lleno de romanticismo e imprevisibilidad. Esto es exactamente lo que necesitamos para Agile. Ágil y quizás algunos otros enfoques.
Solo ágil.
¿Solo ágil?
Si Pero no estrictamente ágil, no scrum ágil. Tenemos hitos en momentos específicos y, ya sabes, tenemos todo listo. Es un buen largo período de tiempo. Es como tres veces de lo que Agile es, como seis semanas en lugar de dos. Así que es un buen período de tiempo, en el que hacemos mucho. ¿Y tal vez también es un poco de estilo Kanban? Porque no todo tiene que hacerse en seis semanas, porque todavía hay cosas en proceso. Así que eso no se hará, pero solo entregaremos algo que tenga muchas cosas hechas. Y las cosas que están a mitad de camino lo conseguiremos ... Terminaremos en el próximo hito. Se trata más de crear una lista de características y luego tratar de entregar esa lista de características al final de esas seis semanas. Y si lo logras, sabes, lo logras, si no lo haces, entonces esas cosas pasarán a la siguiente. Lo sabes Y cuando solo se convierte en un ejercicio de rescoping que es demasiado largo, sacas algo, haciéndolo de manera diferente, ya sabes. Lo rediseñas para que sea más fácil terminarlo. Y cuando lo sueltas todo si algo lleva demasiado tiempo.
Entonces no de Agile ... Necesitas entender cómo funciona y combinarlo con otros enfoques, tal vez.
Si
¿Puedes comparar cómo se organizan los procesos de trabajo en los estudios de juegos, ahora y en los años 1990 o 2000?
Ahí ... supongo ... Depende de cuántas personas. Como si siempre dependiera de cuántas personas hay en un equipo. Incluso hoy, si tuvieras un equipo realmente pequeño de cuatro personas, probablemente estarías desarrollando la forma en que volveríamos en la década de 1990 con un equipo de cuatro personas. Porque es muy pequeño y todos entienden lo que tienen que hacer. Todos se comunicarán muy estrechamente
Si-si Entonces
Porque probablemente estén en la misma habitación.
Entonces, en RUVDS, en mi empresa, tenemos un equipo pequeño, por lo que no necesitamos usar ágil.
Exactamente Entonces no vale la pena. Es lo mismo en 1990. Como tú ... Lo que escribes cambia debido a la plataforma, pero la forma en que lo discutes y desarrollas es lo mismo. Lo sabes El diseño que le pones es diferente hoy en día, porque el lenguaje de diseño ha evolucionado desde la década de 1980. Entonces, lo que estás diseñando es diferente, pero la forma en que construyes las cosas es bastante similar.
¿Hay cosas en el desarrollo de juegos que se vuelven más fáciles o más difíciles con el tiempo? Y por que
Hay muchas herramientas que hacen ... que hacen que los juegos sean más fáciles para las personas. Lo más difícil es llegar a un buen diseño de juego. Es difícil tener una idea de juego realmente buena. Lo sabes Puedes hacer que el mejor programador del mundo escriba un juego basura y nadie querrá jugar ese juego. Y no importa cuán bueno sea ese programador.
Entonces el diseño del juego ahora es primero. En el frente principal.
Es lo primero. Si tienes a alguien que tiene un diseño de juego increíble que es competente al menos en programación. Tienes un género completamente nuevo probablemente. Tienes un juego increíble. Entonces, es el diseño lo que importa más que nada.
Volviendo a TechTrain. ¿De dónde viene la industria de los juegos de trenes?
Bueno, um ... yo diría, ya sabes, en los juegos de realidad aumentada (AR) es un nuevo segmento realmente emocionante. Es una nueva área genial, ya sabes. Hay dinero allí ... No tanto dinero como había en realidad virtual, cuando todos estaban arrojando su dinero en realidad virtual ...
Pero la realidad virtual no dura.
No La realidad virtual no lo hará. Ya sabes, VR ... Es mejor en aplicaciones que no son de juegos, ¿verdad? Hay algunas cosas geniales de realidad virtual, pero lo que realmente se reduce a la realidad virtual en los juegos es la fatiga. La fatiga es demasiado alta cuando las personas juegan juegos. Es como si la gente ya no saltara sobre sus almohadillas Wii. Ellos simplemente se cansaron. Ya no quieren hacerlo. Y la realidad virtual es difícil de usar.
Es solo un juguete de un día.
Si
¿Tienes experiencia en realidad aumentada o juegos de realidad virtual?
No he hecho nada de AR. Pero realmente me gustaría las posibilidades. Quiero decir, si prestas atención a los juegos de LEGO y las cosas de Minecraft Earth ... Hay muchas cosas realmente geniales en AR, y todos están experimentando y es algo a lo que la gente ha recurrido. Pokemon Go demostró a todos que hay toneladas de dinero en AR. Definitivamente es un segmento. No está reemplazando consolas, no está reemplazando móviles, no está reemplazando nada, es solo otra cosa.
Parece que todos lo han hecho, todos entienden las posibilidades, pero no saben cómo usarlas.
Bueno, hay API para usarlo. Entonces Apple ha creado el kit AR, ¿sabes? Lo cual es asombroso. Como, no hicieron kit de realidad virtual por la razón. Hicieron un kit de AR, porque saben que funcionará. Y eso es útil, ¿verdad? Entonces, un kit de AR junto con Swift 5 ... Umm ... Puedes hacer cosas realmente geniales.
¿Qué opinas sobre los juegos móviles?
Bueno Sigil está en teléfonos inteligentes. Ya tenemos a Sigil corriendo ... Tantas cosas. Supongo que muchos ... Sabes, en Instagram y Twitter hay tantos dispositivos en los que Sigil se está ejecutando. La gente envía capturas de pantalla.
¿Pero lo construyeron como ellos solos? ¿No hay productos para teléfonos inteligentes?
Hay ... Bueno, para Android sí. Entonces, al igual que puedes obtener Doom que ejecuta mods. Al igual que, umh ... Puedes jugar a Sigil en una Xbox. Puede usar automechs, que es como un Doom de código abierto que ejecutará modificaciones y puede poner Sigil en su Xbox, y puede ejecutar Sigil en él.
Si ¿Pero alguna vez te imaginaste hacer un juego de batalla real en Doom Universe? Tal vez algo como Fortnite?
Creo que sería genial, ¿sabes? Yo no lo haría Pero creo que sería realmente ... Lo haría ... Lo jugaría si alguien más lo hiciera.
Buena idea!

Si! Quiero decir que Battle Royale es solo un tipo de conjunto de reglas de marco encima de cualquier juego. Ya sabes ... quiero decir, mira Fortnite. Ese no era un juego de batalla real. Se convirtió en uno, cuando vieron PUBG. Ya sabes, tomando todo el dinero. Entonces puedes ponerlo encima de cualquier cosa. Pero los juegos que lo hicieron, hechos específicamente para Battle Royale son los que, ya sabes, funcionan mejor. Hay más juegos de Battle Royale que están experimentando con otros tipos de juego. Mientras juegas para obtener recursos y hacer cosas, como minería. Estás buscando cosas mientras el círculo se está cerrando y, ya sabes. Y la gente te está disparando mientras minas. Necesito el mío! ¡Para conseguir las cosas!
Si! Buena comparación! ¿Cuáles crees que serán los géneros de juego que prevalecerán en el futuro?
Hasta ahora creo que todos ellos. Quiero decir, el único género que desapareció fueron las aventuras basadas en texto. Pero todavía hay juegos de aventuras. Todavía hay ... Si lo miras, las aventuras se convirtieron en juegos de aventuras misteriosas, y nada de juegos son enormes. Si prestas atención a todas partes donde se venden juegos, especialmente en dispositivos móviles, verás que la diversidad de juegos es enorme. Y como una persona pensó que la aventura, lo que sea que haya muerto para siempre, ya sabes, muerto en los años 1990 o 2000, solo necesitan ir al otro lado del ... Otro lado del rack de software para ver todas las aventuras y esas cosas. que se venden a mujeres de 40 años, que les gusta tocar esas cosas, ¿sabes? Entonces, el mercado de los juegos no es solo de 18 a 25 o 35 ... Está en todas partes.
Pero ahora parece que las estrategias ... Los juegos de estrategia no son tan populares como antes. Así que algunos géneros desaparecerán, creo.
Oh, no va a desaparecer.
¿Eh?
No ... Hay muchos juegos de estrategia. Quiero decir, estamos haciendo un juego de estrategia porque hace calor. Y, uhm ... Es un ... Hay compañías como Paradox Interactive que tienen su propio nicho que tienen jugadores extremadamente duros que adoran sus juegos ... Por la forma en que están hechas. La información que hay en ellos y lo difícil que son. Y sobrevivirán. A la gente le encanta jugar Age of Empires Definitive Edition, que se lanzó hace unos días.
Sí, tuve esa idea ...
Y ese es un juego de 199 ... 8? Yo pienso
Si
Ya sabes Y ese es un juego de estrategia.
Esa es una de mis estrategias favoritas. Si
Sí Eso no va a desaparecer. Pequeño RTS quiero decir. Todavía Civ (civilización), ya sabes. Todo como ... Hay todas esas cosas que aún existen si continúan haciéndolas.
¿Cuál es tu clave para hacer un juego exitoso? ¿Es importante utilizar tecnología de punta aquí?
Bueno, eso ayuda. Muy buena tecnología ayuda. Pero un diseño de juego realmente sorprendente es la razón por la cual la gente está jugando eso.
Diseño del juego, sí ...
No lo están jugando por el motor. ¿Vas a jugar un juego porque está hecho en Unreal? No, tu no. Juegas un juego por el diseño y la idea, y cómo se ve, y de qué se trata, qué puedes hacer en él. Eso es todo material de diseño.
¿Cuáles son tus instrumentos de desarrollo de juegos favoritos? Por ahora y toda la carrera? Las mejores herramientas para hacer juegos.
Solo para el flujo de trabajo y la productividad: Slack es increíble. Usamos Assembla para hacer engrosamiento y esas cosas. Pero Jira es realmente genial. Usamos Perforce para el control de la fuente, porque es muy, muy rápido. Esas son las cosas principales que usamos en ... Para todos y luego en el lado del arte: Photoshop, Maya, sabes que SyncScetch es una herramienta genial que usan ... Los artistas usan. La escopeta es realmente genial para el flujo de obras de arte. Y en el lado del código, básicamente usamos Unity y estamos usando VSCode tanto para Mac como para PC para editar el código. Eso es más o menos, ya sabes. Para el diseño y las hojas de cálculo, por lo que utilizamos mucho las Hojas de cálculo de Google ... Tenemos nuestras herramientas leídas de Hojas de cálculo de Google en Internet y recuperamos datos en el juego.
Eso es básicamente cosas de Google, presentaciones de Google para todos nuestros documentos de diseño y hojas de cálculo de Google para todos nuestros datos, ¿sabes? Para el juego ... Juego ... No importa si se trata de sistemas de botín o lo que sea ...
Creo que todos quieren saberlo. ¿Qué es lo mejor para jugar según John Romero?
Hitman 2.

Hitman? ¿Es ...
Hitman 2.
Es uno de mis juegos favoritos.
Increíble
Y cuando has dicho sobre algunas personas que quieren juegos más difíciles, pensé en Hitman.
Si!
Porque tiene su pequeño nicho de maníacos que quiere ...
¡Sí! Todos esos desafíos.
... Para hacer el nivel de dificultad a la cima.
El dominio y los desafíos, y todas esas cosas.
Me encanta
Es muy bueno!
Si-si Pasé todos los Hitman.
Agradable
Si ...
Si He derrotado a todos los anteriores, pero lo reinventaron en 2016 completamente ... Acaban de crear el mejor diseño de la historia.
Si
Así que estoy ansioso por Ghost Recon: Breakpoint. Mucho Y es como ... No puedo esperar. Esto va a ser asombroso. Me encanta Ghost Recon. Me encanta el original No era fanático de GRAW (Ed. Ghost Recon Advanced Warfighter) pero sé que esto ... lo jugué un poco en este nuevo y simplemente no puedo esperar.
Sabes qué, algunos juegos de hoy eran buenos, pero demasiado complicados para jugarlos justo después del trabajo.
Si
Estás demasiado aburrido para entender ...
Sí, quieres jugar ...
... toda la mecánica difícil
Si-si Eres como "¿Realmente tengo que volver a entrar?" Pero quiero decir ... World of Warcraft es así también.
Si
Hay mucho equipo, hay muchas misiones, hay mucha motivación personal, como, ¿qué quieres hacer en un juego? Y, por ejemplo, si algo - (sucede) solo tienes que concentrarte realmente, y si no quieres concentrarte en cosas como esa, juegas diferentes juegos que no requieren eso. Y los juegos independientes son perfectos para eso, porque los juegos independientes ahora duran solo unas pocas horas. Como Firewatch y otras cosas sensuales. Ya sabes, esos son como juegos a muy corto plazo. Y ...
Y Hitman también es a corto plazo.
Si! Oh si! Especialmente si conoces a Hitman y dices "Solo quiero probar ese desafío". No?
Si ...
No necesitas vencer toda la misión
Se puede ajustar en unas pocas horas. Así que tus mejores juegos son Hitman, Ghost Recon y ... ¿Quizás el tercero?
Un juego independiente básicamente. Hay toneladas de juegos independientes.
De acuerdo, entonces tendremos un grupo de desarrolladores profesionales como audiencia nuestra en ti.
Esta bien
Mira a la cámara y comparte tu inspiración.
Oh, Dios ... Bueno ... Mi inspiración uhm ... Pacman fue la razón por la que me metí en los juegos. Porque el diseño de Pacman cuando salió en 1980 fue simplemente ... A diferencia de todo lo que salió en ese momento. Todo en 1980 era "Shoot the Alien", en blanco y negro, el sonido no era emocionante. Y cuando salió Pacman, simplemente cambió todo. Fue un diseño no violento, desbocado, completo, increíble, que realmente me mostró que el diseño del juego no tiene fondo. Hay tanto allí. Eso me hizo querer hacer juegos.
Un buen consejo también estará bien para aquellos que quieran ingresar al desarrollo del juego.
Piensa en juegos pequeños y de alcance. No intentes hacer nada grande al principio. Haz un diseño de juego pequeño y luego trata de hacer todo y terminarlo. Aprenderá lo difícil que es terminar y mantendrá su alcance bajo después de eso.
En Wikipedia en ruso tu nombre es John Romero. Pero he leído que tu primer nombre es Alfonso.
Alfonso, si.
Entonces, ¿por qué sigues el nombre de John?
Porque en mi casa también se llamaba Alfonso, y si dijiste "¡Al!" los dos estábamos respondiendo, así que decidimos ... Mi mamá decidió llamarme John, porque mi papá ya era Al. Así lo supe por John.
Bien, entonces es desde la infancia.
Es, sí, desde la infancia. Entonces mi madre me llamó Johnny.
Gracias por la entrevista! Estaré encantado de verte de nuevo en Rusia
Genial! Nos vemos de nuevo en TechTrains.
En TechTrain y en nuestra oficina del equipo Ruvds también.
Genial
Muchas gracias
Si gracias
Gracias

PD Último consejo de Romero.
La forma de mantener sus errores realmente bajos en su programación es simplemente escribir algunas líneas de código que funcionen y luego probarlo. Pruébalo muy, muy bien. A ver si funciona. Luego escriba algunas líneas más de código que hagan algo. Y sé súper súper hiper iterativo así. Simplemente construyendo su código de forma incremental. No trabaje durante media hora y luego pruebe su código. Vas a ... Lleno de errores. Simplemente escriba algunas líneas y vea si funciona. Así es como haces un código súper sólido.