Olá pessoal.
Mês que vem (Agosto/2008) o blog passará por algumas mudanças e talvez fique fora do ar alguns dias.
Em especial terá um novo layout e um novo foco nos artigos.
Fiquem ligados.
July 24th, 2008
Segue mais algumas dicas e conselhos interessantes para aprender a programar jogos eletrônicos:
- Estude códigos fonte: esta dica é essencial, códigos fonte escondem verdadeiros tesouros, técnicas sendo utilizadas, estruturação de projeto, documentação, construções da linguagem, etc. Essas são algumas das coisas que você encontrará lendo um código fonte, mas o importante é que você verá a coisa na prática, verá o que é possível fazer (muitas coisas você nem terá idéia de que era possível). Gaste um pouco do seu tempo e estude códigos fonte. Futuramente farei um guia para auxiliar o estudo de códigos fonte;
- Com o tempo de utilização e programação, você irá desenvolvendo sua própria biblioteca utilitária de funções (super importante) para melhorar a produtividade pessoal, pode ser um projeto teste ou apenas um arquivo que não compila mas é importante ir guardando esses pequenos pedaços úteis de código pois no futuro serão muito úteis (provavelmente se você tem o costume de ler códigos fonte já possui vários desses “nacos”);
- No C e C++ o domínio de ponteiros é fundamental (mais do que parece, principalmente pelo C ser meio que uma linguagem de baixo nivel muito utilizado em programação de microcontroladores e dispositivos embarcados), para o inicante começar a entender e dominar ponteiros, o interessante é ele trabalhar com strings no C (vetores de caracteres) e principalmente: ESTRUTURAS DE DADOS (o pulo do gato para entender ponteiros);
- C é uma linguagem pequena e concisa, C++ é uma linguagem mais complicada e possui um poder de expressão maior, mas ambas dão conta do recado no que se refere à programação de jogos eletrônicos. Estude as duas se possível (ou parta direto para o C++, não é necessário aprender C para aprender o C++ embora eu recomende), saiba os prós e contras de cada uma;
- Estude estruturas de dados, veja o conceito, desenhe no papel o seu funcionamento, estruturas de dados são fundamentais para a organização de dados e o entendimento de diversos conceitos na ciência da computação, além disso, a implementação de listas linkadas em linguagem C e manipulação de vetores de chars serve como uma excelente prática de ponteiros;
- Entenda como funciona o hardware de um IBM PC, se você pegar um livro de assembly e der uma “passada por cima” poderá ter um pouco dessa visão;
- Estude sobre teoria geral de sistemas operacionais: saiba os conceitos envolvido no mundo dos sistemas operacionais em geral: threads, processos, escalonamento, saiba como seu sistema operacional organiza e permite o acesso à memória e dispositivos;
- Não existe só C e C++ para programação de jogos, se você sabe os conceitos pode aplicá-los em outros ambientes e linguagens (celulares com J2ME), Flash para a Web, não se prenda a um ambiente, principalmente se você pretende programar consoles.
As dicas abaixo foram selecionadas e traduzidas de um artigo do site Gamasutra (http://www.gamasutra.com/features/20010117/abrash_01.htm). Eu separei as que achei mais relevante:
- Os três segredos para o sucesso são:
1) Trabalho duro,
2) Trabalho duro, e
3) Trabalho duro.
- Aprenda fazendo. Pensar é bom, mas a única maneira de você realmente aprender algo é fazendo você mesmo e finalizando, o que é mais difícil do que parece porque entregar software não é um ato natural (obrigado ao David Stafford por esta frase). Aceite a realidade: nenhum software será perfeito, e a perfeição é um alvo móvel de qualquer maneira. Faça as concessões necessárias e finalize o projeto;
- Siga a sombra dos gigantes. Existem poucas idéias novas no mundo; leia o que os outros fizeram ao invés de ficar tentando inventar tudo você mesmo;
- A maior parte do sucesso da programação se baseia na engenharia e integração e finalização e ser flexível, ao invés de pura invenção. Claro, é divertido reinventar as coisas, mas existe uma quantidade enorme de coisas que você precisa saber, então é difícil fazer tudo você mesmo. Além do mais, existe um monte de coisas legais para descobrir depois que você aprender o que já foi resolvido;
- Aprenda o máximo de matemática que você conseguir. Então aprenda um pouco mais. A indústria está movendo dos generalistas, programadores fazem-tudo para programadores com grandes conhecimentos em áreas como física. Programar em si é fácil; é o expertise em áreas intensivas de conhecimento que irão diferenciar os programadores no futuro;
- Seja paciente. Demora um ano para ficar competente em algo novo, três anos para se tornar um especialista;
- Abrace as mudanças, ou assista elas chegarem e as deixe para trás. Aceite que os objetivos, técnicas, e regras irão mudar constantemente;
- Faça um glossário dos termos que você desconhece, procure na Internet, livros, viu uma sigla e não sabe o que é Google ou Wikipedia nela :), aprenda a estudar.
- Utilize toda informação a sua disposição.
Possui alguma dica interessante? Não deixe de enviar. Contribua para espalhar o aprendizado sobre desenvolvimento de jogos no Brasil.
Referências
Gamasutra
July 15th, 2008