Olá a todos.
O objetivo deste blog é revisar os principais conceitos de programação orientada a objeto (OOP ou POO), bem como conceitos importantes de Engenharia de Software, incluindo conceitos de UML (Unified Modeling Language).
Com o tempo, vamos focar a aplicação destes conceitos em desenvolvimento e programação de jogos eletrônicos. No começo, você vai perceber que a aplicação será bem generalista. Isso é justificável: Um jogo eletrônico nada mais é do que um programa de computador (ou um sistema) especializado: Ele tem características comuns a qualquer programa de computador, porém, possui necessidades específicas, como alta velocidade de processamento, capacidade de manipulação de recursos multimídia e grande otimização de recursos de memória. Porém, em sua essência, ele não passa de um programa de computador.
Escolhi implementar os conceitos aqui apresentados em C++. Não estou utilizando nenhuma distribuição específica. Vou apresentar os exemplos em ANSI C++, por questões de portabilidade do código. Todos os exemplos estão sendo testados em Visual C++ Express 2010. Se você não o tem instalado, baixe-o gratuitamente aqui. A linha Express é um conjunto de ferramentas gratuítas da Microsoft, baseadas no Visual Studio.
A escolha por C++ foi baseada, principalmente, em performance e portabilidade. Java é muito lento para desenvolvimento de jogos, pois depende do JVM e o C# tem suas limitações em relação a portabilidade, já que depende do .NET Framework. Os compiladores C++ costumam ser mais eficientes e geram código executável nativo para o Sistema Operacional desejado. Embora a portabilidade do C++ exija alguma adaptação, o custo-benefício é mais interessante.
Os próximos posts vão se concentrar em conceitos essenciais de Orientação a Objetos. Classes, objetos, funções, construtores e por aí vai. Conforme formos atingindo um nível de maturidade razoável, vamos nos focar em desenvolvimento de games usando OO, UML e C++.
Sugestões e comentários construtivos serão sempre apreciados. Aproveito para informar que estou começando nesse negócio de blog, portanto, o começo está sujeito a alguns problemas.
Abraços!
