sexta-feira, 31 de agosto de 2007

Um por todos e todos por um: as diversas profissões necessárias para fazer um jogo (parte 3)

Por fim, vou listar alguns poucos profissionais que estão voltados para a interação do jogo com o mundo ao seu redor.


Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/um-por-todos-e-todos-por-um-as-diversas-profissoes-necessarias-para-fazer-um-jogo-parte-3/

domingo, 26 de agosto de 2007

Um por todos e todos por um: as diversas profissões necessárias para fazer um jogo (parte 2)

Continuando o artigo, hoje falarei da parte técnica, o pessoal que ta em contato direto com o código ou programa. Esse grupo é composto por:

Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/um-por-todos-e-todos-por-um-as-diversas-profissoes-necessarias-para-fazer-um-jogo-parte-2/

sábado, 25 de agosto de 2007

- Pára tudo! -

Agora pouco, quando eu visitava o servidor que controla as estatísticas de acessos do Nuss... E Agora?!? vi que tinha um link pelo qual 2 pessoas visitaram o blog.

Imaginem minha surpresa que, ao visitar o link, encontrei uma matéria sobre o Nuss! O blog é o do Rodrigo Flausino que, de uma forma muito amistosa, dedicou um pouco do seu tempo para falar bem desse trabalho que tenho realizado.

Flausino, estou aqui agradecendo muito à essa força que me deu, mesmo sem nunca termos conversado. Quero também parabenizá-lo pelos artigos sobre o mundo dos jogos, principalmente por esse sobre o efeito do clima em jogos, a divulgação do gamedevmap (genial essa idéia!), e, principalmente, essa resenha sobre a matéria da Veja sobre o crescente realismo dos jogos eletrônicos.

Teu blog já está permanentemente linkado e devidamente assinado. Recomendo que façam o mesmo, pessoal: tem muita coisa sobre entretenimento digital lá que não dá prá perder..

- Agora sim voltemos à programação normal

Um por todos e todos por um: as diversas profissões necessárias para fazer um jogo (parte 1)

Um GRANDE erro recorrente quando falamos em desenvolvimento de jogos é achar que basta aprender a programar para tirar aquela idéia da cabeça e trazê-la para a realidade.


Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/um-por-todos-e-todos-por-um-as-diversas-profissoes-necessarias-para-fazer-um-jogo-parte-1/

quarta-feira, 22 de agosto de 2007

Orientação a Objetos: Q raios é isso!? (parte 3)

Voltemos ao exemplo anterior dos contêineres. Como vocês se lembram, quando eu joguei o método fechar() na classe Mãe, eu fiz com que ele fosse acessado por todas as classes filhas, por herança. “Claro, senão você não vai poder fechar nada” você diz. Concordo plenamente com essa observação, mas vamos parar pra pensar no seguinte: será que uma caixa, uma bolsa, uma garrafa e uma mala são fechadas da mesma forma?


Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/orientacao-a-objetos-q-raios-e-isso-parte-3/

segunda-feira, 20 de agosto de 2007

Orientação a Objetos: Q raios é isso!? (parte 2)

Continuando o artigo anterior, o básico da Orientação a Objetos pode ser entendido como um conjunto de classes e objetos que se relacionam. Hoje vou definir essas relações, começando pelo mais importante de tudo:

Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/orientacao-a-objetos-q-raios-e-isso-parte-2/

quarta-feira, 15 de agosto de 2007

Orientação a Objetos: Q raios é isso!? (parte 1)

Hoje eu vou falar do paradigma de programação que escolhemos para fazer o Jogo, a Orientação a Objetos. Ela começou lá pela década de 60 acompanhando uma tal Engenharia de Software, que falava, na época, sobre os problemas que os programadores teriam com a crescente complexidade dos programas.

Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/orientacao-a-objetos-q-raios-e-isso-parte-1/

domingo, 12 de agosto de 2007

Paradigmas de Programação: Estilos diferentes de escrever o mesmo texto

Lembram-se desse exemplo onde eu falei de um código como se fosse um texto? Pois então, bem como um texto, um código fonte pode ser escrito de diversas formas diferentes.

Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/paradigmas-de-programacao-estilos-diferentes-de-escrever-o-mesmo-texto/

quarta-feira, 8 de agosto de 2007

A Máquina Virtual

Entender o que é e como funciona uma Máquina Virtual é extremamente importante quando queremos entender conceitos como portabilidade e multiplataforma.

Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/a-maquina-virtual/

domingo, 5 de agosto de 2007

E por quê o Action Script 3.0?

Essa é uma pergunta curta de resposta longa. Poderíamos listar aí uma porrada de razões, mas acho que as principais foram:


Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/e-por-que-o-action-script-30/

sexta-feira, 3 de agosto de 2007

A Escolha do Flash

Lá atrás, há mais de 1 ano, quando abrimos mão de todas as alterações para retomar o design original, tínhamos que encontrar alguma tecnologia que nos permitisse refazer rapidamente tudo aquilo que já estava feito antes, tanto em código quanto em visual.

Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/a-escolha-do-flash/

Design Inchado: "Você está fazendo seu primeiro jogo, não seu último"

Lembram-se bem do início do jogo? Aquela coisa gigantesca, miraculosa, digna de bilhões de Euros e de uma revolução no mercado. Sim, pelo menos é isso que a gente acha quando está encabeçando um projeto e é justamente isso que causa o grande problema do Design Inchado.

Devido à troca de endereço, a versão completa desse artigo pode ser encontrada aqui: http://nusseagora.blog.br/design-inchado-voce-esta-fazendo-seu-primeiro-jogo-nao-seu-ultimo/

quinta-feira, 2 de agosto de 2007

O Jogo

Bom, anteriormente eu falei do Jogo mas não disse nada sobre ele. É por isso que esse post vai ser dedicado a esse projeto que tem teimado em acabar com os miolos.

O Jogo era, inicialmente, de estratégia estilo Worms ou GunBound: simples, mas podendo ser expandido quase que infinitamente. Mais do que isso, o Jogo estava fácil de implementar, de ser programado e ver o mercado. Isso era o q pretendíamos fazer, mas eu não estava satisfeito com sua simplicidade.

Foi aí que tive a idéia de transformá-lo em um tipo de estratégia diferente. Sabe aquela estratégia isométrica que o Final Fantasy Tactics popularizou? Pois então, resolvi que era aquilo que iríamos fazer. Criei vários sistemas de magias, ação/reação, árvore de profissões e toda a porrada de coisas que vocês possam imaginar. O jogo passou a ser para redes locais, na arquitetura chamada peer-to-peer, onde um computador se conecta diretamente com outro computados, como nos programas de transferência de arquivos Emule e KaZaA.

Aquele design inicial que estava simples e fácil de fazer virou um design complexo, muito profissional e complicado de ser implementado. Naquela época, o importante era que eu estava feliz com o que tínhamos em mãos, mesmo sabendo que seria difícil de ver o projeto alcançar a luz do dia.

Isso tudo aconteceu antes de cursarmos a matéria Projeto Final I. Estávamos adiantando o máximo que podíamos, já que a empreitada era mais complicada que o padrão na faculdade e sabíamos que teríamos que correr muito atrás por nós mesmos. No final desse mesmo semestre já tínhamos o design e toda a interação jogador-Jogo definidos. Faltava uma coisa: um membro no grupo.

No início do semestre seguinte, adicionamos esse membro extra, o que inchou ainda mais o design: O jogo, que era 2D, de sprites - desenhos, como nos jogos de Super Nintendo -, virou um jogo 3D, de vetores – imagens como nos videogames de última geração. Isso foi talvez a pior coisa que pudesse ter acontecido, pois descobrimos tarde demais que era IMPOSSÍVEL fazer uma coisa com metade da qualidade visual que conseguiríamos com sprites. Aquele design feito anteriormente foi pro espaço, sendo necessário refazer e repensar muito do que já tínhamos em mãos.

Passando 1 ano, terminamos por voltar ao grupo original. Aquele primeiro design foi buscado novamente, mas agora tínhamos também um servidor com acesso diferenciado para jogadores em determinados níveis. Tínhamos em mãos um jogo perfeito, mas será q ele era viável? Será que do alto de nossa nula experiência, conseguiríamos fazer um jogo assim?

Na próxima, vou falar sobre os problemas de um design perfeito, mas muito além daquilo que a gente consegue fazer. É o que eu chamo de um Design Inchado. Então gente, até lá.

quarta-feira, 1 de agosto de 2007

Nuss... E Agora?!?

Quando, há uns semestres atrás, eu me vi na reta que precede o Projeto Final da faculdade, não consegui pensar em mais nada que não fosse fazer um jogo. Desde criança eu sempre fui maluco por esse tipo de coisas, sempre entendi muito bem sobre o mercado, sobre as inovações. Sempre vi o que dava certo e o que dava errado, sempre procurei os porquês dos sucessos ou fracassos. Passei por centenas de jogos, do Atari ao PS2, tinha certeza que conseguiria fazer algo de qualidade. E isso martelou na minha cabeça até que eu reunisse o grupo e caísse dentro do trabalho.

Pois foi aí que eu vi que eu não sabia NA-DA. Ou melhor, eu sabia sim. O que me faltava era a EXPERIÊNCIA. Sabe aquele “Ih, isso já aconteceu comigo. Resolvi assim, assim e assim”? Sabe aquele “AAAAAAhhh não, mas isso não se faz assim, senão vai causar os problemas tal, tal e tal”? Pois então, era isso que eu não tinha. Eu sabia muito do mercado, mas não conseguia organizar esse conhecimento. Eu sabia muito de análise, mas não conseguia implementar aqueles diagramas todos. Eu sabia muitas coisas maneiras para colocar no jogo, mas não conseguia codificá-las. Eu sabia muito, mas não conseguia nada.

Se eu tivesse tido uma ajuda, um ponto de partida, tudo seria mais fácil. Se eu tivesse alguém pra me explicar como fazer uma Game Bible, como implementar o padrão Singleton ou como fazer o controle de uma arena isométrica, tudo teria sido mais rápido e fácil. Depois de um tempo pensando, me veio aquele estalo: “Já que ninguém fez por mim, por que não fazer por alguém?”

Foi assim que nasceu a idéia de publicar o Blog, um meio fácil de alcançar o pessoal que está tendo esse monte de problemas de iniciantes. Eu vou estar focado no desenvolvimento do meu jogo (que agora não é mais só meu), mostrando pra vocês todos os problemas que encontrarmos durante seu desenvolvimento e, melhor ainda, como resolvemos cada um deles.

Vou falar de códigos, de Flash, de Programação Orientada a Objetos, UML, de Padrões de Projeto, de Game Design, de eBusiness... Ou seja: tudo aquilo que paira ao redor do desenvolvimento do Jogo (vou chamar o projeto assim daqui pra frente) Sempre de uma forma descontraída e fácil de entender, pra que todos que leiam possam extrair o máximo possível.

Lembrem-se que as soluções podem até não ser as melhores práticas, mas aqui estaremos abertos à discussão das respostas. Por que você faria diferente? Adicionaria alguma coisa? Divida com todos nós o que você pensa sobre isso.

Aqui também falarei um pouco sobre o grupo que está apostando nesse sonho, além de comentar sobre Jogo em si: O que ele era e como ficou, que tipos de alterações pretendo fazer no design e como faremos isso funcionar. Mas isso fica para os próximos artigos. Até a próxima!