Que técnica de animação é usada em 'Dont Starve'? [fechadas]


12

Enquanto jogava alguns jogos no meu período de folga pessoal, deparei-me com um jogo de sobrevivência 2D / 3D de sobrevivência. Aparentemente, o jogo foi feito em SDL e GLUT (não morrer de fome), mas o que realmente me surpreendeu foram as animações do jogo.

As animações são extremamente suaves e fluentes. Não há distorção durante a animação, o que geralmente acontece nas animações feitas à mão é que os pixels são removidos, as animações são irregulares e simplesmente não são tão suaves. Isso me fez pensar em como eles conseguiram obter essa qualidade de animação. Eles eram realmente feitos à mão (se foram, então deve ter levado um artista muito talentoso), é animação óssea ou eles estão usando outra técnica?


2
Gostaria de sugerir que você entre em contato com os próprios desenvolvedores para obter informações precisas sobre as tecnologias usadas. Qualquer um que não funcionou no jogo pode simplesmente estipular sem ter certeza.
DogDog 23/11/12

2
Bem, ao fazer essa pergunta, fiz algumas suposições, que são: 1. Entrar em contato com os próprios desenvolvedores tem uma chance muito baixa de sucesso (por que alguém compartilharia seus segredos com uma pessoa aleatória e quanto tempo eles terão para verificar seus e-mails? ?) 2. Posso obter uma resposta muito mais rápida neste site, que consiste em pessoas com anos de experiência e cujas respostas eu valorizo, mesmo que sejam apenas especulações e, por último, os próprios desenvolvedores possam estar usando este site e poderia responder a essa pergunta, mas isso está muito longe.
Bugster

1
A maioria dos programadores é realmente aberta a compartilhar seus conhecimentos, e eu não acho que a maneira como eles fazem suas animações 2D seja um segredo, acho que vale a pena tentar. Talvez se você lhes contar um pouco sobre você e por que deseja que elas sejam mais interessantes para ajudá-lo ou dar conselhos.
DogDog 23/11/2012

1
Consulte as Perguntas frequentes sobre " que tecnologia algum jogo em particular usou " Perguntar como obter um efeito semelhante seria uma pergunta muito melhor. (Embora provavelmente uma segunda via algo já no site.)
Michaelhouse

Esta questão parece estar fora de tópico, porque é sobre a tecnologia que outro jogo usou.
MichaelHouse

Respostas:


40

Meu nome é Kevin e sou programador / designer da Klei. Escrevi várias coisas de animação que usamos na série Shank, Mark of the Ninja e Don't Starve.

Nossos animadores trabalham em Flash. Temos o conceito de um 'build' de personagem que é um conjunto de símbolos de partes do corpo com várias visualizações. Dependendo da fidelidade do jogo, existem mais ou menos partes do corpo com mais ou menos 'visão'. Eu acho que Shank teve cerca de 30 partes do corpo com 1-2 dúzias de visualizações cada, enquanto Wilson, da Don't Starve, tem cerca de uma dúzia de partes do corpo com apenas o mesmo número de visualizações. Os scripts JSFL personalizados são usados ​​para analisar as linhas de tempo dos símbolos flash e, em seguida, criar as imagens relevantes como uma série de arquivos PNG de alta resolução, juntamente com um monte de metadados que colamos em um XML.

Dada a construção de um personagem, nossos animadores criam um novo símbolo raiz em outro arquivo para conter um pedaço de animação para esse personagem. Nessa linha do tempo, eles criam o personagem a partir de símbolos de construção e o movem, interpolam etc. para criar animações individuais (que são demarcadas usando rótulos de quadro). O script exportador exporta essas linhas do tempo para XML, observando a transformação 2D de cada peça de construção e qual exibição ela está mostrando.

Com todas essas informações exportadas para XML e PNG, executamos uma série de scripts Python para convertê-los em dados de tempo de execução. Um script reduz o tamanho, atlas e mips todas as texturas e as converte em (um ou mais) formatos compactados, específicos da plataforma. Outro script processa os dados de animação XML em um formato binário mais eficiente para carregar.

Em tempo de execução, é realmente apenas uma questão de mostrar os símbolos de construção certos com as transformações e visualizações corretas.

Esse sistema levou muito tempo para ser construído e foi aprimorado à medida que o movíamos de um jogo para outro. Estou examinando muitos detalhes (como lidamos com camadas e troca de roupas em tempo de execução), mas esse é o esquema geral.

Obviamente, a tecnologia que usamos é provavelmente o aspecto menos importante do 'Klei Look'. A parte mais importante é que temos um monte de animadores muito, muito bons. :)

Enfim, espero que isso ajude. Se você tiver mais perguntas sobre o Don't Starve, pode visitar nossos fóruns, onde geralmente fico feliz em conversar sobre compras.


1
obrigado pela profundidade. Eu acho que o sistema que você realmente ajuda a facilitar um grande número de personagens altamente fluidos, que a maioria das equipes de pequeno orçamento (e algumas de alto orçamento) só poderia imaginar. É certamente seguro dizer que se você estivesse apenas fazendo arte de sprite, sem interpolação / transformação de partes do corpo, ou apenas transformações e sem estados / pontos de vista, não seria tão incrível. Como você disse, uma ferramenta está fazendo um bom trabalho quando sai do caminho e deixa o artista brilhar, o que Klei faz muito. Eu tenho que dizer, eu amei todas as suas coisas, e obrigado pelas portas do PC.
Norguard 3/12/12

2
Ainda bem que pude ajudar! Eu acho que nossos artistas realmente preferem trabalhar em um sistema em que apenas cortamos todos os quadros como um sprite, mas não poderíamos fazer troca de roupas, e os tamanhos de textura seriam proibitivos.
Kevin

1
Incrível, nunca pensei em obter uma resposta de um desenvolvedor do jogo. Agradeço por dedicar um tempo para responder a isso. +1
Bugster

7

Klei normalmente usa uma combinação muito boa de animações esqueléticas e mudanças de sprites.
Eles montam um esqueleto, aplicam sprites nos ossos e depois trocam sprites conforme o quadro de animação exige.

O "como" exato (fluxo de trabalho / ferramentas / etc) pode realmente vir apenas deles, no entanto, eles disseram isso quando anunciaram o "Shank", pré-lançamento.

E se você olhar para Shank / ShankII, Mark of the Ninja e Don't Starve, notará que a animação se parece muito com as coisas que podem sair da Nickelodeon.

Eu imagino que eles estejam trabalhando com gráficos de cena para manter tudo sadio também, mas, novamente, isso é mais uma suposição baseada na complexidade e no que funciona para animação (2d / 3d) do que uma garantia.


Como isso é apenas um palpite, provavelmente funcionaria melhor como comentário. Não é realmente sua culpa, não há como não adivinhar, a menos que você seja o desenvolvedor. (problema com a pergunta, não é a sua resposta)
MichaelHouse

Isso praticamente responde à pergunta que fiz, eu tinha algo parecido em mente, mas parece que você está certo.
Bugster

2

Eu acho que eles definitivamente usam animação óssea. Eles também usam sprites de alta resolução (para evitar irregularidades) ou usam alguma forma de gráficos vetoriais. É inteiramente possível, eles pré-renderizaram gráficos vetoriais em sprites de alta resolução. Eles definitivamente não usaram pixel art para este. :)


2
Mais um comentário do que uma resposta, você não diria?
MichaelHouse

gráficos vetoriais em openGL? É possível, mas eu realmente duvido que um desenvolvedor indie fosse tão longe.
Eric B

1
@EricB Tudo bem, ele pode ser pré-renderizado em sprites ou pode ser desenhado à mão e renderizado em alta resolução. Definitivamente, não são sprites no "sentido clássico" (como pixel art), como Spelunky e Cave Story.
AturSams

@ Byte56 eu concordo com você. Estou respondendo mais sobre como obter visuais semelhantes do que o artista deles fez neste.
AturSams

@ Byte56, já que a pergunta é tão difícil de responder, as únicas respostas viáveis ​​são suposições, mas essa resposta pode muito bem ser uma possibilidade, obrigado.
Bugster
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.