Quais são as tarefas diárias típicas de um programador de jogos iniciantes? [fechadas]

64

O que eu gostaria de saber é: Quais são os deveres diários de um programador de pós-graduação no local de trabalho da indústria de jogos? É principalmente codificação, análise, design ou o quê?

Obrigado.

PS No momento, estou no meu segundo ano de universidade e estou trabalhando para me especializar em programação de jogos, especificamente jogabilidade, ferramentas ou programação de interface do usuário.

kymully
fonte

Respostas:

103

Com base na minha experiência (nos Estados Unidos, contratado fora da faculdade para um projeto que acabara de sair da criação de protótipos e era uma equipe de cerca de 50 anos, foi cancelado e depois fizemos mais dois jogos nos quatro anos em que estava lá com uma base total de desenvolvedores de cerca de 200),

  • Você provavelmente gastará cerca de 50 a 70% do seu tempo programando. Nesse momento, incluí as 'coisas divertidas', como criar um recurso realmente inteligente, bem como as vezes em que você fica olhando para um despejo de memória por 8 horas seguidas tentando descobrir o que caiu. Talvez 25% a 50% disso seja uma programação longa, na forma de sentar no teclado e entrar na zona.
  • Outros 15 a 25% em reuniões e tarefas administrativas, como triagem de bugs, reuniões sobre triagem de bugs, agendamento, documentação de alto nível para outros programadores e produtores, email, atualizações completas do status do projeto / empresa e assim por diante. Isso depende de quanta autonomia você tem - se você não tem autonomia, poderá gastar mais tempo programando, porque gastará menos tempo definindo sua própria programação. Se você assumir mais controle de sua programação, poderá trabalhar em coisas mais interessantes, mas precisará gastar tempo fazendo essas coisas.
  • Outros 15 a 25% ajudam designers / artistas, participando de reuniões criativas sobre o jogo, mantendo-se atualizados com os documentos de design do jogo etc.

À medida que você sobe na classificação salarial, o tempo gasto em programação provavelmente diminui . Você terá que tomar mais decisões administrativas, ser chamado para ajudar pessoas menos experientes da equipe e gastar mais tempo revisando a documentação e a arquitetura / código. No lado positivo, a qualidade da programação provavelmente aumentará; você trabalhará em recursos mais interessantes (e bugs mais frustrantes).

Se o tempo que você gasta ajudando designers e artistas sobe, desce ou realmente não muda, depende da área em que você deseja trabalhar. Se você deseja trabalhar na interface do usuário, nas ferramentas e na jogabilidade, espere que esse tempo aumente. para mais de 50% à medida que você ganha mais experiência. Você estará sentado com designers seniores para planejar e demonstrar novas ferramentas e ver como eles usam as existentes. Infelizmente, esse tempo também sai da sua programação.


fonte
Não é bem como eu me lembro, mas ajuda quando o seu parceiro de treino realmente ensina coisas ;-)
coderanger
@ cododeranger: Acho que nenhum de nós recebeu muita ajuda do nosso parceiro de treinamento. ;)
26

Além dos pontos de discussão de alto nível levantados por Joe, há algumas outras coisas que você deve estar ciente.

  • Você normalmente usa algum tipo de ferramenta de rastreamento de erros ou de tarefas que seu lead utilizará para atribuir tarefas a você. Às vezes eles são os mesmos (ou seja, FogBugz). Às vezes, sua lista de erros é feita por um editor e sua lista de tarefas está em um wiki interno. Você não se senta e começa a fazer o que quer , suas tarefas serão direcionadas.
  • Às vezes, você será solicitado a estimar suas tarefas. Isso está implícito ao usar sistemas como o FogBugz. Parte de suas responsabilidades será / deve / pode ser dividir um recurso de nível superior em partes que você pode usar para estimar adequadamente quanto tempo levaria para ver como você está no caminho certo para terminar os marcos etc.
  • Muitos estúdios mudaram para metodologias mais ágeis / scrumm. A atualização de gráficos de gravação (ou seja, dizendo que você passou X horas na tarefa Y e espera que seja feita no tempo Z) é bastante comum. As reuniões de stand-up diárias são provavelmente um pouco mais comuns. De qualquer maneira, você fornecerá alguma visibilidade sobre o que está trabalhando.
  • Você estará usando o controle de versão / fonte. Quanto maior o estúdio, maior a probabilidade de eles usarem o Perforce. Você deve estar ciente do básico (verificar arquivos, confirmar arquivos, poder resolver seus conflitos de mesclagem local). Você também pode ser chamado a entender ramificações e mesclagens. Alguns estúdios funcionam onde todos os desenvolvedores obtêm sua filial local e você pode fazer o check-in o quanto quiser e mesclar quando a filial. Outros estúdios (os nossos) têm apenas uma política de "não desmembrar o main", portanto, você deve atualizar, fazer um teste rápido para garantir que não quebrou nada e depois fazer check-in. Alguns estúdios não têm essa política e as pessoas quebram a merda o tempo todo e é super irritante e você precisa aprender a contornar isso.
  • Revisões de código são bastante comuns. Às vezes, eles são do departamento de código. Nossa equipe usa uma abordagem de parceiro de código, na qual é mais individual para revisões de check-ins. De qualquer maneira, você deve esperar que forneça uma análise crítica do código de outras pessoas.
Tetrad
fonte
11

Acabei de terminar um estágio de 4 meses trabalhando em um jogo muito grande. O projeto estava muito atrasado quando cheguei lá; portanto, a maioria do que fiz foi a correção de bugs. De qualquer forma, isso provavelmente seria uma parte decente do meu tempo ... usando minha experiência com codificação para corrigir bugs, em vez de minha inexperiência com o desenvolvimento de jogos para projetar ou desenvolver recursos.

Muito do que fiz também foi relacionado à TI. O desenvolvimento de ferramentas internas foi algo importante - alguns para ajudar diretamente com os desenvolvedores de jogos, outros para automatizar coisas que foram feitas manualmente antes. E, claro, correções de bugs para outras ferramentas, incluindo o instalador do Microsoft Games for Windows Live.

O playtesting foi outra parte decentemente grande, e eu também fui responsável por fazer algumas das compilações enviadas aos playtesters. Os bugs no mundo do jogo são muito difíceis de localizar e exigem muito trabalho para descobrir a causa.

Eu não me especializei em jogos ou gráficos, portanto, presumivelmente, qualquer trabalho que você fez estaria mais relacionado à sua experiência do que isso. Mas espero que isso lhe dê uma idéia.

Matthew Read
fonte
4

Meu projeto final do ano é no elemento de tela HTML5. Atualmente, estou trabalhando em um estágio nos últimos dois meses, onde tenho que portar um jogo em flash existente para o HMTL5 canvas.

Pelo que posso lhe contar sobre minha vida aqui, bem, é difícil. A equipe de requisitos tem demandas muito específicas. Que clique do mouse deve estar fazendo o quê, como os efeitos devem se aplicar ao jogo. Não importa o quão difícil seja para o programador, mesmo para as solicitações mais bobas, ele precisa ser abordado e depois que todos os requisitos forem implementados. O relatório de erros é iniciado. Deus é tão irritante. Realmente começa a nos irritar. Um deslocamento de 1px por um clique pode tornar sua vida um inferno, confie em mim! Pode significar nova estrutura de todo o seu posicionamento e espaço de interação para que você possa acomodar seus caprichos e fantasias.

Mas também é divertido! :) A pura alegria de escrever essa função realmente inteligente, interagindo com a comunidade de como você pode recriar uma função que o flash executa automaticamente. Tudo isso. É nessa época que você não se arrepende de ter esse emprego. Faz com que pareça o melhor emprego do mundo, e para meus sobrinhos o mais legal do mundo.

Assim, um dia regular no meu trabalho estaria chegando para o trabalho implementando uma função. Pesquisando e pesquisando para aquela função que possibilita um recurso. Testando o inferno fora desse código. Corrigindo esse código. Discutindo com a comunidade como esse código pode ser otimizado. Então, escrevendo o que considero o melhor programa do mundo: P

No final do dia, estou principalmente satisfeito com o que consegui, às vezes ainda tenso sobre onde poderia ter feito melhor e o que poderia ter feito diferente e aperfeiçoado isso. Eu apenas na fase iniciante e, portanto, talvez não seja capaz de aconselhá-lo sobre como será no futuro, mas a partir de agora .. Eu acho que tenho o trabalho mais legal :)

Shouvik
fonte