A Indústria de Software E de vídeo games
Por: anisiocb • 15/4/2016 • Artigo • 6.386 Palavras (26 Páginas) • 331 Visualizações
Introdução
A indústria de software de vídeo games é contabilizada nos USA em torno de 6 bilhões de dólares. Se incluirmos consoles, portáteis, aplicativos e venda de acessórios, em 2006 a indústria de vídeo games gerou um retorno de cerca de 12,5 bilhões de dólares, excedendo a marca do recorde anterior que era de cerca de 2 bilhões de dólares.
Com o Microsoft XNA, pela primeira vez um desenvolvedor que não fosse profissional de game pode criar um jogo single ou multiplayer que pode rodar tanto no PC quanto no console Xbox 360.
Esses dois fatos por si só, podem ser razão suficiente para que qualquer um tenha interesse em aprender XNA e tornar-se um desenvolvedor de jogos, tentando obter uma fatia do mercado que é mais promissor do que a indústria de criação de filmes de Hollywood.
Contudo, sejamos justos e sinceros. Infelizmente, há poucas portas abertas nesta área: comparando-se um cargo de programador de jogos para cada cem cargos de programadores de outras atividades. Pior que isso, em média, a indústria de desenvolvimento de jogos paga menos do que outros tipos de desenvolvimento.
Após digerir esses fatos, se você ainda acha que trabalhar como desenvolvedor de jogos pode ser interessante e valer a pena, então continue nesse caminho. É provável que com o passar de pouco tempo, a situação de quantidade de vagas e remuneração mude bastante, sobretudo em nosso país. Mas é sempre bom pesar os riscos e os retornos!
Há também boas notícias: como a promessa da Microsoft de abrir mercado, permitindo que qualquer um comercialize seus jogos para outros, logo haverá um potencial de 10 milhões de usuários (Janeiro de 2008) para seus jogos caseiros.
O que é XNA?
XNA é uma brincadeira de palavras. A sigla significa “isso não é uma sigla”. O mundo Microsoft é tão cheio de siglas que eles decidiram criar um nome que parecesse uma sigla, mas não é, só de brincadeira.
Mas XNA é muito mais do que isso. O conceito inovador de trazer para o desenvolvedor padrão o poder de criar seus próprios jogos para o Xbox 360 é uma grande inovação tecnológica, a qual traz muitos esforços da Microsoft para estabelecer uma comunidade ativa para criadores de jogos (unindo ambas as comunidades de programadores de jogos para Windows e para Xbox 360) e também estabelecendo programas em áreas acadêmicas para dar suporte a instituições que desejam criar cursos usando consoles Xbox 360 como base.
Esses esforços tornaram-se óbvios quando notamos que o Microsoft XNA Game Studio pode ser adquirido gratuitamente pelo site da Microsoft, em http://www.microsoft.com/XNA. A Microsoft também oferece conteúdo de jogos gratuitos, incluindo tutoriais de vídeo, kits de inicialização (que podem ser configurados pelo programador), exemplos, e outros conteúdos de suporte no XNA Creator’s Club: http://creators.XNA.com.
O último passo em fazer o Microsoft LIVE conhecido como um “Youtube para jogos” é a habilidade de submeter os jogos criados por você para Xbox LIVE e distribuí-los (ou mesmo vendê-los) para qualquer um que esteja em conexão com o LIVE. Nenhuma outra comunidade de programadores de jogos não-profissional é tão excitante, como o XNA Game Studio lançando atualizações freqüentes com novos conteúdos no site XNA Creator’s Club!
O grande segredo por trás do sucesso do XNA é que ele é fácil – muito mais fácil do que qualquer API para console, e também mais fácil do que qualquer API para Windows, devido ao nível de abstração que ele provê para detalhes que com os quais você tem que se preocupar em outras APIs. XNA usa o mesmo ambiente de desenvolvimento integrado (IDE) – XNA Game Studio Express – e o mesmo framework para desenvolvimento de jogos tanto para Windows como para Xbox 360, o que assegura um alto grau de compatibilidade. Contudo, há diferenças em nas camadas mais baixas. O console Xbox 360 roda uma versão compacta do Framework DotNet, então você deve ser cuidadoso: nem todas as funções disponíveis para Windows irão funcionar no Xbox 360.
Como nasceu o XNA?
Vamos fazer uma jornada de volta aos dias do DOS no PC. Quando programar jogos, demonstrações gráficas, e coisas do tipo no DOS, os programadores tipicamente tinham que escrever código de baixo-nível para conversar diretamente com a placa de som, placas gráficas e dispositivos de entrada. Isso era tedioso e os códigos resultantes eram candidatos a apresentarem erros porque os fabricantes diferentes criavam seus hardwares de forma diferente como, interrupções de BIOS, portas E/S, e bancos de memória – assim, o código poderia funcionar em um sistema e não funcionar em outro.
Mais tarde, a Microsoft lançou o sistema operacional Windows 95. Muitos programadores de jogos foram céticos quanto a escrever jogos para Windows – e com razão – porque não havia mais como se comunicar com o hardware em baixo nível para realizar tarefas de forma rápida. O Windows 95 tinha um modelo de memória protegida que impedia os desenvolvedores de acessar diretamente as interrupções de hardware de baixo-nível.
Para resolver esse problema, a Microsoft criou uma tecnologia chamada DirectX. Primeiramente foi chamada Windows Game SDK, mas rapidamente foi dividida em DirectDraw, DirectSound, e DirectPlay, recebendo então o nome de Direct “X”. O DirectX 1.0 nasceu poucos meses depois do Windows 95 ser lançado.
Graças ao DirectX, desenvolvedores tinham uma forma de escrever jogos com um código fonte que funcionaria em todos os PCs independentemente de seus hardwares. Os fabricantes de hardwares estavam interessados em trabalhar com a Microsoft no sentido de padronizar uma interface para acessar seus hardwares. Eles criaram drivers de dispositivos com os quais o DirectX conseguia interagir, então todo o trabalho que antes era feito pelos programadores de jogos, agora era feito por eles, e esses programadores poderiam gastar seu tempo fazendo o que eles realmente queriam – programar jogos! Os fabricantes chamaram essa metodologia de Hardware Abstraction Layer – HAL (Camada de Abstração de Hardware). Eles também desenvolveram um Hardware Emulation Layer – HEL (Camada de Emulação de Hardware), a qual emulava hardware através de software, para o caso em que o hardware não estivesse presente. É fato que, isso fazia o processamento mais lento, mas por outro lado, permitia que certos jogos rodassem em máquinas que não tivessem hardware especial.
...