Como a Subcult Joint gerenciou mais de 2.000 folhas de sprite e mais de 10.000 luzes 2D no Cookie Cutter
Saiba mais sobre suas ferramentas 2D, além da atualização da última fase da versão LTS do Unity, que abriu novas possibilidades para esse beat-em-up inovador.
Como uma equipe pequena pode apresentar a animação desenhada à mão da melhor forma possível em todas as plataformas? A Subcult Joint passou seis anos trabalhando no Cookie Cutter, que inclui milhares de assets de alta resolução feitos com técnicas de animação tradicionais e otimizados no Unity. O estúdio precisava equilibrar visuais nítidos com uma jogabilidade ágil, e eles usaram extensivamente o 2D Lights para adicionar profundidade aos gráficos e ao design do jogo focado na exploração.
Continue lendo para saber como eles alcançaram essa visão - e a mudança surpresa de última hora que liberou recursos de gerenciamento de ativos mais rápidos e os ajudou a levar sua configuração de iluminação para o próximo nível.
O artista, animador, educador da Unity Learn e fundador da Subcult Joint, Stefano Guglielmana, começou a trabalhar no Cookie Cutter em 2018. Ele foi inspirado em um personagem rejeitado de um projeto anterior da Unity: Cherry, uma androide de fala dura. "Fiquei apaixonado pelo design dela, então comecei a criar animações para ela", diz ele. Stefano tinha uma visão clara da jogabilidade Metroidvania beat-em-up do Cookie Cutter, mas precisava do apoio de um desenvolvedor para concretizá-la. Depois de garantir o financiamento, ele contratou o programador Francesco Bizzini e uma lista de artistas e designers para colaborar no projeto.
Os resultados:
- Vendeu 60.000 cópias e gerou US$ 1.200.000 em um mês após o lançamento
- Gerencie facilmente mais de 2.000 planilhas de sprite e mais de 50 atlas de sprite
- Iluminação do jogo com mais de 10.000 luzes 2D
- Atualização bem-sucedida para o Unity 2022 LTS no meio do projeto
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
Empacotamento do conteúdo
Os visuais desenhados à mão do Cookie Cuttersão um ponto de venda importante. Stefano sabia que seria complicado criá-los, mas que o esforço extra valeria a pena. "A beleza dos olhos é o que nos faz apaixonar pelos videogames", diz ele. "Na Subcult Joint, admiramos os mestres do Studio Ghibli e da Disney. Não estamos nesse nível, mas, com o Cookie Cutter, queríamos aprimorar nossas habilidades de animação e criar um jogo muito legal."
Esse projeto é extremamente ambicioso para uma equipe pequena. A maioria dos ativos de arte (mais de 1.000 planos de fundo, sprites, animações e efeitos de partículas) é visualmente complexa e meticulosamente criada usando técnicas de animação tradicionais. Entre o personagem do jogador (Cherry) e os NPCs (27 tipos de inimigos padrão e cinco chefes gigantescos), cada personagem em Cookie Cutter tem de 20 a 40 animações. Cada uma dessas animações individuais pode levar de oito a 48 horas para ser concluída. Diferentes artistas usaram alguns DCCs diferentes, mas Stefano criou a maioria dos recursos no Adobe Photoshop.
Quando Stefano terminava uma ilustração, ele usava o PSD Importer para convertê-la em uma textura de 8K antes de otimizá-la no Editor para evitar problemas de estouro de memória de vídeo. O uso inteligente das configurações de importação de texturas ajudou a reduzir o tamanho da textura por plataforma, e seguir as práticas recomendadas, como a potência de dois, permitiu otimizações adicionais.
"Depois que terminei meu trabalho no Photoshop, criei manualmente minhas folhas de sprite colocando as células de animação uma a uma em um novo arquivo, sempre em um múltiplo de 512 x 512, seguindo a regra da potência de dois no Unity", diz Stefano. "A partir daí, o Sprite Sheet Editor da Unity facilitou o corte da folha ou a realização de outros truques, movendo o pivô ou o pixel da folha por quadro." Esses fluxos de trabalho garantiram que os visuais do Cookie Cutterfossem otimizados em todas as plataformas com o mínimo de problemas de desempenho.
Ao final do projeto, a Subcult Joint reuniu mais de 2.000 Sprite Sheets em mais de 50 Sprite Atlases, organizando-os por personagem. "O Sprite Atlases facilitou muito a exportação do jogo para os diferentes consoles de destino, mantendo uma taxa de quadros sólida", diz Stefano. "Estamos nos concentrando em atingir 60 fps para manter a jogabilidade e o desempenho geral suaves como manteiga. Isso realmente otimizou o uso da memória de uma maneira incrível e tornou os tempos de carregamento ainda mais rápidos."
Personalização da jogabilidade
Stefano queria evitar as armadilhas comuns em que ele viu outros jogos focados em animação caírem. "Os jogos com muitas animações podem ser desajeitados. Às vezes, o animador quer se flexibilizar e isso acaba prejudicando a jogabilidade", explica. "Com o Cookie Cutter, demos a mesma atenção à jogabilidade, de modo que o jogo parece tão suave quanto as animações quando você tem o controle em suas mãos."
Com isso em mente, ele precisava de uma maneira de trabalhar no Editor e ajustar a jogabilidade rapidamente, sem o risco de interromper o projeto. Isso levou ao que Francesco chama de um dos maiores obstáculos técnicos no lado da programação: Criação de um sistema flexível no Unity que funciona com pouca intervenção de código.
"Meu objetivo era oferecer aos designers uma maneira de personalizar qualquer aspecto do jogo diretamente do Editor", diz ele. Com a extensibilidade integrada da Unity, Francesco conseguiu adicionar suas próprias personalizações para preencher a lacuna de conhecimento entre ele e os artistas menos técnicos da equipe.
Para permitir uma jogabilidade vigorosa e combos de ação brutais, Francesco implementou a ferramenta visual de terceiros ActionGraph para criar e estruturar modularmente máquinas de estado finito no Unity. Quando os sprites de uma animação são carregados, o ActionGraph torna possível adicionar lógica de jogo a cada quadro, permitindo que os artistas ajustem configurações como colisores ou números de danos em tempo real. Por exemplo, Stefano pode usar o ActionGraph para adicionar um hitbox a um ataque e defini-lo como ativo em quadros específicos, ativar e desativar contadores de saltos, acionar a geração e o gasto de recursos de combate e assim por diante, sem envolver um programador.
Francesco também programou várias de suas próprias personalizações do Editor para permitir que mais membros da equipe de artistas da Subcult Joint contribuíssem com o projeto. Com base no sistema de visualização xNode, o UpWire permite que os artistas gerenciem facilmente entradas humanas e de IA, editem colisores, adicionem efeitos visuais a nós de animação específicos e muito mais.
"Eu o desenvolvi para ser um verdadeiro editor de combate", explica ele. "Ele lida com todas as variáveis do jogo, de modo que movimentos específicos só podem ser executados se o jogador tiver desbloqueado essa habilidade, arma ou atualização e estiver na posição correta - ataques aéreos versus ataques terrestres, por exemplo." O UpWire também lida com configurações como força física, translação de posição e rotação do corpo, para que os artistas possam experimentar a mecânica de combate com mais facilidade.
O Timeline EZ Events, outra das ferramentas personalizadas de Francesco, permite que os designers enviem mensagens e chamem funções diretamente no Editor, quase sem limites de parâmetros, incluindo Scene Objects, e adicionem várias funcionalidades a um GameObject. Por exemplo, a equipe pode criar uma alavanca que destranca uma porta quando puxada e, ao mesmo tempo, ocultar um marcador de "porta trancada" no mapa e no minimapa.
Para ajudar os designers a trabalhar no minimapa do Cookie Cutter- algo crucial para qualquer jogo focado em exploração - Francesco criou o EzMiniMapPro. "Ele é usado para criar mapas para áreas de jogos e tem algumas personalizações e otimizações úteis para a geração de imagens", diz Francesco. "Em tempo de execução, ele suporta marcadores de sobreposição animados e máscaras de exploração automáticas com base no que a câmera vê. A máscara pode ser gravada e restaurada por meio do SaveGame."
Criar e implementar essas personalizações deu trabalho, mas liberou a liberdade criativa em toda a equipe, dando a todos na Subcult Joint um lugar na mesa sobre o design, a mecânica e o equilíbrio da jogabilidade do Cookie Cutter.
Projetando o mundo
O enorme mundo de Cookie Cutter, a Megastructure, apresenta nove áreas a serem exploradas. Depois que a arte conceitual de uma área era finalizada, o designer de níveis da Subcult Joint, Gabriel Raymond Roy, colocava uma caixa cinza em cada área para criar um labirinto a ser descoberto pelos jogadores.
"Um bom designer de níveis sabe como criar caminhos primários e secundários que são divertidos de explorar e também de refazer", diz Stefano. "Cada beco sem saída deve ter algum tipo de recompensa para o jogador, e cada área aberta deve ter encontros com inimigos para que os jogadores possam cultivar materiais."
Depois que uma área estava em uma caixa cinza, Stefano e os designers decoraram a cena com detalhes do ambiente, organizando os Sprites desenhados à mão em camadas em quatro pontos no eixo Z. O Cookie Cutter usa uma visão de câmera em perspectiva sem paralaxe codificada, portanto, quando o jogador se move, ele pode ver elementos "deslocados" em perspectiva. A Cherry fica no ponto "padrão" ao lado de GameObjects interativos, como inimigos, itens e plataformas, enquanto o primeiro plano, o plano de fundo e os elementos "distantes" não interativos adicionam profundidade simulada à visualização da cena.
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
Iluminação da megaestrutura
"Tentamos dar a cada área uma personalidade única, embora com o cenário cyberpunk e nosso amor por cabides e fábricas de Metal, não sei se fomos bem-sucedidos", brinca Stefano.
Para dar a cada zona seu próprio sabor visual, a Subcult Joint fez uso intenso de luzes Spot e Freeform 2D no URP. O mundo do Cookie Cutteré iluminado por mais de 10.000 deles. "Cada luz do jogo ilumina nossos Sprites em tempo real, criando uma sensação de densidade e coesão entre os personagens, as animações e os ambientes", diz Stefano. "Em locais escuros, os personagens são sombreados e banhados em luz quando são expostos às claraboias saturadas e contaminadas nas áreas externas. Gosto muito desses detalhes!"
A Subcult Joint usou as luzes 2D da Unity imediatamente, sem gerenciamento especial, aplicando-as nas mesmas camadas do eixo Z que os sprites do ambiente. "As luzes 2D padrão são incríveis para iluminar a área de jogo, e é ótimo poder decidir quais camadas elas podem afetar", explica Stefano. "Queríamos que a camada padrão fosse sempre clara para o jogador, para que ele soubesse onde pode andar e onde não pode. Em seguida, adicionamos luzes às camadas de fundo, primeiro plano e distante."
A iluminação 2D atraente do Cookie Cutterdesempenha um papel importante no design geral do jogo. Como um Metroidvania, é um título voltado para a exploração. A iluminação é usada para fornecer pistas ambientais para o jogador. "A iluminação conta uma história - ela mostra ao jogador para onde ir, conduzindo-o ao caminho principal ou ocultando caminhos secundários opcionais", explica Stefano.
Luzes piscantes são usadas para chamar a atenção do jogador. Stefano compartilha como ele criou esse efeito: "A beleza das luzes 2D é que você pode animá-las", diz ele. "Criar luzes cintilantes é muito simples: Você seleciona a luz, vai para a janela de animação, cria outra animação e brinca com a intensidade - 0, 9, 0, 9 - e copia essa animação para outras luzes se quiser criar o mesmo efeito em outro lugar."
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
Desbloqueio de benefícios de bônus com uma atualização de versão de última hora
Quase no final do desenvolvimento do Cookie Cutter, os problemas de estouro de memória de vídeo se tornaram um obstáculo para a versão do PlayStation 5. A Subcult Joint percebeu que precisava atualizar sua versão do Unity para corrigir o problema.
Fazer isso tão perto do lançamento não era o ideal, mas não alcançar o enorme público do PlayStation não era uma opção - então eles arregaçaram as mangas e começaram a trabalhar para mover o projeto para 2022 LTS. Essa versão de suporte de longo prazo lhes deu acesso a novas ferramentas de criação de perfil e depuração, como o Memory Profiler atualizado.
"O novo recurso de comparação de instantâneos do Memory Profiler nos ajudou a identificar e resolver os problemas persistentes de estouro de memória de vídeo", diz Francesco. "O 2022 LTS também é mais rápido para importar texturas, e a atualização tornou nosso jogo muito mais estável no final."
No fim das contas, a mudança para a versão mais recente do Unity permitiu que eles adicionassem uma camada final de polimento visual ao Cookie Cutter que não teria sido possível de outra forma, já que agora eles tinham acesso ao sistema 2D Lights pronto para produção. Isso significava revisar e corrigir individualmente as milhares de luzes 2D experimentais do jogo com base nos novos parâmetros - um processo que, felizmente, ficou mais rápido com os novos recursos.
Com os Sprite Atlases atualizados do 2022 LTS, a Subcult Joint pôde enviar centenas de animações desenhadas à mão para diferentes plataformas de destino com mais facilidade e eficiência. E a versão completa do 2D Lights do URPajudou a adicionar ainda mais profundidade e humor aos ambientes.
"Usamos o novo 2D Light Explorer para selecionar cada luz e fazer ajustes manualmente", explica Stefano. "Estávamos usando principalmente luzes Spot e Freeform, e o 2022 LTS realmente tinha um recurso de falloff atualizado para luzes Freeform que era muito mais bonito do que o antigo. Foi um trabalho árduo, mas conseguimos corrigir os problemas mais comuns e melhorar ainda mais o jogo."
O jogo de estreia da Subcult Joint, Cookie Cutter, é um exemplo da mágica que acontece quando artistas e programadores podem trabalhar em sintonia. Essa pequena equipe criou um jogo Metroidvania visualmente ambicioso e bem-sucedido que vendeu mais de 60.000 cópias no primeiro mês, e eles conseguiram manter a visão original sem comprometer os gráficos ou a jogabilidade.
A atualização para o 2022 LTS não só ajudou a Subcult Joint a resolver os desafios técnicos remanescentes, como também permitiu que eles maximizassem o alcance da plataforma do Cookie Cuttere elevassem o jogo ao seu potencial máximo.
Alimente suas ambições com o Unity 2022 LTS
Desenvolvido com base em anos de feedback e testes de usuários, o Unity 2022 LTS oferece novos recursos e aprimoramentos estáveis para que você possa criar com confiança usando a tecnologia mais recente. Otimize seu jogo para as plataformas mais recentes e ofereça visuais de alta qualidade que podem ser dimensionados em vários dispositivos.
Explore o estudo de caso
Preencha este formulário para ter acesso às últimas histórias de criadores.