quinta-feira, 13 de fevereiro de 2014

Ganhando concurso internacional LIKE A BOSS!!

E ai pessoal, beleza?

Chegou hoje nosso presente de aniversário... ficamos sabendo hoje que a gente ganhou o Viope Game Development World Championship 2013-2014, tanto o Pro Track quanto o Main Prize! Aeeeeeeeeeeee porra!!!

Essa é a segunda edição desse concurso e tem uns prêmios bem legais, recomendo pra quem é dev ficar esperto porque já anunciaram que a versão 2014-2015 vai acontecer em Setembro! Esse ano de acordo com os dados que temos, houveram 749 inscritos, e abaixo tem um trailer dos 11 finalistas mostrando um pouquinho do gameplay de cada um deles.


Nós não esperávamos nada desde concurso, até pela versão do jogo ainda muito crua, só voltamos a trabalhar no jogo essa semana.... então posso dizer que foi uma agradabilíssima surpresa =). Como prêmio, vamos receber algumas licensas de Unity Pro, que é sempre bom (só temos uma), a oportunidade de negociar com Microsoft e Rovio Stars (publisher da Rovio) sobre a publicação efetiva do jogo, e por fim uma viagem com tudo pago pra equipe inteira ir pra Finlândia, fazer um tour por estudios monstros que existem lá.

A gente ta, por falta de outras palavras, felizes pra caralho, e 10x mais animados agora pra fazer essa porra desse jogo logo porque a gente ta ansioso pra burro pra ver o negócio pronto!

Bom dessa vez é isso pessoal, só queria compartilhar a alegria e reforçar o que ja disse antes por aqui: participe de todos os concursos possíveis, nao importa se seu jogo ta no alpha, se é simples, se é feio, se é cagado... uma hora vc pode dar sorte, igual a gente! ahuahuahauha

Valeu pessoal, até a próxima!

domingo, 9 de fevereiro de 2014

Aniversário de 2 anos da Fire Horse!!!

E ai pessoal, beleza?

Essa semana a Fire Horse comemorou DOIS ANOS de existência! Aeeeeeeee!!! To uns 3 dias atrasado pra fazer esse post (completamos 2 anos no dia 6 de fevereiro) mas quem se importa não é mesmo? Depois da bebedeira braba... digo, depois daquele projeto pesadíssimo que realizamos precisávamos de uns dias de folga... sabe como é... =P

Como vocês podem ver, alguém que entrar aqui e olhar as ultimas postagens... e a DATA das ultimas postagens... deve pensar "pqp... ou esses kra faliram ou abandonaram de vez o blog no mínimo..." e fico feliz de dizer que nem um nem outro! O blog tem estado meio... esquecido sim, infelizmente... o tempo ta muito apertado, realmente seria bom tirar umas férias mas viajar conhecer o mundo e dormir uma noite inteira não da XP né. E também não falimos, afinal de contas com todo esse trampo a gente deve estar nadando na grana.... (#soquenao)

Olha o Danilo pegando uma corzinha com toda a grana que a gente ganhou...
Bom, mas chega de enrolar. Como alguns podem lembrar, ano passado eu fiz um post semelhante aqui no blog, comemorando nosso primeiro ano de existência. Lá eu conto toda nossa trajetória naquele ano, o que conquistamos, o que foi legal, o que nem tanto, de onde surgimos e tudo o mais. Se você não leu, pode ser legal dar uma olhada. Esse ano eu quero repetir a experiência e contar tudo pelo o que passamos nesse segundo ano de existência, de 6 de fevereiro de 2013 a 6 de fevereiro de 2014.

Com certeza esse foi um ano em que nós ficamos mais quietinhos que ano passado. Não participamos de praticamente nenhuma competição (na verdade NÃO TEVE quase nenhuma competição), trabalhamos MUITO tempo em projetos pra clientes e pouco tempo em projetos próprios, nos dedicamos a alguns projetos relativamente grandes... em poucas palavras, foi mais um ano de muito trabalho, e com certeza mais um ano em que aprendemos MUITO sobre dev e o negócio em si.

Pra PC da até pra ter sombra dinamica e a porra toda...
Mas, começando de onde paramos, saímos do ano passado com um demo de Like a Boss, desenvolvido para a GGJ 2013. Vocês podem encontrar o jogo aqui e um post contando como foi a participação no GGJ aqui. Logo depois da Global Game Jam, nós tivemos ótimas notícias: nossas negociações com o Cartoon Network tinham finalmente acabado e fechamos um projeto sobre a série Level Up, para iOS e Android. Inicialmente esse projeto deveria ser um reskin de Knight's Trial, mas nós queríamos entregar algo melhor. Refizemos o jogo do 0, afinal de contas tinha muita coisa de programação que eu aprendi no meio tempo, o jogo ficou mais leve, mais detalhado, com mais sistemas implementados como o sistema de missões, com inimigos muito mais interessantes, enfim, um jogo MUITO superior ao Knight's Trial em vários aspectos.

Como na série, Dante, Wyatt e Lyle vs Maldark, o vilão da porra toda
Vocês podem ler um pouquinho mais sobre o jogo em outro post que fiz na época, que pode ser encontrado aqui. O desenvolvimento do Level Up: Heroes of Neverfail foi desde o meio de Fevereiro até Junho, e traduzimos (com ajuda do Cartoon) o jogo pra 8 línguas. Foi um projeto bem completinho, bem puxado, e muito legal de trabalhar. A gente se sentiu como juntar o útil ao agradável... o útil de fazer advergame, que por sua vez paga as contas imediatamente e não depende de dar certo/marketing/a porra toda, e o agradável porque é um advergame divertido, é realmente um jogo completo, e não o dollynho andando no cenário do Mario mal feito... =P E tem mais uma coisa MUITO foda de fazer esse jogo...


Sério... fazer um jogo e esse cara narrar um comercial do seu jogo, com o comercial passando na TV e tudo o mais? Nossa, muito foda, quando criança eu nunca imaginaria que esse cara ia narrar o comercial de um jogo que eu fiz! O jogo foi publicado pelo próprio Cartoon e pode ser encontrado no Google Play e na App Store, mas como vocês podem ver pelo número de downloads, o resultado não foi lá muito satisfatório, infelizmente. Mesmo assim, o pessoal do Cartoon adorou trabalhar com a gente e a gente com eles, são o cliente perfeito, não enchem o saco desde que você mantenha eles informados, e nós oferecemos um produto que era muito mais do que eles tinham pedido, porque a gente queria fazer o melhor jogo possível.

Uma porrada de bixo, magia voando pra todo lado, nego morrendo... assim que a gente gosta
Ao terminar esse jogo, no final de Junho, decidimos que era hora de trabalhar no nosso projeto, Like a Boss. Nós ficamos tão apaixonados com o conceito que criamos na GGJ que não víamos a hora de continuar o projeto e tornar ele um jogo completo. Nós queríamos ter o jogo o mais completo possível para o SBGames 2013 e, mais tarde para o IGF 2014. Começamos o projeto a partir do zero no dia 1o de Julho, e descobrimos que a data final das inscrições do SBGames seria dia 1o de agosto, e não 31 de agosto como no ano retrasado. Isso deixou a gente bem preocupado... tinhamos exatamente um mês pra produzir o máximo possível para enviarmos o projeto para o SBGames, então acho que nem preciso dizer como foi puxado esse mês. Na época, contávamos com a ajuda do Felipe Portella, que trabalhou com a gente de Julho até Setembro, mas tivemos que fazer alguns "game jams" nesse mês pra conseguir entregar o que tínhamos planejado.

A maior diferença entre aquela época e hoje em dia é a interface, que ainda estamos trabalhando em cima pra falar a verdade
No começo de Agosto enviamos o jogo para o SBGames, um Alpha do Beta do Demo basicamente, e continuamos pegando pesado na produção, preocupados com o deadline do IGF que seria em outubro. No nosso plano inicial para o jogo, calculamos 1 ano de desenvolvimento, desde que ficássemos focados apenas no desenvolvimento do Like a Boss. Nesses 3 meses que teríamos para desenvolver o jogo, queríamos ter no mínimo metade dos sistemas já implementados. Teríamos de fazer 6 meses em 3, e já seriam 6 meses puxados, imagina em 3??? Dormir em casa era um luxo que eu raramente tinha, o único motivo de voltar para casa era o chuveiro (pq também ninguém merece né lol) e mesmo assim simplesmente não ia dar tempo de fazer tudo que queríamos.

Pra completar a desgraça, nós estávamos tendo de dividir nossa atenção em outro projeto grande, e ainda por cima realizar correções nos bugs que foram surgindo do Level Up. Não existiam horas suficientes no dia pra fazer tudo que precisávamos, e logo tivemos que cortar grande parte das coisas que havíamos planejado. Verdade seja dita, ficamos mais do que um mês sem nem abrir o projeto do Like a Boss nesse período, o que foi realmente muito triste. Em outubro, fechamos a versão "atual" do Like a Boss, que infelizmente AINDA é um Alpha do Beta do Demo... =/ mas foi o que deu.

Com direito a imagem artística
Também em outubro, aconteceu o SBGames, do dia 16 ao 18. Estávamos la, mostrando o Like a Boss, vendo palestras show de bola, e apesar da navegação bem.... precária do evento, foi novamente uma experiência muito legal. Revimos vários velhos amigos indies, fizemos novos, apresentamos o Like a Boss no auditório (que foi foda DEMAIS), recebemos muito feedback sobre o jogo, conhecemos jogos dos outros indies por ai... sério, foi show de bola. E no penultimo dia, houve a premiação do festival de jogos, em todas as categorias. Em primeiro lugar, quero dizer que a gente só participou da categoria de jogos em desenvolvimento, diferentemente do ano passado (que não sabiamos que era uma categoria separada), escolhemos essa categoria conscientemente, o jogo estava MUITO cru, muito, muito cru. Em segundo lugar... NINJIN! hahahahah (pra quem não conhece, Ninjin é o jogo do pessoal da Pocket Trap, e pode ser baixado aqui, para iOS. É free, recomendo experimentar). E em terceiro lugar, recebemos o título de Menção Honrosa para Jogos em Desenvolvimento, juntamente de outros 3 jogos. Não houve colocação para os jogos em desenvolvimento, apenas Menção Honrosa de valor igual para os 4 jogos, o que já foi foda demais =).

É sempre muito loco apresentar seu jogo pra uma platéia grande que ta la só pra ver seu jogo... (e mais uns 200 que iam se apresentar aquele dia huahuah)
Ainda em outubro, aconteceu o Unite Brasil, pela primeira vez na história, e nós não podíamos ficar de fora. E acho que não tem muito a falar do Unite... sei la, acho que só uma coisa... foi FODA! Sério, eu não esperava que ia gostar tanto do evento. As palestras foram foda, a bolsa de brinde foi foda hauhauh, conhecer o David Helgason (CEO e co-founder da Unity), mostrar nosso jogo pro cara e ele curtir, pedir pra gente mandar um e-mail pra ele pra ele encaminhar o jogo pro pessoal do novo sistema de publishing do Unity... enfim, foi do caralho, pra quem não pode comparecer, recomendo ano que vem não perder a chance. Alias, espero que aconteça ano que vem! Vocês podem ler um pouquinho mais sobre essas duas experiências nesse post.


Finalmente, agora livres de outros projetos, deadlines e tudo o mais... agora, no final de outubro, é a hora de trabalhar no fucking Like a Boss!!! Aeeeee!!! Só que não. Bom, digamos assim... com o dinheiro curto, nós tivemos de aceitar 3 outros projetos tudo a ver com jogo. Um era pra modelar sorvete pra um rótulo, o outro pra modelar cabelo, e o outro fazer um hotsite pra uma promoção. Nem preciso dizer que isso ocupou o tempo de nós três, eu programando o site (que não é nem de perto minha especialidade, e já veio com a arte pronta), e o Fernando e Danilo modelando/texturizando/tratando imagens de cabelo e sorvete. Doido DEMAIS!!!111

Isso que é cabelo danificado, da até orgulho... hauhauha mais um produto by Fire Horse... hauhauh
Agora no começo de Novembro, quando terminamos esses projetinhos, agora sim era era de voltar pro Like a Boss!!! Só que não (de novo). Dessa vez com notícias bem melhores, pelo menos. Através do SBGames, vimos uma palestra sobre como buscar investidores, e através de uma dica do Fernando Vasconez, palestrante aquele dia, nos inscrevemos para o evento Startup Sauna, no Rio, onde 8 projetos seriam escolhidos para realizar um pitch para um pessoal elite da Finlândia, inclusive o pessoal da Rovio. O evento era pra qualquer tipo de projeto (não era voltado pra jogos) e ficamos sabendo que íamos apresentar NO DIA da apresentação... tipo, estava em São Paulo, 11 da manha, quando chega o e-mail "Vocês vem apresentar né, as 18hrs da tarde?".... Dizer que foi UMA PUTA CORRERIA não seria suficiente pra explicar o que foi esse dia... eu ainda estava em casa e corri pra procurar passagem, enquanto o Fernando que estava no escritório começou a montar um powerpoint básico, voei pra me arrumar, passei no escritório, peguei o pendrive com a apresentação, nem ABRI o powerpoint, corri pra Guarulhos pra pegar o voo, e por milagre divino cheguei a tempo. Chegando lá tive a agradável surpresa de encontrar o pessoal da BitCake, responsável pelo Projeto Tilt (que pode ser jogado aqui). Copiei nossa apresentação pra máquina da organização, olhei pros slides pela primeira vez pra saber do que que eu tava falando rapidinho enquanto copiava, e esperei a hora.

PS: Como sou burro e não tenho amigos, não tenho nenhuma foto do evento inteiro -.-

Fui o segundo a apresentar e eu estava nervoso pra caralho. Não sabia direito o que ia falar, era só 3 minutos e eu tinha que falar coisa pra burro, enfim, não esperava absolutamente NADA. Fiz a apresentação totalmente despreparado, vi várias apresentações muito legais, inclusive do pessoal da Bitcake, e chegou a hora de anunciar o vencedor, que iria para o Slush, na Finlândia, apresentar o projeto pros caras mais fodas do mundo. Fizeram um drama desgraçado, e o vencedor foi um cara com um projeto realmente muito legal, eu não lembro dos detalhes mas era sobre remédios (hauhauh é foda, peço desculpas pro cara por falar assim, era um projeto legal de verdade mas realmente não lembro e não estou achando aqui em lugar nenhum). Eu não esperava nada do evento, mas pra minha surpresa o cara continuou falando, que só iam premiar um, mas gostaram tanto de outro projeto que iam pelo menos dar um ingresso grátis pro segundo lugar, já que não tinham verba pra bancar duas viagens e tudo o mais... e falaram de como é importante ter paixão pelo seu projeto e não só ver como um investimento, como os investidores procuram gente que é realmente dedicada ao que faz... e foi assim que falaram que queriam muito que a Fire Horse fosse pro Slush também. Foi foda demais, principalmente porque era inacreditável, não fazia nem sentido, fiz uma apresentação bosta e mesmo assim... haha foi animal. Conversei com muita gente aquele dia, fiz muito contato, foi foda falar com o Peter (o cara fodão da Rovio) e ouvir que estamos no caminho certo, que o Like a Boss tem futuro... infelizmente não conseguimos ir para a Finlândia e participar do evento, não tínhamos condições de pagar a viagem, estadia e tudo o mais, mas mesmo assim foi uma experiência FODA. Tudo isso foi no dia 1 de novembro.

Pra quem procura investidores, esse é o lugar pra ir. Infelizmente a gente não conseguiu participar =/
Voltando pra casa, outra notícia boa. Nós mantivemos contato com o Cartoon durante todo esse tempo, depois de terminar o projeto do Level Up, os caras gostaram muito de trabalhar com a gente e queriam repetir a dose, e nós também. Depois de muita conversa que rolou em paralelo por todo esse tempo, fechamos em Novembro um novo projeto, dessa vez de uma série só um pouquinho mais conhecida.... Adventure Time! Infelizmente, pedimos para eles um mês para começar o projeto, pois estávamos tentando terminar um outro projeto de outro cliente, que já está conosco a um boooom tempo e ainda não foi acabado. Começaríamos em Dezembro e teríamos algo para mostrar antes do Natal. No entanto, enquanto trabalhávamos neste outro projeto, fizemos contato com um pessoal novo, que queriam fechar uma parceria, eles forneceriam projetos e clientes, e nós como uma equipe de desenvolvimento. Como a grana estava curta, decidimos embarcar na parceria e eu não posso entrar muito em detalhes, mas continuamos trabalhando juntos e eu acho que muitos frutos ainda vão surgir dessa conversa.

Por enquanto o nome (e a mecânica) é Generic Soccer 2014... mas vamos fazer umas coisas legais com esse jogo (que não posso falar ainda)
Novembro passou num piscar de olhos, não terminamos o projeto que queríamos terminar, mas criamos o alpha de dois projetos dentro dessa parceria. Não posso entrar em detalhes sobre nenhum dos dois, mas criamos apenas um demo, e conforme o andar da carruagem, quando estiverem prontos eu volto a postar aqui no blog sobre eles.

Com a chegada de dezembro... AGORA SIM VO FAZER LIKE A BOSS PORRA!!!111111 Opa, mas esqueci, tem o jogo do Adventure Time... (isso que é reclamar de boca cheia né huAHuaHUAHa "que merda, não posso fazer meu jogo porque tenho que fazer o jogo do Adventure Time...). Alias, pra quem não conhece (e tem morado numa caverna nos ultimos anos), vocês podem ver um pouco mais sobre o desenho aqui. Passamos o resto de dezembro produzindo o jogo, que sem dar muitos detalhes é um roguelike com dungeon procedural para web (inicialmente), e atualmente o jogo ta mais ou menos assim...

Ainda falta muito, e tudo que ta ai pode mudar... mas, a gente espera que fique legal!
Infelizmente... é mentiraaaa!! hahah Tudo no screenshot acima são assets do jogo, modelados e texturizados (na verdade é tudo render), mas infelizmente ainda não consegui implementar esse assets DENTRO do jogo... tenho trabalhado pesado no Dungeon Generator do jogo, e só agora que vim a trabalhar com movimentação do personagem/implementar inimigos (mais sobre isso já já). Tiramos uma semana de folga no final do ano (eu diria até 2, porque estamos ostentando, mas trabalhamos de casa uma dessas semanas), e voltamos a trabalhar presencialmente no escritório dia 6 de janeiro. Continuamos trabalhando no projeto do Adventure Time até o fim de Janeiro, até a GGJ 2014. Nesse meio tempo, ficou decidido e confirmado que vamos participar da Game Connection, em San Francisco, do dia 17 a 19 de março, através do programa Brazilian Game Developers, da Abragames, que da um DESCONTO MONSTRO no ingresso do evento. Estamos extremamente ansiosos pra saber o que vai dar nessa porra.

Se você tem um estúdio de games aqui no Brasil... recomendo ir atrás de mais informações sobre isso...
O motivo de eu estar falando sobre isso agora, é o próprio Global Game Jam. Ficamos muito enrolados esse ano e não conseguimos trabalhar no fim de semana oficial do evento, trabalhamos apenas sábado a noite e domingo até a tarde. Independente da data final do GGJ que seria dia 26 de Janeiro, queríamos trabalhar um pouco mais no projeto, já que eu pretendo reaproveitar grande parte do trabalho desde projeto no jogo do Adventure Time, logo, não seria desperdiçado em um projeto simples. Infelizmente, segunda e terça feira, eu e o Fernando (que vamos pra GC) tivemos que ir atrás do nosso visto americano, quarta trabalhamos novamente no jogo um pouco e participamos do SPIN a noite, e quinta ficamos em reunião o dia inteiro, com o pessoal daquela parceria do joguinho de futebol e tudo o mais (e o dia oficial do aniversário da Fire Horse). Só sexta que "terminei" o projeto, ainda com algumas coisas cortadas e vários bugs, mas com grande parte do trabalho reaproveitável para o projeto do Adventure Time.

Infelizmente, trabalho muito quebrado, fora do prazo, sem muita organização... mas acho que considerando o processo, ficou legal...
O jogo resultante desse ano foi o Inner Quest, que com certeza é um projeto gigante pra uma Game Jam, mas ficamos bem satisfeitos com o resultado. Infelizmente acho que nunca mais vamos tocar nesse projeto, simplesmente porque não temos tempo e Like a Boss ainda é nossa prioridade, com relação a projetos próprios. No entanto, se você tem curiosidade de saber como é o jogo, ele pode ser encontrado neste link.

E toda essa história remete ao dia de hoje! Como vocês podem ver, apesar do nosso silêncio tempo é o que a gente menos teve esse ano, e 2014 promete ser MUITO melhor que 2013! Essa semana vamos continuar o desenvolvimento no projeto do Adventure Time e fazer uma nova versão pros nossos amados clientes (sem ironia, os caras são foda mesmo), e se deus quiser, ainda essa semana, VAMO VOLTAR A MEXER NO LIKE A BOSS PORRAAAAAAAAA!!!! AEEEEEEEEEEEEEEEEEEE!!!! =P

Por isso, se você tem interesse no projeto, fica ligado que esse mês vai ter novidade com certeza, queremos montar uma versão FODA pro Game Connection, onde vamos apresentar o jogo e se tudo der certo sair de la fazendo negócio!


Maior evento de business voltado pra Games do mundo
E antes de finalizar acho que o evento da Game Connection merece um parágrafo, apesar de que com certeza vamos postar sobre ele mais pra frente. Pra quem não conhece, é o maior evento de business da industria de games do mundo, com uma edição em Março (San Francisco), uma la pra Julho (Asia) e uma em dezembro (Paris). Apesar do custo elevado, é um evento em que os desenvolvedores são expositores, e através do sistema de Matchmaking do evento, agendam reuniões com as maiores figuras e empresas da indústria, e todo mundo ta ali pra fazer negócio. Nós nunca participamos, mas parece ser uma oportunidade única que vale o preço. Se você está procurando um lugar para procurar publisher, parceiros, investidores e até compradores para seu projeto, recomendo investigar um pouco mais o site deles.

E... agora acho que realmente é isso ai! Espero que vocês tenham gostado desse post, e apesar de esse ser nosso segundo ano de existência, ainda é só o começo. Pra quem está começando agora, se formando agora ou ainda na faculdade... vou deixar a mesma mensagem que deixei no post do ano passado: se você sonha em trabalhar com jogo, tem algum dinheiro guardado, tem um investidor, tem como se manter só fazendo isso sem ganhar dinheiro, mas tem medo de arriscar... vai em frente, arrisca, porque independente de dar certo ou não, de ganhar dinheiro ou não, a experiência vale mais do que tudo. Com esforço, dedicação e acima de tudo disciplina, pra cumprir seus próprios prazos, pra fazer projetos realmente bons e não só "o que o cliente pediu", é possível, e a gente pode não estar nadando na grana, mas só de estarmos por ai depois de dois anos fazendo o que amamos sem ter um segundo emprego, é prova mais do que suficiente que qualquer um consegue.


Allan, Danilo e Fernando, respectivamente, a atual equipe Fire Horse... fingindo que são macho no desenho
Um grande abraço da equipe Fire Horse, e até a próxima!

quinta-feira, 31 de outubro de 2013

Like a Boss - Alpha Trailer e First Ever Alpha Test

E ae pessoal, beleza?

Essas ultimas semanas estão ULTRA corridas pra gente, não estamos tendo tempo de... bem, de nada além de trabalhar... e infelizmente não estamos tendo tempo de trabalhar NO Like a Boss também =( mas, dia 19 de outubro conseguimos um tempinho pra criar um pequeno trailer do jogo pra enviar para o IGF (nosso jogo aqui) e apesar de ser curtinho, ficamos muito felizes com o resultado!


O trailer mostra um pouquinho do enredo do jogo e do gameplay, nós queríamos ter feito ele com um pouco mais de carinho mas estávamos sem tempo demais, conseguir algumas horas pra produzir essa versão já foi bem difícil. Esse trailer marca um momento histórico... o PRIMEIRO vídeo que a gente faz direito! Aeeeee!!! haha a gente sabe como um vídeo bem feito é importante, mas a gente ainda não conseguiu criar a disciplina necessária pra parar tudo e simplesmente produzir um vídeo foda... mas acho que começa assim, algumas horas pra produzir esse, o próximo alguns dias... e por ai vai =P

No entanto o foco desse post não é o trailer. Dia 25 de outubro aconteceu outro evento histórico! O primeiro Alpha Test do Like a Boss!! Aeeeeeeeeeee!!! haha

Que coisa linda de se ver... =P Só seria mais bonita se eles não tivessem jogando de "obrigados" hauhauhauh
Graças a nosso ex-coordenador de curso e atual amigo Delmar Galisi (coordenador do curso de Design de Games na Anhembi Morumbi), participamos de um evento que ocorre todo ano na universidade, com várias palestras sobre os mais variados assuntos cobertos pelos cursos da mesma. Não foi só a gente que deu palestra por lá, mas também o pessoal da Bit Cake (do Projeto Tilt) e da Bee Box (do Feed It! e Tap Toy), e não tenho certeza mas deve ter tido mais indie brasileiro por lá também.

Nós demos uma palestra curtinha falando um pouco sobre nosso background, nossos jogos anteriores (Commander Flag, Knights Trial, Ready Eat Fight!, Level Up: Heroes of Neverfail...), explicando quem a gente é, de onde a gente veio, como chegou onde estamos, e mais importante, como chegamos no Like a Boss, e depois de uns 30 mins enrolando a galera haha, começamos o que todo mundo tava esperando, a gente inclusive, o Alpha Test do Like a Boss!

Enquanto o pessoal jogava a gente ficava indo de um lado pro outro tirando duvida e ouvindo feedback... mto foda.
Instalamos o jogo em todas as máquinas (cedidas pela Anhembi Morumbi), fizemos uma build PC do jogo (sim, ele está todo adaptado para mouse/teclado) e deixamos a galera jogar livre, só com uma explicação: "Botao direito anda, os números selecionam as magias, e botão esquerdo solta a magia onde você mirar".

E nesse momento eu prestigiei uma das coisas mais bonitas de se ver... hauahuh quase 50 máquinas, jogando nosso jogo... que emoção! hahah

Deu um total de umas 40 pessoas, todo mundo querendo ajudar.
É verdade, nós já haviamos feito essa experiência antigamente, com o Knights Trial, com os mesmos termos, e foi MUITO legal também. No entanto nós fomos cabaços, então não temos fotos pra provar o ocorrido =P. Dessa vez, nós demos um período de 40 minutos para o pessoal jogar, e estávamos na verdade morrendo de medo de todo mundo achar uma merda haha porque o conteúdo que está implementado do jogo da... sei la, 5 minutos de jogo haha, e depois é puro grind...

Mas, pra nossa surpresa, o pessoal curtiu muito o jogo! Depois dos 40 minutos fizemos um questionariozinho anônimo com 23 perguntas sobre vários aspectos do jogo, e a verdade é que a gente ta tão ocupado que ainda não tivemos tempo de ler as respostas =( mas ficar com a pilha de feedback aqui do meu lado e não sair lendo adoidado é foda, to curioso pra ler tudo faz dias!

Tem que pegar a pilha... colocar os resultados numa planilha... analizar os dados... to ansioso pra ver tudo que ta escrito ai...
Foi muito foda e eu espero repetir a dose o quanto antes, assim que a gente trabalhar em cima desse feedback inicial. Muita gente elogiou, muita gente levantou problemas sérios do jogo, foi muito foda ver o pessoal realmente falando o que achava, se tava facil, dificil, chato, cansativo, da hora... e tenho certeza que com mais sessões de teste como essa, a gente vai conseguir criar um jogo 10 mil vezes melhor do que o planejado.

Quando tivermos trabalhando em cima do feedback, podem esperar uma porrada de post novo aqui no blog falando dos problemas levantados e das ideias que temos pra solucioná-los, e eu conto com a opinião de voces também, é claro =)

Valeu pessoal, abraços!

Unite Brasil, SBGames 2013 e Apresentação Like a Boss!

E ae pessoal, tudo bem?

Faz um tempinho que não consigo postar nada aqui no blog. Nossa, fui ver QUANTO "tempinho"... 33 dias... sério, ta muito frenética a vida, não to nem vendo os dias passarem.

Bom, sem mais delongas, como muitos sabem essa semana retrasada (13-19 Outubro) aconteceram dois eventos aqui em São Paulo, o primeiro Unite Brasil e o SBGames 2013. Nós participamos dos dois e com certeza valeu MUITO a pena!

Espero que ano que vem se repita... pra quem não foi, sinto muito
O Unite que aconteceu dia 15 teve uma porrada de palestras legais, mas provavelmente um dos pontos mais fortes foi todo o networking que deu pra fazer. Conhecer gente nova, encontrar gente pela primeira vez, teve direito até a mostrar o Like a Boss! pro David Helgason, CEO do Unity, outro cara foda mas extremamente simpático que conhecemos.

E logo depois do Unite, veio o SBGames, que com certeza teve como ponto alto ter toda aquela porrada de indios juntos, conhecendo o trabalho uns dos outros, foi foda. Também foi MUITO legal apresentar o Like a Boss pra galera toda e receber todo o feedback que foi foda d+ sobre o jogo, foi fantástico!

Inicio da apresentação... tinha bastante gente e o auditório era muito bom
5a feira, dia 17, foi a distribuição de troféus do Festival de Jogos deste ano. Bom, em primeiro lugar, queria dizer que foi muito foda também ser nomeado como Menção Honrosa como Jogo em Desenvolvimento novamente esse ano (Commander Flag e Knights Trial também receberam o título ano passado, CF em 1o e KT em 3o), esse ano num formato um poquinho diferente, as 4 menções honrosas sem "ordem de chegada", mas sim por ordem alfabética. E em segundo lugar... Ninjin. hauhauhauhauhauah

Allan (eu) falando enquanto um videozinho de gameplay rolava la atrás, e ninguém pouco se fudendo pra o que eu falava... =P
Durante os três dias do SBGames também tiveram uma série de palestras e discussões muito legais, sobre investimentos, postmortem, o que fazer ou não fazer quando se faz um jogo... muito conteúdo foda. Pude conhecer pessoalmente muita gente que conhecia só do Boteco, troquei muito cartão, botei uma negada que sabe do que está falando pra jogar Like a Boss e ter uns feedbacks interessantes, enfim, o evento valeu muito a pena.

E eu já disse isso antes, mas uma pequena dica para novos indies: participe de eventos. TODOS. Seja pelo aprendizado, networking, camaradagem... SEMPRE vale a pena.

Assim que conseguir, vou fazer um post do Like a Boss, mostrando algumas coisas inéditas... inéditas até em relação ao SBGames!

Abraços!

sábado, 28 de setembro de 2013

Like a Boss! - Screenshot

E ae pessoal, blz?

É... trabalhar no mundo dos jogos né moleza não... pleno sabado e cá estou eu no escritório, trabalhando...

Bom, como a maioria deve ter percebido, eu sou programador, mas, é tão foda trabalhar no Like a Boss que eu nem sei por onde começar, quando tenho a chance de trabalhar nele... é tanta coisa que quero implementar, tanta coisa foda pra fazer...

Mas, tem tanta coisa nova no jogo que ainda não mostramos pra ninguém que decidi tirar um "teasershot" do jogo =P

"Reckless players... none may challenge the Skeleton King!" - by Eoric, the Skeleton King
Bom, é isso ai, hoje também inauguro o primeiro post pequeno do blog... hauhauah =P se eu conseguir amanha faço um post mais caprichado por aqui.

Abraços pessoal, bom resto de fim de semana!
Allan

quinta-feira, 26 de setembro de 2013

Unity - Traduzir o jogo para várias línguas

E ai pessoal, tudo bem?

Bom, infelizmente não tenho condições de escrever aqui todos os dias =( é trabalho d+ pra tempo d-, e também trivializa um pouco demais cada post já que eles viriam a falar de coisas muito pontuais...

Mas, hoje e ontem, por acaso, nós trabalhamos em uma coisa que pode ser interessante pra algumas pessoas: traduzir seu jogo para várias línguas!

"Ta me zuando que vou ter que traduzir pra grego 2x?"
Bom, não tem muito mais o que se dizer sobre isso! Usando Unity, existem porções de plugins para manejar fácil as línguas e não sei o que... nós aqui na Fire Horse não usamos nenhum deles (mas talvez devêssemos =P), nós criamos uma solução bem bobinha, mas que tem funcionado muito bem.

Até o momento todos os nossos jogos tiveram de ser no mínimo bilíngues, Commander Flag e Knights Trial tiveram de ser traduzidos para Inglês, Português e Espanhol devido á competição da Square Enix, até Ready, Eat, Fight! teve que ser traduzido para o Português pra colocarmos no ClickJogos. O único que esta sendo perdoado até o momento é o Like a Boss, mas já está sendo montado de forma que essa tradução seja fácil.

No entanto, o caso em que estamos trabalhando agora, e certamente o mais intenso deles... é o Level Up: Heroes of Neverfail. O nosso querido Cartoon Network, não feliz com Inglês, Português e Espanhol, as línguas presentes inicialmente no jogo... nos pediram pra traduzir o jogo também para Frances, Italiano, Russo, Turco e Árabe. Sim, Árabe -.-

Grafico (pouco racista) da globalização chegando no Reino Unido. Quanto mais línguas, melhor!
E desde o Commander Flag... nós usamos exatamente a mesma solução... uma classezinha que eu chamo de LanguageDictionary. Ela é tão idiota que é mais fácil colocar o código dela aqui que explicar o que ela faz.

Você pode adicionar quantos valores quiser no dicionário, 10, 100, 1000, conforme for necessário.
Viu que ridículo? Basicamente eu tenho um dicionario com chaves string e valores string... e onde eu precisar de um texto, eu simplesmente busco no meu dicionario pela chave, e mostro o valor. Não tem como ser mais simples que isso. Toda vez que o jogador troca de linguagem, eu zero o dicionário e coloco os novos valores. Então basicamente, em qualquer string do jogo, invés de escrever "Espada Legal" na mão, eu escrevo "cool-sword". Quando a cena for carregada, o script vai procurar la na minha lista global de variáveis pelo índice do dicionario com cool-sword, e se for em inglês, vai mostrar "Cool Sword", se for em português "Espada Legal", e o meu preferido, se for em árabe vai mostrar "السيف بارد"!

Olha que difícil que é usar o código acima... Se você jogar esse script num GameObject com um TextMesh, ele vai traduzir o TextMesh pra linguagem que estiver ativa com base a chave que você passar.
Claro, isso só serve pra tradução de palavras, mas e imagens? Bom, ai depende. Antes do jogo do Level Up, nós não usávamos nenhum plugin do tipo NGUI, EZGUI e não sei o que... era tudo na mão (na mão, mas não com a GUI do Unity, obviamente (PS: até sair o novo GUI do Unity, NÃO USE O GUI DO UNITY)), o que dificultava um pouco as coisas. Nós criávamos planos, com materiais e texturas. Logo, pra traduzir essas imagens, precisamos criar um dicionário também de string/string, só que ao invés de simplesmente passar o valor do dicionário pra uma caixa de texto, nós usávamos um Resources.Load(LanguageDictionary.stringList["chave"]). Dessa forma, no loading da cena, todas as imagens que precisavam ser trocadas para a língua desejada eram carregadas e jogadas na textura do plano.

Paralaxe de 4 profundidades... estrelinhas... levels abertos, travados... tudo com plano, que coisa bonita... (Commander Flag)
Hoje em dia nós ainda utilizamos o approach precário de criar planos na mão, mas em conjunto com o NGUI. Não usamos NGUI puro porquê por mais milagroso que seja o plugin (e sim, é MUITO bom), ele pode causar (e certamente causará) SÉRIOS problemas de desempenho no seu projeto. Não vou entrar em detalhes sobre isso, mas o negócio é que no NGUI as texturas das imagens não são referenciadas pela textura propriamente dito, mas sim pelo NOME da textura, o que facilita tudo 10 mil vezes. Então ao invés de dar Resources.Load pra trocar a textura, simplesmente colocamos nguiSprite.spriteName = LanguageDictionary.stringList["chave"];, e ao receber o nome correto, o sprite do NGUI troca pra imagem certa.

(PS2: Se você usa NGUI, esse método tem um seríssimo problema. Se alguém quiser, posso explicar em outro post qual é o problema e como resolver esse problema de maneira fácil)

Usando NGUI no Like a Boss. Visualmente parece 10x + putaria que a imagem do Commander Flag... a diferença é que aqui tem uns 4 draw calls com muito mais elementos, enquanto la tinha uns 20... mas nem tudo ai é NGUI.
Esses métodos podem ser utilizados pra traduzir qualquer texto e imagem no seu jogo, sejam menus, legendas, falas, enfim, qualquer coisa. Pra ser bem sincero, eu suspeito que esses métodos, no entanto, tenham um problema meio chato. O primeiro deles é que procurar coisas em um dicionário... e pior ainda, procurar comparando string com string (quando você diz stringList["chave"], internamente o C# tem que procurar na lista toda do que é que você ta falando), é um processo que gera um certo overhead. Sinceramente eu evito ao máximo qualquer comparação de string, e dicionários as vezes não da pra evitar, mas quando possível, uso listas ou arrays. O segundo problema é que se você tem 100, 200, 500 strings... beleza (Level Up tem quase 500), mas conforme esse número vai crescendo, tanto a velocidade de procura quanto o uso de memória da sua stringList vai crescer... bom, digamos assim, se eu tivesse fazendo Mass Effect, não ia dar pra fazer desse jeito vagabundo =P.

Eu acredito que o jeito mais correto e profissional de fazer a coisa seja usando XML. Você cria um arquivo XML com todas as strings, e procura nesse arquivo o que você quer, e mostra o resultado da sua busca dentro do jogo. Esse método eu também vejo 2 problemas: o primeiro é que eu realmente não sei se fazer a busca num XML é la muito mais rápido/melhor que fazer a busca em um dicionário... afinal de contas é string com string do mesmo jeito... enfim, eu não manjo de XML (ou JSON que seja)... e o segundo e ainda maior problema... é que eu não sei fazer desse jeito =P, infelizmente não tive tempo pra ir procurar uma solução pra um problema que eu nunca tive, mas prometo que qualquer hora eu vou e posto um update aqui pra vocês, ou se alguma alma caridosa souber como ou um jeito ainda melhor de fazer essas traduções, deixa um comentário, por favor!

Pra quem ficou curioso, sim, essa é a arvore de skills do Like a Boss. Ainda estamos trabalhando em cima, na verdade essa imagem já é antiga, mas da pra dar uma ideia...
Por fim, resta o problema de traduzir sons... e bem, esse problema vai continuar restando =P. Sinceramente, se eu tivesse que fazer hoje um sistema de tradução de sons ia ser na base do Resources.Load e carregar o som certo na língua certa, mas não sei se essa é a melhor solução. Por outro lado eu suponho que o número de indies (ou índios) brasileiros que tem um jogo pra traduzir em várias línguas e vão traduzir o áudio também não seja o maior do mundo... imagino que o número de jogos indies com NARRAÇÃO de qualquer tipo já não seja muito grande graças ao preço infeliz de fazer uma narração boa pro jogo... (se alguém conhecer um estúdio bom e barato, favor mandar o contato pra gente! contact@firehorse.com.br (PS3: não estou falando que acho narração uma coisa ruim... Bastion só ta nos meus top 5 jogos por causa da narração, e Mass Effect, Dragon Age também tão nessa lista e com certeza a narração ajudou bastante... só digo que é caro a ponto de ser inviável produzir mesmo (pelo menos os orçamentos que já fizemos nos levam a pensar assim (pelo menos com nossa verba limitadíssima))))

Bom, acho que no mais é isso! Se ficar com alguma dúvida, tiver um método melhor ou simplesmente quiser saber mais sobre qualquer assunto aqui do blog, ou até sugerir algum assunto, deixa um comentário ou entra em contato direto com a gente!

Abraços,
Allan

sexta-feira, 20 de setembro de 2013

Sistema de Inventario + Overloadable Operators

E ae pessoal, tudo bem?

Já faz alguns dias... alguns vários dias pra ser bem sincero... que eu estou trabalhando no Sistema de Inventário do Like a Boss. Oficialmente essa é a primeira vez que eu faço um sistema de inventário, todos nossos outros jogos era meio que migué, a loja era o inventário e se o item tava comprado trocava de "Comprar" pra "Equipar" e é isso ai.

Sério... quando eu comecei esse sistema, eu pensei "bom, inventário... vai ser tranquilo... pega o item, joga numa lista de itens... quando o kra abrir o inventario preenche a interface com base nessa lista... e ja era, cabo!!!!1111"

Nunca...
Pra falar a verdade eu to impressionado como essa porra de sistema ta me dando trabalho. Mas a verdade é que, basicamente, ele realmente é só adicionar e tirar de uma lista, como q pode ser tão difícil assim? Bom, é ai que começa a putaria da programação. Como q eu posso adicionar e tirar items de uma lista, se eu nem sei o que é um item? Como vou subdividir meus items, que propriedades essas porra de item tem que ter? Bom, blz, tão vamo la, definir o que é um item!

Eu sei que Like a Boss tem genericamente falando 5 tipos de item: Equipamentos (Armaduras e Armas que podem receber upgrades), Gemas (para colocar nos equipamentos), Poções (para tomar (não me diga)), "Brincos" (na verdade qquer porcaria, são um tipo de equipamento mas sem modelo, sem slot pra gema, sem poder dar upgrade) e por fim... lixo, que é sempre bom pra encher os inventários alheios.

Depois de ownar horrores com The Unstoppable Force dando knockback em geral... chega às lojas... The STOPPABLE Force! Essa é a alma dos itens lixo... são lixo, mas são da hora =P
Cada um tem características bem diferentes um do outro... alguns tem modelo atrelado... outros pode dar upgrade... outros tem efeitos diferentes se usado de maneiras diferentes... enfim, acabei por criar uma classe Item e uma pra cada tipo de item com as características únicas de cada um, até ai, tranquilo.

O problema é quando você começa a perceber que isso é só o comecinhoooo de nada... Os itens atualmente (mas pode mudar) são por chefe, e não por player. Já que você pode jogar com vários chefes diferentes, cada um tem sua campanha, cada um tem seus items. Isso ainda está em discussão, mas no momento é assim. Então primeira coisa é fazer toda a lógica de toda a interface do inventário funcionar com base no chefe atual, e criar a lista de inventário por chefe. Só que ai, também tem que fazer a lista de itens equipados... só que ai, precisa pegar os stats dos items equipados e incrementar nos stats do player... só que ai, precisa definir todos os stats que existem no jogo... só que ai, precisa definir como eles vão funcionar internamente... só que ai, precisa implementar nos códigos antigos multiplicadores e a porra toda... só que ai, precisa criar um operador custom pra somar uma puta lista de stats com outra lista... só que ai, eu preciso salvar os itens que estão na bag... só que ai, preciso duplicar os items de um banco de dados para a bag... só que ai.... sério, eu to a uns 4-5 dias só no "só que ai..."

Mas eu só queria fazer um sisteminha de inventário...
Enfim, dizer "sistema de inventário", é ser muito bonzinho. Na verdade estou trabalhando no sistema de stats + inventario + upgrades + sockets + input + efetivamente dar efeito aos stats. Não é a toa que essa porcaria ta me tomando tanto tempo. Na verdade é tanto tempo que hoje eu tive que trabalhar em outra coisa (alguns bugfixes principalmente), pra depois voltar, porque eu to sentindo que até o sistema de inventario estar 100% pronto pra colocar no jogo e o player efetivamente ter items, ainda vai levar mais alguns dias... ah, e PS: não são dias 4-5 dias de 8 horas de trabalho... são 4-5 dias dormindo no escritório...

Assim que eu me sinto quando durmo no escritório sem chuveiro...
Claro, fiz outras coisas nesse período, algumas pendências ainda do jogo do Cartoon, um monte de contatos que eu precisava responder, coisas que precisava escrever, atualizar o blog que é minha promessa... haha mas enfim, ta sendo tenso.

Alias, pra esse não ser um post totalmente voltado pras minhas choradeiras do dia a dia, eu mencionei ai pra cima uma coisa que eu tenho certeza que muita gente não sabe que existe/não sabe como fazer/ta pouco se fudendo: operador customizado!

Qué isso Allan, to super interessado em saber como são esses tal de operadores!!11
O que que eu realmente quero dizer com isso? Bom... pra nós é obvio que quando eu escrevo 1 + 1, o que eu quero dizer é que é pra máquina somar 1 ao 1 inicial, pra me dar um outro resultado numérico. Outro exemplo que se torna óbvio de tanto que a gente usa é dizer que "string1" + "string2" = "string1string2", pq afinal de contas é obvio que eu to pedindo pra máquina concatenar as strings pra me formar uma 3a string (PS: evitem concatenar strings sempre que possível). Mas, por exemplo no meu caso, eu tenho uma classe chamada BossAttributes, que tem todos os atributos do chefe. O que acontece se eu disser BossAttributes1 + BossAttributes2????


Porra nenhumaaa!!! Aeeee!!!1111 Bom, pra ser justo, acontece, a máquina basicamente vai me dizer "porra, qq vc quer q eu faça com essa merda, sô adivinho por acaso???" porque o computador não sabe o que "+" quer dizer nesse sentido. O que o OPERADOR "+" quer dizer... mas eu, por sua vez, sei. Eu quero que ele pegue todos os atributos do chefe, e some com os pares do outro lado... então, pra exemplificar, digamos que eu tenho AttackPower, Health e Armor. Quando eu digo BossAttributes1 + BossAttributes2, eu quero que ele faça, na prática: BossAttributes1.AttackPower + BossAttributes2.AttackPower, BossAttributes1.Health + BossAttributes2.Health... e dai por diante... mas, como que eu ensino a máquina a aprender a fazer soma básica?

É tão simples que chega a ser escroto. Eu nem sei se tem muito o que explicar, quando vocês verem a sintaxe do negócio. Vou colocar uma imagem do código que fica mais fácil.

PS: Atualmente esses sao os atributos do Like a Boss.
Bom, como vocês podem ver, tudo que você precisa fazer é criar um método static (dentro da classe), que retorna o tipo da sua classe, com a palavra chave operator, e dizer que tipo de operador você ta dando overload. Nos parâmetros você passa (nesse caso) os dois valores que vão ser "somados", e ai você simplesmente escreve o código do que você quer que a máquina faça. A partir desse momento, eu posso dizer que BossAttributes1 + BossAttributes2 e a máquina efetivamente sabe o que eu quero dizer com isso, e que é pra somar do jeito certo. Existe uma lista de operadores que podem ser "sobrecarregados" (a tradução de overloaded pra esse caso não me agrada muito), e algumas notas a serem consideradas, aqui. Alias, outra dica é, tudo que você quiser saber de C#, se você souber o que procurar, existe na documentação da Microsoft... o que é algo mto legal da linguagem diga-se de passagem.

Eu nunca usei muito isso, mas eu sei que existem casos em que isso facilita d++++ a vida, esse é certamente um deles. Outros operadores podem abrir outras possibilidades, e se alguém que tiver lendo já usou pra alguma coisa diferente e saiba uma dica pra dar de algo que possa ser útil ou uma correção a algo que mencionei, por favor deixe um comentário!

Abraços,
Allan