Facilite a conclusão: Entrevista com John Romero, desenvolvedor do Doom

No último festival de TI da Tech Train, encontramos o lendário John Romero, que projetou e desenvolveu o icônico Wolfenstein 3D, Doom e Quake. Falamos sobre se os desenvolvedores de jogos precisam de habilidades pessoais, quais ferramentas de trabalho prestar atenção e qual é o co-fundador dos brinquedos favoritos da Id Software. As perguntas foram feitas por Nikita Tsaplin, fundadora da RUVDS.


→ Texto e vídeo em russo



Nikita Tsaplin, fundadora da RUVDS

Em uma de suas entrevistas que você disse em 2001, quando examinou seu código feito em 1991, é muito difícil usá-lo. E depois de um período em que você retorna ao seu código criado em 2001, você o considera "não é ruim". Como você elimina a qualidade do código?




Jonh Romero - designer de jogos e níveis, programador, criador de jogos na "Romero Games", co-fundador da "Id Software"

O código foi escrito como a metade em uma linguagem assembly em 1991. e eu apenas comecei a programar em C, então eu era uma programação totalmente nova em C. Então, voltando a isso depois de passar 10 anos a mais de programação em C ... Aah. Isso é horrível.

E quais parâmetros de eliminação mudam com o tempo e quais não são?


Bem, como todo o ambiente em que o código funcionava era completamente diferente. Portanto, o código em 1991 foi executado no DOS e o código em 2001 foi executado no Windows.

Então foi um tempo em uma nova plataforma, eu acho?


Nova plataforma, sim.

Você pode dividir os principais critérios que deve levar em sua coluna ao revisar seu próprio código?


É fácil de entender? Isso é realmente importante. Tem algum comentário? Você não deveria comentar demais, porque isso é chato. Mas ele tem comentários suficientes para as seções complicadas e é a estrutura que faz sentido, e é fácil adicionar isso à estrutura.

Uh ... Quais habilidades um desenvolvedor deve ter para fazê-lo na indústria de jogos?


Você precisa realmente fazer jogos. Porque é difícil terminar um jogo. E isso é ...

É fácil de começar e impossível de terminar.


... É difícil de terminar. E são muitas horas também. Não importa a parte dos jogos que você está criando - será muito mais horas do que você jamais imaginou. Então você tem que estar preparado para se concentrar por um longo tempo.

Ouvi dizer que os desenvolvedores devem ter mais habilidades sociais do que antes. É verdade?


Bem, sim, porque agora há muitas pessoas nas equipes. E quando você está em equipes, você tem que ser legal com outras pessoas

Comunicar ...


Sim ...

Você tem algum peso profissional?


Você precisa se acostumar com a comunicação. E os programadores não querem se comunicar. Eles só querem codificar. Portanto, é importante, você sabe, limitar seu ... Limite o tempo que você está tirando as pessoas do código para, você sabe, curtos períodos de tempo para comunicação, mas, tipo, hoje em dia, por que não Slack? Você sabe? Comunique-se através do Slack. É rápido. É mais rápido do que tirar os fones de ouvido, levantar-se e conversar com alguém, voltar e tudo mais. Então fazemos isso o tempo todo.

Sim As pessoas querem espaço e se comunicam apenas através de mensageiros.


Sim Se eles tiverem fones de ouvido.

E quais habilidades sociais você acha que são mais importantes agora?


Eu acho que as comunicações são mais importantes do que qualquer coisa. Sempre foi assim. Se outras pessoas não sabem o que você está fazendo, ou você não sabe o que as outras pessoas estão fazendo, você pode gastar ... Desperdiçar uma tonelada de tempo e dinheiro, porque você fez a coisa errada. Portanto, as comunicações são mais importantes do que qualquer outra coisa que você possa fazer. Todos precisam saber o que devem fazer e como devem fazê-lo. Portanto, mesmo quando você programar algo da maneira que escrever, é bom se comunicar. Não apenas "Sim, eu vou fazer isso." Você sabe? Deve ser como ...

Vejo você por semana!


Sim Nada disso. Deveria ser "Eu vou fazer isso e vou fazer assim. Isso parece bom?

Portanto, a comunicação em todas as etapas do desenvolvimento é a principal.


Sim



Há alguns meses, conversei com Richard Gray em Moscou. E ele diz que uma das melhores estratégias para os desenvolvedores entrarem no desenvolvimento de jogos é mostrar algo feito por você. Mas, por outro lado, você disse que mesmo fazer níveis de destruição em Sigil é um verdadeiro desafio técnico hoje. Você não acha que os instrumentos atuais são muito complicados para criar algo apenas para o portfólio? Onde está um equilíbrio perfeito aqui?


Bem, nos motores de hoje, é preciso muito tempo para fazer um nível.

Sim


Portanto, não é tão fácil como costumava ser. É agora ... Agora, leva muito tempo. Hoje em dia, há tantas pessoas envolvidas em apenas fazer um nível. Você tem pessoas que ... Você tem artistas que apenas níveis de luz. E você tem designers de jogos bloqueando-os. Você tem artistas fazendo arte. Você os faz vestir-se para torná-los realmente bons. Tem que ter certeza de que os shaders estão certos.

Eu acho que agora é impossível nivelar apenas um portfólio, se é isso que você precisa fazer.


Bem, você pode, mas leva muito tempo. Como se houvesse ... Há um ótimo exemplo no YouTube. Se você está usando o Unreal (Primred UnrealEngine) e deseja aprender qual é o pipeline para criar apenas um nível e deseja fazer isso sozinho - há um tutorial ... Um cara (Preço?) ... Acho que são 30 minutos tutorial e ele mostra como ele fez um corredor em 10 horas. E ele fez isso ...

Dez horas ... não é nada?


E é gravado em 30 minutos, é gravado em velocidade super alta, para que você possa ver todas as coisas que ele está fazendo em apenas um corredor. Dez horas. Agora ... Os jogos demoram muito tempo.

E qual você acha que é a melhor estratégia para o desenvolvedor entrar no gamedev.


A melhor estratégia é aprender o máximo possível de coisas em casa. Você sabe, você pode ir para a escola e aprender coisas, o que é ótimo, isso vai te dar lamentos, você receberá diploma e tudo mais. Mas você aprenderá muito mais a fazer suas coisas em casa. Você vai mais rápido, aprende exatamente o que deseja aprender.

Sabe, algumas pessoas dizem que os programadores que usam frameworks não têm nem uma pista para entender o que, como ... Como funciona por dentro? Isso realmente importa hoje? Para entender o que há dentro? Ou estruturas está bem?


Sim sim. Isso é útil. Digamos que o programador júnior conheça os frameworks. Programadores especialistas saberão como construir estruturas. O que significa que eles sabem ... Eles sabem como criar estruturas, sabem tudo de baixo para baixo, certo? E isso é super útil, porque você pode usar uma estrutura de uma maneira muito ineficiente, sem saber como ela realmente funciona por baixo e faz com que a execução seja muito lenta.

Questão de flexibilidade. Você pode combinar estruturas, se entender ...


Você precisa colar as coisas para fazer as coisas funcionarem, mas isso não significa que elas serão executadas. Isso não significa que você entenda o que está acontecendo sob o capô. Especialmente se você está falando de bancos de dados, pode escrever dados ... Você pode escrever códigos para bancos de dados que são horríveis. E você acha que está tudo bem, porque você sabe "Estes são os comandos", mas como se você não soubesse como o InnoDB é executado e como ele funciona sob o capô ...

Poderia ser ...


- esqueça isso. Você precisa contratar. Sim, você precisa de um consultor ...

Para resolver


... entrar e arrumar tudo.

Outra coisa no Agile ... Em livros e artigos, o gamedev é cheio de romantismo e imprevisibilidade. É exatamente isso que precisamos para o Agile. Ágil e talvez algumas outras abordagens.
Apenas ágil.

Apenas ágil?


Sim Mas não estrito Agile, não scrum Agile. Temos marcos em horários específicos e, você sabe, preparamos as coisas. É um bom longo período de tempo. São três vezes o que o Agile é, seis semanas em vez de duas. Portanto, é um bom período de tempo, em que fazemos muito. E é meio que o estilo Kanban também, talvez? Porque nem tudo precisa ser feito em seis semanas, porque ainda há coisas em processo. Portanto, isso não será feito, mas apenas entregaremos algo que tenha feito muitas coisas. E as coisas que estão na metade do caminho, vamos conseguir ... Vamos terminar no próximo marco. É mais sobre apresentar uma lista de recursos e tentar entregá-la até o final dessas seis semanas. E se você conseguir, você sabe, você conseguirá, se não conseguir - então essas coisas vão para a próxima. Você sabe? E quando ele se transforma apenas em um exercício de rescisão demorado demais, você retira algo, fazendo de maneira diferente, você sabe. Você o redesenha para facilitar a conclusão. E quando você juntar tudo isso, se algo demorar muito.

Portanto, não da Agile ... Você precisa entender como funciona e combinar com outras abordagens, talvez.


Sim

Você pode comparar como os processos de trabalho são organizados nos estúdios de jogos, agora e nos anos 90 ou 2000?


Aí ... eu acho ... depende de quantas pessoas. Como sempre, depende de quantas pessoas estão em uma equipe. Ainda hoje, se você tivesse uma equipe de quatro pessoas muito pequena, provavelmente estaria desenvolvendo a maneira como voltaríamos nos anos 90 com uma equipe de quatro pessoas. Porque é tão pequeno e todo mundo entende o que precisa fazer. Todos eles se comunicam muito bem,

Sim, sim. Então


Porque eles estão na mesma sala provavelmente.

Então, no RUVDS, na minha empresa, temos uma equipe pequena, portanto não precisamos usar o Agile.


Exatamente. Então não vale a pena. É a mesma coisa em 1990. Como você acabou de ... O que você escreve muda por causa da plataforma, mas como você a discute e desenvolve, é a mesma coisa. Você sabe? Atualmente, o design que você coloca nele é diferente, porque a linguagem do design evoluiu desde os anos 80. Então, o que você está projetando é diferente, mas a maneira como você constrói as coisas é bem parecida.

Existem coisas no desenvolvimento de jogos que se tornam mais fáceis ou mais difíceis ao longo do tempo? E porque


Existem muitas ferramentas que tornam o jogo mais fácil para as pessoas. O mais difícil é chegar a um bom design de jogo. É difícil ter uma ideia muito boa do jogo. Você sabe? Você pode ter o melhor programador do mundo escrevendo um jogo de lixo e ninguém vai querer jogar esse jogo. E não importa o quão bom é esse programador.

Então, o design de jogos agora é o primeiro. Na frente principal.


É a primeira coisa. Se você tem alguém com um design de jogo incrível, que seja proficiente pelo menos em programação. Você provavelmente tem um gênero totalmente novo. Você ganha um jogo incrível. Portanto, é o design que importa mais do que tudo.

Voltando ao TechTrain. Onde o trem conduz a indústria de jogos?


Bem, hum ... eu diria que, em realidade aumentada, o jogo de realidade aumentada (AR) é um novo segmento realmente emocionante. É uma nova área legal, você sabe. Há dinheiro lá ... Não tanto quanto havia em VR, quando todo mundo estava jogando seu dinheiro em VR ...

Mas a VR não dura.


Não. VR não vai. Você sabe, VR ... É melhor em aplicativos que não são de jogos, certo? Existem algumas coisas legais de VR, mas é o que realmente se resume a VR em jogos é o cansaço. A fadiga é muito alta quando as pessoas jogam. É como se as pessoas não estivessem mais pulando no Wii. Eles apenas se cansaram. Eles não querem mais fazer isso. E VR é apenas difícil de usar.

É apenas um brinquedo de um dia.


Sim

Você tem experiência em realidade aumentada ou jogos de realidade virtual?


Eu não fiz nada de AR. Mas eu realmente gostaria das possibilidades. Quero dizer, se você prestar atenção nos jogos LEGO e no Minecraft Earth ... Há muita coisa muito legal no AR, e todo mundo está experimentando e é algo que as pessoas adotaram. O Pokemon Go provou para todos que há muito dinheiro no AR. Definitivamente é um segmento. Não está substituindo consoles, não está substituindo celulares, não está substituindo nada, é apenas outra coisa.

Parece que todo mundo tem, todo mundo entende as possibilidades, mas não sabe como usá-las.


Bem, existem APIs para usá-lo. Então a Apple criou o kit AR, sabe? O que é incrível. Como, eles não fizeram o kit de VR por motivo. Eles fizeram um kit de AR, porque sabem que vai dar certo. E isso é útil, certo? Então, um kit de AR juntamente com o Swift 5 ... Umm ... Você pode fazer coisas bem legais.


O que você acha dos jogos para celular?


Bem, Sigil está em smartphones. Nós já temos Sigil rodando ... Tantas coisas. Eu acho que muitos ... Você sabe, no Instagram e no Twitter existem tantos dispositivos que Sigil está sendo executado. As pessoas enviam capturas de tela dele.

Mas eles construíram como eles mesmos? Não há produtos para smartphones?


Há ... Bem, para o Android existe. Então, assim como você pode obter o Doom que roda mods. Assim como, hum ... Você pode jogar Sigil em um Xbox. Você pode usar automechs que são como um Doom de código aberto que executará mods e poderá colocar o Sigil no seu Xbox e também o Sigil.

Sim Mas você já imaginou fazer um jogo de battle royale no universo Doom? Talvez algo como Fortnite?


Eu acho que seria legal, sabe? Eu não faria isso. Mas acho que seria realmente ... eu faria ... eu tocaria se alguém fizesse isso.

Boa ideia!




Sim! Quero dizer, Battle Royale é apenas um tipo de conjunto de regras do quadro de qualquer jogo. Você sabe ... quero dizer, olhe para o Fortnite. Esse não era um jogo de battle royale. Ele se transformou em um, quando eles viram PUBG. Você sabe, pegando todo o dinheiro. Então você pode colocá-lo em cima de qualquer coisa. Mas os jogos criados especificamente para o battle royale são aqueles que, você sabe, se saem melhor. Há mais jogos de battle royale saindo, que estão experimentando outros tipos de jogabilidade. Enquanto você toca para obter recursos e fazer coisas, como mineração. Você está procurando coisas enquanto o círculo está fechando e, você sabe. E as pessoas estão atirando em você enquanto você está minerando. Eu preciso do meu! Para pegar as coisas!

Sim! Boa comparação! O que você acha de quais gêneros de jogos prevalecerão no futuro?


Até agora, acho que todos eles. Quero dizer, o único gênero que meio que desapareceu foram as aventuras baseadas em texto. Mas ainda há jogos de aventura. Ainda há ... Se você olhar para isso, as aventuras se transformaram em jogos de mistério e aventura, e nada é enorme. Se você prestar atenção em todos os lugares em que os jogos estão sendo vendidos, especialmente em dispositivos móveis, verá que a diversidade de jogos é enorme. E como se alguém pensasse que a aventura estava morta para sempre, sabe, morta nas décadas de 1990 ou 2000 - elas só precisam ir do outro lado da ... Do outro lado, esse rack de software para ver todas as aventuras e outras coisas que estão sendo vendidos para mulheres na faixa dos 40 anos, que gostam de tocar essas coisas, sabe? Portanto, o mercado de jogos não é apenas de 18 a 25 ou 35 ... Está em toda parte.

Mas agora parece estratégias ... Jogos de estratégia não são tão populares como antes. Então, alguns gêneros desaparecerão, eu acho.


Oh, isso não vai desaparecer.

Hein?


Não ... Existem muitos jogos de estratégia. Quero dizer, estamos fazendo jogo de estratégia porque é quente. E ... é ... Existem empresas como a Paradox Interactive que têm seu próprio nicho e têm jogadores extremamente exigentes que amam seus jogos ... Por causa da maneira como são feitos. As informações que estão nelas e quão difíceis elas são. E eles vão sobreviver. As pessoas adoram jogar Age of Empires Definitive Edition, lançado há alguns dias.

Sim, eu tive essa ideia ...


E isso é um jogo de 199 ... 8? Eu acho?

Sim


Você sabe. E isso é um jogo de estratégia.

Essa é uma das minhas estratégias favoritas. Sim


Sim Isso não vai embora. RTS pequeno, quero dizer. Ainda Civ (civilização), você sabe. Tudo como ... Ainda tem tudo isso por aí, se eles continuarem produzindo.

Qual é a sua chave para fazer um jogo de sucesso? O uso de tecnologia de ponta é importante aqui?


Bem, isso ajuda. A tecnologia realmente boa ajuda. Mas um design de jogo realmente incrível é o motivo pelo qual as pessoas estão jogando isso.

Design de jogos, sim ...


Eles não estão jogando por causa do motor. Você joga um jogo porque é feito no Unreal? Não você não. Você joga um jogo por causa do design e da idéia, e como ela é, e do que se trata, o que você pode fazer nela. Isso é tudo sobre design.

Quais são seus instrumentos favoritos de desenvolvimento de jogos? Por agora e toda a carreira? Melhores ferramentas para fazer jogos.


Apenas para material de fluxo de trabalho e produtividade - o Slack é incrível. Usamos o Assembla para fazer tiques e outras coisas. Mas Jira é realmente ótimo. Usamos o Perforce para controle de origem, porque é muito, muito rápido. Essas são as principais coisas que usamos no ... Para todo mundo e depois para o lado artístico - Photoshop, Maya, você sabe que o SyncScetch é uma ferramenta legal que eles usam ... Os artistas usam. A espingarda é realmente ótima para o fluxo de obras de arte. E no lado do código, basicamente usamos o Unity e estamos usando o VSCode para Mac e PC para editar o código. É praticamente isso, você sabe. Para o design e as planilhas, usamos muito o Google Sheets ... Temos nossas ferramentas lidas no Google Sheets na Internet e trazemos os dados de volta ao jogo.

Então isso é basicamente coisas do Google, apresentações do Google para todos os nossos documentos de design e Planilhas Google para todos os nossos dados, sabia? Para o jogo ... Jogo ... Não importa se isso é sistemas de drop loot ou o que seja ...

Eu acho que todo mundo quer saber. O que é o melhor para jogar, de acordo com John Romero?


Hitman 2.



Hitman? É ...


Hitman 2.

É um dos meus jogos favoritos.


Inacreditável.

E quando você falou sobre algumas pessoas que querem jogos mais difíceis, pensei em Hitman.


Sim!

Porque tem um pequeno nicho de maníacos que quer ...


Yepp! Todos esses desafios.

... Para elevar o nível de dificuldade ao topo.


A mestria e os desafios, e todas essas coisas.

Eu amo isso


Está muito bom!

Sim, sim. Eu passei por todos os Hitmans.


Nice

Sim ...


Sim Eu venci todos os anteriores, mas eles o reinventaram em 2016, completamente ... Acabei de criar o melhor design de todos os tempos.

Sim


Estou ansioso pelo Ghost Recon: Breakpoint. Muito. E é como ... Mal posso esperar. Isso vai ser incrível. Eu amo o Ghost Recon. Eu amo o original. Eu não era fã de GRAW (Ed. Ghost Recon Advanced Warfighter), mas eu sei que isso ... eu joguei um pouco neste novo e mal posso esperar.

Sabe, alguns jogos hoje eram bons, mas muito complicados para jogá-los logo após o trabalho.


Sim

Você está entediado demais para entender ...


Sim, você quer jogar ...

... Toda a mecânica difícil


Sim, sim. Você fica tipo "Eu tenho que voltar mesmo?" Mas quero dizer ... World of Warcraft também é assim.

Sim


Há muito equipamento, muitas missões, muita motivação pessoal, o que você quer fazer em um jogo. E, se algo - (acontecer), você precisa apenas se concentrar e, se não quiser se concentrar em coisas assim, joga jogos diferentes que não exigem isso. E os jogos independentes são perfeitos para isso, porque os jogos independentes agora são apenas algumas horas. Como Firewatch e outras coisas sensuais. Você sabe, esses são jogos de muito curto prazo. E ...

E Hitman também é de curto prazo.


Sim! Ah sim! Especialmente se você conhece Hitman e pensa "só quero tentar esse desafio". Não?

Sim ...


Você não precisa vencer toda a missão

Você pode ajustar em algumas horas. Então seus melhores jogos são Hitman, Ghost Recon e ... O terceiro, talvez?


Um jogo indie basicamente. Há toneladas de jogos independentes.

Ok, então teremos um monte de desenvolvedores profissionais como uma audiência nossa para você.


Ok

Por favor, olhe para a câmera e compartilhe sua inspiração.



Oh, nossa ... Bem ... Minha inspiração ... Pacman foi a razão pela qual eu entrei nos jogos. Porque o design do Pacman quando foi lançado em 1980 era apenas ... Diferente de tudo o que foi lançado na época. Tudo em 1980 era "Shoot the Alien", preto e branco, o som não era emocionante. E quando Pacman saiu, tudo mudou. Foi apenas um design não violento, fugitivo e completo que foi inacreditável, que realmente me mostrou que o design de jogos é apenas sem fundo. Há tanta coisa lá. Então isso me fez querer fazer jogos.

Um bom conselho também será bom para quem deseja ingressar no desenvolvimento de jogos.


Crie jogos pequenos e com escopo definido. Não tente fazer nada grande no começo. Faça um design de jogo pequeno e tente criar a coisa toda e finalizá-la. Você aprenderá o quão difícil é terminar e depois manterá seu escopo baixo.

Na Wikipedia, seu nome é John Romero. Mas eu li que seu primeiro nome é Alfonso.


Alfonso, sim.

Então, por que você segue o nome John?


Porque na minha casa o nome do meu pai era Alfonso também, e se você dissesse "Al!" nós dois estávamos respondendo, então decidimos ... Minha mãe decidiu me chamar de John, porque meu pai já era Al. Então eu soube por John.

Ok, então é da infância.


É, sim, desde a infância. Então minha mãe me chamou de Johnny.

Obrigado pela entrevista! Ficarei feliz em vê-lo novamente na Rússia


Legal! Vejo você novamente na TechTrains.

No TechTrain e em nosso escritório da equipe Ruvds também.


Ótimo

Muito obrigado


Sim obrigado!

Obrigada




PS Último conselho de Romero.


A maneira de manter seus bugs realmente baixos na programação é escrever algumas linhas de código que funcionem e testá-las. Teste realmente muito bem. Veja se funciona. Em seguida, escreva mais algumas linhas de código que fazem algo. E seja super-super hiper-iterativo assim. Apenas construindo incrementalmente seu código. Não trabalhe por meia hora e teste seu código. Você vai ... Cheio de insetos. Basta escrever algumas linhas e ver se funciona. É assim que você cria código super sólido.

Source: https://habr.com/ru/post/pt467841/


All Articles