Sou Iniciante… E agora?

Boa noite a todos!

Chegou a minha vez de falar um pouco. Como Edmar já deu início com um tema da categoria Programação (e foi uma excelente escolha, por sinal), não vou trazer agora um tema dessa área. Não se preocupem que traremos muito mais conceitos e técnicas, afinal, em 2005, Edmar e eu estudamos sobre como programar vários efeitos gráficos e nada melhor que estarmos passando para vocês um pouco sobre esses estudos, não?

Meu primeiro tópico, então, será mais um dos esforços da PDJ voltados a orientar os iniciantes a fim de criarmos uma boa cultura, uma boa atmosfera dentro da PDJ. Estivemos há pouco tempo discutindo sobre isso na PDJ e sei que alguns acham que deveríamos focar outros aspectos, mas não se preocupem que nós vamos fazer isso também, ok? Afinal, já somos cinco autores (o Brainstorming também entrou para a equipe, outra hora publico aqui a sua biografia e “oficializo” isso, :) ) e teremos muito o que conversar e apresentar aqui.

Uma cena que se repete muito, não somente na PDJ, mas em todas as comunidades e sites sobre desenvolvimento de jogos, é aquela (já clássica) em que alguém acabou de se inscrever no fórum, é a sua primeira mensagem, diz que já leu muito sobre criação de jogos e quer formar uma equipe para criar um MMORPG 3D de forma gratuita.

Sempre a gente encontra alguém com um novo projeto em um fórum sobre criação de jogos pedindo ajuda do pessoal para o desenvolvimento de um mega-sucesso e quando a gente começa a perguntar algo para a pessoa, a gente percebe que ela não sabe nem por onde começar e, uma ou duas semanas depois, já desistiu do projeto… Pessoal, não é por aí…

Vou então hoje gastar tempo dizendo algumas coisas que o pessoal tem que saber…

1. Descubra como realmente funciona um jogo!

Muita gente gosta deste ou daquele jogo e daí tem a grande idéia de fazer algo parecido acrescentando novos elementos. Ótimo! Mas quando se dão conta, eles não sabem como exatamente é a estrutura de um jogo, como ele deve ser desenvolvido, o porquê das coisas funcionarem de um determinado jeito. Então, como primeiro passo, estude alguns conceitos-chave. Não se preocupem, mais a frente será publicado aqui no blog algumas coisas para orientar nesse sentido, por mim ou pelos outros autores, ok?

2. Procure uma área em que se encaixe!

O desenvolvimento de um jogo já fora no passado multidisciplinar, agora está sendo transdisciplinar (agradecimentos ao prof. Henrique Nou Schneider que conseguiu me fazer entender a importância da transdisciplinaridade na informática) e como não dá para fazer tudo sozinho, o cabe a você escolher por algo que seja da sua preferência e então cuidar daquilo. Quando for procurar um curso técnico ou universitário, procure cursos que irão de alguma forma complementar seus conhecimentos naquilo com que você trabalha, ok?

3. Procure manter contato com pessoas mais experientes na área:

Sim, porque você não vai conseguir aprender tudo sozinho, ok? Então é importante que você mantenha em seu e-mail, MSN, Orkut, etc. uma lista de pessoas que você sabe que também estudam ou trabalham na área de desenvolvimento de jogos. Não precisa ser só na sua área, por exemplo, muitas vezes é bom para um artista gráfico manter contato com um programador (na verdade, sempre é bom!). Muitas vezes você precisará da ajuda deles! Procure a todos, não fique acanhado pelo fato de fulano já estar trabalhando na área e você vai estar “tomando o tempo dele”, tentar manter contato não faz mal a ninguém (agora, lembre-se disso também para não estar tomando tempo demais da pessoa com perguntas que você poderia conseguir a resposta prestando um pouco mais de atenção em apostilas, fóruns, etc).

4. Busque Ferramentas e/ou técnicas a serem usadas

Estude a maior diversidade de ferramentas que possa usar em seu trabalho e escolha as que melhor se adeqüem ao seu estilo e faça a mesma coisa para escolher as técnicas, lembrando-se sempre de levar em consideração a forma como surgiram, para que servem, em que os mais experientes a empregam, onde eles não aconselham, etc. Lembrando-se de levar em consideração o grau de complexidade de cada uma, ou seja, para aprendizado escolha ferramentas e técnicas mais simples, rudimentares. Com o tempo você vai aprendendo mais e mais e vai trocá-las por outras melhores.

5. Busque tirar dúvidas com outras pessoas:

Está tendo algum problema? Acha que não é daquela forma? Bem, em primeiro lugar: a net é ótima para se encontrar soluções, pesquise, procure. Não achou? Pergunte em algum fórum ou a alguém, busque a solução e você a encontrará. Persista, sempre!

6. Sempre teste os seus conhecimentos:

Aprendeu a desenhar de uma certa forma? Experimente desenhar então alguns personagens para testar e aperfeiçoar o seu traço. Aprendeu como imprimir na tela? Então tente imprimir diversas informações na tela, como textos, imagens, etc. Vá sempre testando e mudando um pouco de acordo com o que precisa, assim você irá gerar novos conhecimentos, os quais você poderá apresentar em fóruns, contribuindo assim com outros que estão iniciando. Não procure testar diretamente seus conhecimentos em um projeto muito grande, porque provavelmente você vai se atrasar nele, vai perder o gerenciamento do mesmo, etc. No máximo, um demo bem rudimentar, bem simples, só com as funcionalidades principais.

7. Produza alguns demos de jogos já existentes:

Pronto! Neste ponto, talvez você precise juntar-se a outras pessoas de outras áreas, para que cada qual faça uma parte e, assim, consigam ter finalmente algo que já podem dizer SEU. Mas o problema maior é que nesse ponto o pessoal ainda teima em querer fazer um super-projeto gigantesco… TOC-TOC? Tem alguém aí? É pra fazer algo bem simples! Tipo, um Space Invaders, depois um Tetris ou outro jogo de puzzle bem simples, mais tarde pode tentar fazer um jogo de nave 2D (shoot’em up) e prossegue, fazendo um jogo de plataforma 2D (like Mario), etc. Mas lembrando que o objetivo nesta fase é só desenvolver algo para testar os conhecimentos da equipe! Não é ainda fazer um projeto de jogo de acordo com como sempre é feito por aí afora, ok? Mas se vocês quiserem já deixar tudo o mais pro, e é o que vocês vão querer, para já irem treinando, então o projeto do demo deve seguir as seguintes etapas: brainstorming para decidir como será o jogo, elaboração completa do Game Design Document, análise e modelagem do jogo, implementação do mesmo, testes, divulgação e distribuição, elaboração do post mortem. Lembrando que durante todas essas etapas deve estar sendo feita a documentação de tudo o que for possível, ok? Em outra ocasião explicaremos qual a importância de cada passo.


8. Mais treinamento de equipe!

Bem, pessoal, como o nosso próximo passo já será o desenvolvimento de um projeto, devemos então intensificar o treinamento da equipe nas ferramentas que serão utilizadas a fim de que todos estejam em harmonia com as tecnologias e manter a comunicação ao máximo entre os membros. Sem contar que neste momento deve-se trazer inspiração e responsabilidade a todos para o desenvolvimento.


9. Desenvolvimento de um projeto de jogo:

Bem, se tiverem seguido tudo o que vim dizendo até aqui, com certeza o projeto de vocês será um sucesso, devendo lembrar-se de somente algumas coisas que sempre têm que ser visadas pela equipe: manter o cronograma em dia, seguir a metodologia de desenvolvimento adotada pela equipe e manter todos comprometidos com o desenvolvimento (seriedade e responsabilidade).

10. Divulgue o material produzido, contribua com a comunidade!

Bem, como a regra-base é sempre “10 mandamentos”, então, esta aqui não deve ser desconsiderada: se eu estou passando aqui tudo o que eu aprendi a vocês para que possam também desenvolver-se na arte sem terem que percorrer todos os sacrifícios do “caminho de espinhos”, não sejam tão egoístas a ponto de não ajudarem os próximos, né? Lembre-se: aquele que aprendeu com você ontem, pode ser seu parceiro em algum projeto hoje e quem sabe te ensinar algo amanhã! Sendo assim, divulgue a documentação de alguns projetos seus, post mortens, apresente algumas técnicas utilizadas no desenvolvimento, etc.

Há muitas outras coisas a se dizer. Claro que isto aqui não é tudo. É vital, por exemplo, a participação em comunidades. E não estou falando de entrar, ler e sair. Estou falando de participar MESMO! Escrever suas dúvidas, responder as de outros, etc.

Qual foi o último livro da área que você fez? E curso? E sites? Não adianta me apontar uma lista com mil sites se você não está lendo o que há neles! Eu, por exemplo, estou lendo alguns artigos do GamaSutra, e você, o que está lendo?

E por falar em ler, espero que já tenha ido até a seção “Iniciantes” da PDJ para uma boa leitura!

Bem, pessoal, por enquanto é isso, espero que eu tenha ajudado alguém hoje, até mais!

6 Responses to “Sou Iniciante… E agora?”

  1. Vinícius Godoy Says:

    Excelente artigo.

    Sem querer assustar ninguém, mas vale lembrar que os grandes jogos (e isso inclui os MMORPGs) envolvem conhecimentos muito avançados e talvez estejam entre um dos mais complexos projetos desenvolvidos no ramo da informática hoje em dia.

    Isso é um grande desafio! E, se você se tornar um programador experiente, pode ser que consiga trabalhar numa EQUIPE de jogos assim.

    Mas não despreze a importância de muito estudo. Uma faculdade agiliza muito esse caminho (e pode ser só de informática mesmo, nem precisa ser de jogos!) O importante mesmo é aprender as técnicas, e se divertir!

  2. Bruno Says:

    Saber trabalhar em equipe tbm é bom para um projeto “andar” para frente…

    puts mt+++++ massa….

    Sugestao para proxima(s) materia:

    Game Design Document…..

  3. Billguedes Says:

    Muito bom artigo, um verdadeiro conselho para todos, não apenas iniciantes, pois, alguns acham que tem todo conhecimento e para no processo de aprendizado.

  4. Christiano Says:

    Agradecemos o apoio de todos e esperamos estar à altura das suas expectativas. ;)

    A sugestão de tema foi anotada e estarei preparando algo para publicar sobre GDD eu mesmo, agora devo lembrar que estaremos publicando em revezamento, então provavelmente o próximo tópico a ser publicado aqui não será sobre esse tema, mas sim sobre… hummm… pela minha lista será de Game Design ou de Flash Games. :)

    Até breve!

  5. thiano Says:

    ohh rapaz estou a espera sobre os Falsh Games…rs
    mas queria dar os parabens pela materia q ficou mto legal, afinal eu ja sofri mto com isso e posso ate dizer aqui a minha historia q vem caminhando a 2 anos nos trancos e barrancos sobre o desenvolvimento de jogos.
    Eu como todo iniciante de inicio quiz fazer um ultra mega jogo usando C++, Ogre3D, e Opengl … comecei a caminhar nisso e qdo me vi diante de prazos para finalizar meu primeiro jogo para o contest do ano passado percebi q se fosse para entregar em Opengl nao daria tempo. Dai o Cristhiano falou “Rapaz faz em Allegro, e tem o Akuma (Adriano)la no forum q ja mexe com allegro”. Como no topico diz, “Escute os mais experientes !”, nao pensei duas vezes e fui atraz do Akuma para ele me explicar os comandos basicos e a trancos e barrancos saiu o jogo. Que por surpresa acabou ficando em 8º kakaka eu achei q ia ficar em ultimo…rs
    Bom apos isso eu voltei a estudar C++ mas agora com Allegro afinal eu ja tava vendo q nao tava preparado par ao mundo 3D do Opengl.
    Dai de tanto i Cristiano insistir q eu tinha q desenvolver em flash nas ferias de julho eu falei pra mim mesmo “Vou para de reclamar do AS e vou ver se essa linguagem e realmente boa”.
    E binnngggooooo me apaixonei pelo AS e estudei sobre AS2 e converti oq tinha em C++ com Allegro par ao flash. Apos isso fiz um curso de AS3 online e agora to me dedicando cada vez mais a esta linguagem q sem duvida agora eu achei o ideal para meus projetos.
    Desculpe pelo post gigante… mas fica aqui a historia de um newbie…rs

  6. Christiano Says:

    Opa, estamos vendo aí mais um caso de sucesso dos membros da PDJ. :)

    Que fique como lição aos novatos que começar pequeno é melhor que tropeçar grande, ok?

    Abração e até mais!

Leave a Reply