Desenvolvimento de jogos com MonoGame

Veremos nesse artigo o MonoGame, que é uma versão open source do XNA Framework, e em grande parte as suas estruturas são idênticas. Vamos aprender a desenvolver um jogo simples de espaçonave que se mexe com os comandos do teclado.

Fique por dentro
Este artigo é útil para todos que desejam desenvolver jogos compatíveis com várias plataformas (desktop e mobile) utilizando a linguagem C#. A ferramenta MonoGame permite ao desenvolvedor utilizar uma linguagem já conhecida e amplamente documentada, aproveitando os recursos do .NET Framework e o Visual Studio como IDE.

Desenvolver jogos é algo que uma hora ou outra passa pela cabeça de todo desenvolvedor, mesmo daqueles que não têm costume de consumir esse tipo de software.

Quando se passa a ter conhecimento sobre programação, e mais ainda quando se tem a oportunidade de observar ainda que uma pequena parte do processo de desenvolvimento de um game, esse eixo do mercado de desenvolvimento encanta desde o iniciante até o mais experiente.

A possibilidade de produzir, a partir de linhas de código, um software que para seu usuário final não será apenas um conjunto de formulários e relatórios, mas sim um produto que lhe proporcionará diversas sensações, estimulará o raciocínio, divertirá e até mesmo poderá inspirar competições, é algo que chama a atenção logo à primeira vista.

Além de uma área bastante divertida e estimulante para se trabalhar, o desenvolvimento de jogos tem aberto também oportunidades de bom retorno financeiro.

A quantidade de usuários em todo o mundo que consome esse tipo de produto aumenta a cada ano e, portanto, o mercado se mantém em ascensão. Os Estados Unidos lideram atualmente o ranking tanto em termos de consumo quanto de desenvolvimento de jogos, enquanto o Brasil se mostra como um bom consumidor, mas fica um pouco atrás quando se fala de produção. Porém, este cenário vem mudando constantemente e em nosso país a cada ano surgem novas empresas especializadas nesta área e já não é incomum vermos títulos nacionais ganhando destaque.

Infelizmente algumas pessoas têm certo medo de tentar desenvolver jogos, por pensarem que se trata de uma forma de programar completamente diferente daquela com a qual estão acostumadas. Obviamente um jogo é diferente de um ERP (BOX 1), por exemplo, mas deve-se ter em mente que os conhecimentos aplicados em parte são os mesmos. Lógica de programação, operações aritméticas, entrada e saída de dados, tomadas de decisão, tudo isso se aplica da mesma forma.

BOX 1. ERP

Enterprise Resource Planing, ou simplesmente ERP, é o nome dado a aplicações comerciais de gerenciamento de negócios e recursos. Em sua maioria esses oferecem gerenciamento fiscal e contábil, de recursos humanos e materiais, e alguns oferecem integração com módulos de vendas.

As principais dificuldades de quem pensa em desenvolver games, mesmo possuindo experiência prévia com outros tipos de aplicativo são:

A falta de conhecimento/habilidade relacionado a gráficos/design: nem só de código é feito um jogo, são necessários elementos gráficos que requerem certa habilidade para sua construção. Se pensarmos no clássico Snake, por exemplo, sua primeira versão era formada basicamente por um conjunto de pontos exibidos em uma tela, se movendo. Porém, o mesmo jogo em dias atuais traz gráficos mais elaborados, com cores e formas mais realistas. Se imaginarmos títulos maiores como FIFA, Mortal Kombat, Halo, entre tantos outros, esse fator gráfico vai muito mais além, com imagens e modelos que beiram a realidade em sua perfeição.

Mas aqueles que não possuem habilidade com gráficos (desde desenhos em duas dimensões até modelagem 3D, que de fato é algo bem mais complexo), podem optar por desenvolver em equipe com outros profissionais que dominem essa parte. É natural para alguns desenvolvedores tentarem desenvolver tudo sozinhos, e quando se dão conta que “não levam jeito” com desenhos, animações e afins, acabam desistindo e mais uma ideia termina por morrer sem ser posta em prática. Por isso, às vezes é necessário utilizar a técnica de “dividir para conquistar” e tentar desenvolver em conjunto com outros profissionais, a fim de se obter um produto final com mais qualidade e provavelmente em menos tempo.

A necessidade de aprender novas linguagens e usar ferramentas com as quais não se está acostumado: programadores que já possuem experiência em linguagens mais tradicionais, que não em seu desenvolvimento não contemplavam o desenvolvimento de jogos, como Delphi e Visual Basic, acabam esbarrando na necessidade de aprender uma nova linguagem e consequentemente novos IDEs que melhor atendam às necessidades da criação de um game. Com alguma pesquisa até encontramos iniciativas para o desenvolvimento de jogos com essas linguagens, mas poucas ou nenhuma delas se mostram como boas opções nos dias de hoje, seja pela limitação de recursos, ou por atender a uma plataforma específica somente." [...] continue lendo...

Artigos relacionados