Quando os jogos de computador são o seu trabalho: o dispositivo interno dos jogos na nuvem



Sobre como as empresas de jogos funcionam, Habré escreveu mais de uma ou duas vezes. As nuances da indústria de jogos são conhecidas por muitos. Mas poucas pessoas sabem como o trabalho é organizado em empresas da esfera dos jogos em nuvem. Este artigo dará uma idéia da cozinha interna desse setor usando o exemplo da empresa doméstica Playkey. Sob o corte, revelamos as nuances da organização dos processos de trabalho, falamos sobre os princípios de seleção e implementação de idéias, comunicação em equipe e responsabilidades dos desenvolvedores. Se você tiver dúvidas, pergunte nos comentários.

O que a empresa faz?


A Playkey é especializada em jogos em nuvem e tudo relacionado a ele. A empresa doméstica é veterana em jogos na nuvem, e começou mesmo quando essa área era composta por muitos geeks, e não o mainstream, como é agora. Só para garantir, vale a pena lembrar que os jogos em nuvem são quando todo o trabalho duro de processar os gráficos do jogo é realizado em um servidor remoto. Uma "imagem" pronta chega à tela do computador do jogador. Além da Playkey, os representantes desse nicho são o Google Stadia, GFN, PlayStation Now.



Quantas pessoas estão na equipe e quem são elas?


Agora a equipe é composta por 30 pessoas. São 10 desenvolvedores, 3 testadores, 2 gerentes de marketing, 1 especialista em SMM, 3 administradores de sistema, 2 gerentes de produto, além de um departamento financeiro, um advogado e alguns especialistas em outras áreas.



E sim, existe o Belyashik - o mascote permanente da equipe do projeto, que por exemplo pessoal mostra como você pode aproveitar a vida 100%. Ele pode ser chamado de Mastermind. É um gato.

Da ideia ao produto


O processo de tomada de decisões importantes no Playkey é o seguinte. Tudo começa com uma ideia - um novo recurso, produto, parceria ou outra coisa. Qualquer funcionário pode oferecer uma ideia.

Para ser aceita, a ideia deve ser fundamentada. São desejáveis ​​números e fatos que permitam provar a validade da proposta à equipe que toma as decisões. Inclui o fundador da empresa, o proprietário do produto e mais algumas pessoas. Se o autor da ideia conseguiu convencer a maioria dos representantes dessa equipe, o trabalho de implementação começa. Em alguns casos, o truque da vida "convencer o fundador" é usado - é difícil resistir ao seu charme e carisma.

imagem

Um bom estudo de caso é a implementação de um projeto de jogo distribuído. A idéia é que os proprietários de poderosos PCs de jogos, mineradores, aluguem os recursos de suas máquinas para outros usuários da Playkey. A vantagem é que não são necessários servidores dedicados, não há necessidade de data centers em diferentes regiões do país. Quando o usuário deseja jogar, o sistema seleciona nós, computadores mineradores que estão localizados geograficamente perto do jogador. Isso permite reduzir o ping e aumentar o prazer do jogo.

Portanto, o conceito de jogo distribuído foi proposto por um dos funcionários em 2017. Então o tópico blockchain e sistemas descentralizados em geral se tornou muito popular. A ideia foi expressa e bem fundamentada. Acontece que os jogos distribuídos possibilitam reduzir o custo do aluguel de servidores fixos e aumentar o número de usuários - jogadores de várias regiões, e não apenas os locais próximos aos quais existem servidores Playkey, se tornariam clientes.

Como resultado, foi decidido iniciar a implementação. Testar a hipótese levou muito tempo, a criação de tecnologia também não é uma questão rápida. Um ano e meio se passou desde o momento em que a primeira ideia apareceu na implementação do teste, e agora o projeto está se preparando para entrar em testes beta abertos em março de 2020.

Do desenvolvimento ao teste


Como em qualquer empresa de TI, os testadores desempenham um papel importante, todos eles são bons programadores. Cada um deles pode escrever código e desmontar, analisar o de outra pessoa. Eles estão envolvidos principalmente em testes funcionais e no desenvolvimento de testes automáticos. É impossível verificar tudo manualmente, e uma pessoa, mesmo sendo super profissional, comete erros de tempos em tempos. Portanto, sempre que possível, a automação é introduzida, testes de unidade, testes de integração etc. são executados.

É verdade que "habilidades difíceis" não são suficientes. A prática demonstrou que a empresa de alguma forma não se enraíza naqueles que não gostam de jogos. Na verdade, todos os membros da equipe lidam com jogos, mas desenvolvedores e testadores são mais que outros. É claro que, se você não gosta de jogos, será difícil trabalhar nesse nicho. Este é o caso quando o trabalho é divertido.

imagem

Gerenciamento de produtos e projetos


Os produtos são soldados universais. Eles desenvolvem uma estratégia, entendem como o produto deve funcionar, aparência e que impressão causar no usuário. E no caso da Playkey, eles também desempenham as funções de analistas e gerentes de projeto.



A Playkey é apresentada no mercado não apenas como um produto independente, mas também como um serviço adicional de parceiros, por exemplo, de operadoras de telecomunicações (por exemplo, TTK). A playkey é oferecida aos clientes da operadora como um serviço separado ou "bun" como parte da tarifa. Com esse esquema de operação, o serviço é incorporado ao ecossistema de outra pessoa. Para uma integração normal, é necessário organizar a interação entre a empresa e o parceiro, coordenar o desenvolvimento e teste, coordenar as atividades de marketing. Nesses casos, os produtos se transformam em projetos.

Comunicação de funcionários e organização do trabalho


A empresa possui dois escritórios - em Perm e Moscou. Além disso, há funcionários que trabalham remotamente. Para comunicação, o Slack é usado. Há um bate-papo principal e canais especiais para projetos e equipes individuais. A estrutura do bate-papo é ramificada e é conveniente - todos se comunicam sobre o caso, e o Slack tem a capacidade de demonstrar uma tela, o que geralmente é necessário em chamadas telefônicas.

Quanto à organização do processo de trabalho, por cerca de um ano e meio, foi utilizado um esquema com duas equipes de produtos. O primeiro trabalhou para alcançar os parâmetros ideais para a primeira sessão e a primeira compra. O segundo - tentou aumentar o tempo de jogo dos usuários, e também se dedicou a melhorar a qualidade da sessão de jogo.



Agora, um formato diferente é usado. Todo mundo tem uma estratégia de projeto comum, um objetivo comum. Os produtos estão envolvidos na busca de idéias, no estabelecimento de metas e no teste de hipóteses que conduzem a metas. Para cada novo "recurso", sua própria equipe é montada com um conjunto de competências necessárias e, após um lançamento bem-sucedido, é reorganizada para o próximo "recurso".

Diretamente no desenvolvimento, é usada uma combinação de Agile e Scrum, que provou ser mais eficaz. A primeira etapa do trabalho é o design. E depois há ciclos diários. As reuniões de trabalho são realizadas no escritório e on-line, mas com mais frequência no escritório, pois há poucos funcionários remotos. Embora, o designer trabalha da Espanha.

imagem

O ciclo de vida das tarefas técnicas é familiar para qualquer pessoa familiarizada com o Kanban. O ciclo de planejamento é semanal. Primeiro, projete, a tarefa é comissionada, uma revisão de código é conduzida, depois o teste, a preparação para o lançamento e o próprio lançamento. Todas as tarefas de desenvolvimento são divididas em cliente, servidor e cobrança. Cada equipe também fornece suporte técnico em sua área de responsabilidade.

imagem

Jira e Confluence são usados ​​como ferramentas para rastreamento de tarefas e acumulação de conhecimento. Graças a esse pacote, é fácil rastrear o destino de cada tarefa e encontrar todas as informações necessárias sobre um componente de projeto ou processo de negócios específico.

imagem

Envolvimento do processo


Nas empresas em que dezenas de pessoas trabalham, nem todo mundo entende por que e para quem o trabalho atual está sendo realizado. O mesmo aconteceu com a Playkey - alguns dos funcionários das equipes de produto viram o esboço geral do projeto e sabiam claramente qual era a tarefa e para o que estava sendo realizada. Os desenvolvedores escreveram seu próprio pedaço de código e consideraram o trabalho realizado. A qualidade geral do produto sofreu, pois os desenvolvedores simplesmente não tinham idéia do que o usuário final trabalharia.



A situação foi corrigida com a introdução de reuniões semanais da equipe. Eles começaram a se reunir para discutir não apenas a área de trabalho, mas todo o projeto como um todo. Agora introduzimos "comícios de pizza", que acontecem a cada duas semanas, às sextas-feiras. Todo mundo come deliciosamente e, ao mesmo tempo, descobre o que foi feito em duas semanas, como uma nova função ou aplicativo funciona, como as inovações afetaram o desempenho dos negócios. No final, cada um imagina para que serve o local de trabalho e o que pode influenciar ou já influenciou. E sim, a pizza aumentou muito o atendimento!

(não) Controle de funcionários


Como tal, não há controle. Somente o cálculo do tempo para resolver problemas é usado, mas o objetivo não é contabilizar o tempo de trabalho, mas uma estimativa do tempo da solução. O termo real é comparado ao planejado, as razões das diferenças são resolvidas e o planejamento adicional se torna mais preciso.



E a que horas e onde (de um escritório ou plantação de bananas no Uruguai) o trabalho é realizado - geralmente de maneira secundária. Enquanto as tarefas de negócios estão sendo resolvidas e a interação entre equipes e funcionários é eficaz, algum controle adicional não é necessário. O sucesso da empresa se deve à combinação de habilidades, conhecimentos e relacionamentos dos funcionários, e não ao tempo ou à localização geográfica. Toda liberdade e bondade!

All Articles