neon_prannock Posted February 19, 2006 at 12:26 PM Report #14582 Posted February 19, 2006 at 12:26 PM Artigo elaborado por neon_prannock Introdução à programação de jogos Tópicos: O que é o desenvolvimento de jogos? Como começar a criar jogos? Principais linguagens utilizadas no desenvolvimento de jogos Principais fontes de informação Ideias finais O desenvolvimento de jogos é um tópico que tem captado cada vez mais o interesse na área da informática. Este facto deve-se á crescente massificação dos videojogos na sociedade actual. Os jogos são agora uma das principais funções dos computadores, sendo por vezes, a própria razão porque estes são adquiridos. No entanto, o desenvolvimento de jogos é muitas vezes tido como um passatempo de jovens, que não possui qualquer tipo de futuro, e que não requer muitos conhecimentos. Mas, pelo contrário, a criação de videojogos já deu origem a grandes empresas, sendo o mercado de videojogos, um negócio que movimenta demasiado dinheiro para ser deixado de parte. No entanto, são poucos os que conseguem entrar neste mundo, devido ao elevado grau de dificuldade, quer pelos conhecimentos necessários como pelo constante desenvolvimento das tecnologias. O desenvolvimento de jogos é uma área em expansão, mesmo no nosso país em que, embora pouco divulgados, existem bastantes projectos e várias empresas em funcionamento. A principal e mais importante característica do desenvolvimento de jogos é que engloba diversas áreas como a programação, artes gráficas, som, e outras que variam de jogo para jogo. Todas estas áreas têm que ser bem coordenadas e associadas, para o jogo se tornar atractivo para o jogador. Um jogo pode ser muito bom graficamente, mas se possuir demasiados bugs, irá perder rapidamente o interesse do jogador, assim como um jogo com gráficos fracos ou um som irritante. Existem também um variado número de actividades externas ao desenvolvimento, mas que também são importantes e contribuem para o sucesso deste. Aqui englobam-se vários pormenores como a distribuição deste por parte de uma editora, ou por conta própria, a campanha de marketing efectuada, as relações estabelecidas com a imprensa, entre outros factores. Neste artigo irei focar a área da programação, que foi a principal área que deu origem aos videojogos. Para os programadores, existem dois caminhos principais para se iniciar no desenvolvimento de jogos, cada um com as suas vantagens e desvantagens. É possível dedicar-se ao estudo de uma ou várias linguagem de programação, ou dedicar-se à criação de MODs de jogos que disponibilizem ferramentas para este efeito. É também possível dedicar-se a ambos, para beneficiar da experiência dos dois, se tiverem disponibilidade para isso. Os jogos que mais se destacam pela qualidade de ferramentas e pelo elevado número de MODs são o Half-Life(2), Doom3, Neverwinter Nights, e os jogos baseados no motor Unreal, como o Unreal Tournment, Deus Ex, Postal 2, entre outros jogos conhecidos. Existem também muitos outros jogos que suportam MODs, com o Max Payne 2, TES3: Morrowind, Command and Conquer. Para ter uma melhor ideia sobre o universo da criação de MODs, dêem uma vista de olhos a http://moddb.com/. As ferramentas normalmente disponibilizadas são um editor de níveis e outros aspectos do jogo, ou até uma linguagem de scripting, como o UnrealScript?, ou o próprio código-fonte do jogo. As principais vantagens do desenvolvimento de MODs são os conhecimentos adquiridos sobre o funcionamento de um jogo comercial e reconhecido, como trabalham as partes principais do jogo, como os seus ficheiros são distribuídos, etc. Também permite a criação, de forma relativamente mais fácil, de um produto mais apelativo aos jogadores, embora sempre semelhantes ao jogo principal. Essa é mesmo a principal desvantagem, o facto de estarmos limitados às ferramentas disponibilizadas, e também por serem raros os casos MODs comerciais (Counter-Strike, Day Of Defeat, ...). As vantagens de aprender uma linguagem de programação são várias, mas a principal razão é o facto de obtermos todo o controlo do nosso jogo e podermos criá-lo da forma que entendemos. Mas para isso é preciso dominar uma linguagem de programação, o que pode levar algum tempo. Em relação à criação de MODs, o período e a dificuldade de aprendizagem de uma linguagem de programação são mais elevados. Isto pode levar alguns iniciantes a desistirem, mas a recompensa de dominar uma linguagem de programação é grande. Outra das vantagens de saber trabalhar com uma determinada linguagem, é que esta também pode ser aplicada em outros trabalhos, diferentes de jogos, como software empresarial, entre outros. O primeiro dilema que os futuros programadores se deparam, é com a decisão de qual linguagem aprender. Uma das opções mais recomendada é C++. É uma linguagem que é vastamente utilizada na indústria de videojogos. Mais de 90% dos jogos que costumamos ver nas prateleiras das lojas, são programados nesta linguagem. É também uma das que possui maior documentação e referências, assim como ferramentas. As suas características, como a velocidade e controlo, também a favorecem em relação às restantes linguagens. Esta linguagem peca apenas pelas dificuldades que introduz a alguém novo à programação. Mas também são usadas outras linguagens, com características bastante variadas. Java é uma linguagem que se destaca pela sua portabilidade. Os programas feitos em Java podem ser usados em variadas plataformas, como o computador, telemóveis, PDAs, e mesmo websites, apenas com reduzidas modificações. Esta portabilidade leva a algum custo no desempenho, mas não deixa de ser um opção a ter em conta. Temos também Visual BASIC, que se destaca pela sua facilidade de aprendizagem e utilização, embora seja mais utilizada na criação de outro tipo de software. Existem também vários jogos feitos em Delphi, uma linguagem derivada de Pascal, alguns deles comerciais. Os jogos desenvolvidos sobre a plataforma Flash também têm ganho bastante popularidade, graças à sua integração nos sites, que permitem um rápido acesso, e simplicidade. Estes jogos são predominantemente baseados no aspecto gráfico, mas necessitam de uma base de programação, que é feita em ActionScript?. Existem variadas fontes de sobre desenvolvimento de jogos. A mais importante e fiável são os livros. A cada novo tema ou linguagem de programação, que se decide aprender e dominar, convém ter um livro, tanto para auxiliar na aprendizagem, como para ser utilizado como referência. No entanto, os livros de programação, que se encontram è venda em Portugal, possuem poucas referências ao desenvolvimento de jogos. Por isso, é necessário, muitas vezes, mandar vir os livros através de uma loja online, como a Amazon (http://www.amazon.com), o que encarece um bocado o preço, mas apresenta uma maior variedade de escolha. A internet é o local onde é possível encontrar praticamente todo o tipo de informação, sobre qualquer assunto. É possível encontrar um grande número de artigos e tutoriais sobre qualquer linguagem e qualquer aspecto do desenvolvimento de jogos. Mas, essa variedade leva às vezes a alguma desinformação em alguns artigos menos trabalhados e revistos. Mas não deixam de ser uma das principais fontes, a que irão recorrer muitas vezes. Outro factor importante são as comunidades que se formam à volta deste tema. Estas comunidades são formadas através de um site, fórum, canal de IRC, entre outros. As comunidades são importantes para a partilha de artigos, mas especialmente para tirar dúvidas, partilhar experiências e pedir conselhos a pessoas mais experientes, tendo em consideração as regras estabelecidas. Finalmente, é possível recorrer também ao código-fonte de jogos, que sejam lançados sobre a lincença "open-source". Estes já requerem alguns conhecimentos sobre a linguagem em questão, mas são uma fonte de informação muito valiosa, já que apresentam a resolução de problemas com que o programador se deparou e os métodos que devem ser usados em cada situação. Para conseguir desenvolver o jogo dos nossos sonhos, é necessário muito esforço e dedicação, para além de paciência e persistência para todas as dificuldades que iram surgir. O meu conselho, e o da maioria dos programadores, é começar por jogos pequenos e simples, como por exemplo Tetris, Snake, Pacman, um Shooter 2D, cada um introduzindo uma nova funcionalidade característica, que vai aumentando a dificuldade. Esta é a melhor maneira para um principiante não se perder entre as inúmeras capacidades de programação, que o desenvolvimento de jogos exige. Grande parte dos que desenvolvem jogos são amadores, já que só o fazem nos tempos livres, por serem estudantes ou terem um emprego noutra área. Não é fácil, mas é o objectivo de praticamente todos, entrar na indústria de videojogos, quer trabalhando para uma produtora, ou criando a sua própria produtora. Este é um caminho longe de ser fácil, mas muito recompensador. Alguns links: Comunidades internacionais: http://www.gamedev.net http://www.devmaster.net Comunidades portuguesas: http://www.gamedev-pt.net http://www.igda.org/lisbon http://sergiosantos.info http://ideias3.com http://takeoff.ideias3.com
David Pintassilgo Posted February 19, 2006 at 12:28 PM Report #14584 Posted February 19, 2006 at 12:28 PM Bom,..axo que já temos aqui um bom artigo para o nº2 da revista, não? 😕 cool stuffs to check. http://blog.zxcoders.com//
UnKnowN Posted February 19, 2006 at 12:59 PM Report #14592 Posted February 19, 2006 at 12:59 PM Sim, mesmO ! Good Tuto neon_prannock 😕
vbmaster Posted February 19, 2006 at 01:14 PM Report #14595 Posted February 19, 2006 at 01:14 PM Bom tut.... aih... quando será que eu começo a fazer merdinhas dessas em c++, é que eu curto mesmo esta linguagem.... 😕
neon_prannock Posted February 19, 2006 at 02:55 PM Author Report #14610 Posted February 19, 2006 at 02:55 PM Este artigo já estva no wiki, e já tinha sido elaborado á cerca de 2 meses acho eu. http://sergiosantos.info http://ideias3.com http://takeoff.ideias3.com
David Pintassilgo Posted February 19, 2006 at 02:57 PM Report #14613 Posted February 19, 2006 at 02:57 PM Ainda nao tinha visto,...numa me orientei bem ocm isso (wiki) cool stuffs to check. http://blog.zxcoders.com//
maxtar36 Posted March 5, 2025 at 04:14 AM Report #634526 Posted March 5, 2025 at 04:14 AM Muito interessante o artigo, neon_prannock! Concordo plenamente com a visão de que o desenvolvimento de jogos vai muito além de ser apenas um passatempo e que, ao contrário do que muitos pensam, requer um conjunto considerável de habilidades e dedicação. A indústria de jogos é uma das mais lucrativas atualmente, e o potencial de inovação que ela oferece, especialmente na programação, é imenso. Você tocou em um ponto muito relevante sobre as linguagens de programação, e como o C++ continua sendo uma das mais utilizadas. A complexidade que ela traz pode desmotivar no início, mas, como você mencionou, o controle total sobre o jogo e o aprendizado que vem com isso são extremamente valiosos. Eu também acrescentaria que, além do C++, muitas empresas estão começando a adotar linguagens como C# (especialmente com Unity) devido à sua facilidade de uso e eficiência, tornando o início da jornada mais acessível para novatos. Sobre os MODs, achei uma excelente sugestão, principalmente para quem quer começar a entender como funcionam os jogos comerciais. Realmente, trabalhar com MODs de jogos populares pode ser uma ótima forma de aprender a aplicar conceitos de programação, sem a pressão de criar um jogo completamente do zero. Em relação às fontes de aprendizado, você mencionou as comunidades e tutoriais online, que são realmente inestimáveis. Eu mesmo aprendi muito com fóruns e discussões de código, onde programadores experientes compartilham suas soluções. E, claro, a prática constante é essencial para quem quer se aprofundar. A recomendação de começar com projetos pequenos, como Tetris ou Snake, é uma excelente forma de ir ganhando confiança enquanto se aprende os fundamentos. Enfim, muito bom o artigo. Ele oferece um excelente panorama para quem quer começar nessa jornada e também para aqueles que já têm algum conhecimento, mas buscam expandir suas habilidades na área de desenvolvimento de jogos.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now