A história dos Jogos Computacionais (JC) serve como base para o leitor entender a evolução dos JC e também assimilar com mais facilidade o objeto de estudo abordado. Porém, na metodologia de desenvolvimento é que será delimitado o conteúdo deste artigo, que não tem a pretensão de esgotar o assunto, muito pelo contrário, o propósito é fomentar o assunto de desenvolvimento de JC. Inclusive para o ponto de linguagem computacional, a linguagem Java foi escolhida, no Professordelphi, para o desenvolvimento de Jogos, sendo multi-plataforma e com um vasto material bibliográfico em português.
1.1.1 Jogos Computacionais em Java.
O conceito de jogo difere do conceito de esporte. Segundo Marcelo e Pescuite(2009, p.01), um jogo tem regras para um ambiente restrito podendo ser aplicadas de imediato, já o esporte tem regras universais. Um jogo também é uma competição possuindo regras simples ou até mesmo complexas. Dentro dos segmentos de jogos, existe o segmento dos eletrônicos que pode ser dividido em: videogames ou console e os jogos de computador.
A década de 80, foi um período onde milhões de pessoas que jogaram o Atari. Sendo um console para jogos com cartucho. Neste mesmo período, foi lançado no mercado os sistemas operacionais da Apple e da Microsoft, dando início a revolução do computador pessoal (PC). Nestes ambientes, os jogos para PC começaram a ser desenvolvidos, mas ficaram bastante limitados à quantidade de PC existentes nas residências e em empresas que começaram a adotar a era PC, pois, ainda não existia a Internet como é conhecida atualmente. Com o advento da rede mundial, os jogos computacionais deram um salto em termo de tecnologia, utilizando o realismo como característica, motivando os jogadores, que podem participar de partidas a nível planetário.
As características dos jogos eletrônicos podem ser divididos, com alguns exemplos: ·Aventura - Colossal Caves e Myst. ·Luta - Street Fighter. ·Labirinto - PAC-MAN da Namco Japonesa (1980). ·Plataforma - Mario Bros da Nintendo. ·Shooter (Tiro) - DOOM. ·Simulação em geral - Flight Simulator, Sim City. ·Role Playing ou RPGs - série Ultima. ·Estratégia - Age of Empires. ·Adultos - jogos com tema sexual. ·Musical - Guitar Hero.
A Internet foi um grande diferencial nesta evolução histórica. Segundo Marcelo e Pescuite(2009,p.32), em 1997, com a popularização da banda larga os jogos passaram à um novo patamar, aparecendo os MMORPGs(Massive Multiplayers Online Role Playing Games), como exemplo, a Ultima Online, que chegou a 50 mil participantes em 90 dias, e World of Warcraft. Estes jogos tem como característica, uma maior interação entre os participantes, que até fizeram amizade entre si e a continuaram no mundo real. Foram inspiradores, de certa forma, da criação do mundo virtual chamado Second Life. Esta dimensão foi possível com a criação de jogos para Rede Mundial.
As linguagens de computador são um ponto importante na história de JC. A linguagem assembly é a grande estreante no mundo dos games para CPU, sendo uma linguagem de baixo nível, ou seja, uma linguagem que se aproxima da linguagem de máquina, diferente da linguagem de alto nível, que se aproxima do vocabulário do homem. Sendo que, poucos programadores tiveram o privilégio de desenvolver para o ambiente computacional nesta linguagem. Um exemplo, segundo a autora Jeannie Novak (2010, p.24), é o jogo Colossal Cave, conhecido também como Adventure, foi desenvolvido por Willian Crowther, em assembly. Depois, as linguagens C, C++, Java, Flash começaram a dominar o ambiente computacional, por serem linguagens de alto nível. Marcelo e Pescuite(2009,p.90), cita em um livro sobre algumas linguagens, de uma forma bem resumida, mas que serve para o leitor ter uma ideia sobre o assunto. Segue-se abaixo:
a) C - Linguagem de alto nível, oriunda da linguagem B, foi criada por Dennis Ritchie (1972), do Laboratório Bell, americano. E tem como característica ser bastante veloz como o assembly. Foi utilizada no desenvolvimento do sistema operacional Unix. Sendo muito utilizada no desenvolvimento de jogos computacionais.
b) C++ - Criada por Bjarne Stroustrup dos Bell Labs, durante a década de 80, com a meta de implementar uma versão distribuída do núcleo Unix. Um exemplo de jogo, inclusive de sucesso, é DOOM 3, um jogo de tiro de primeira pessoa. Chamando à atenção, que não é linguagem em si que garante o sucesso, e sim, a jogabilidade e a clareza das regras.
c) Java - muito conhecida no mercado de desenvolvimento de jogos, Orientada à Objeto (OO), trabalha em ambientes Desktop, Web e Mobile. Na linha de jogos, há uma crítica na sua utilização quanto à velocidade, todavia isso na verdade pode estar atrelada à falta de domínio da linguagem pela parte do programador, já que a linguagem citada é de uma complexidade maior. Um site que tem uma lista de jogos on-line em Java é o http://www.funorb.com/l=3/g=dungeonassault/gamelist.ws , como exemplo o Ace of Skies, que também aparece nesta lista. Java, pode ser escrita em várias plataformas. Standard Edition (SE), Enterprise Edition(EE), Mobile Edition (ME). Segundo o fabricante do Java, agora é a Oracle (2011), a linguagem permite que um jogador atuando on-line, troque conversa com pessoas de várias partes, faça cálculos e veja imagens tridimensionais. Permitindo que o jogo faça parte dos aplicativos de uma rede interna e também de Internet.
Atualmente, existem motores de jogos (games engines). Segundo Daniel Souza(2007), Doom 3 Engine, é um motor de jogos que desenvolveu jogos como: Doom 3, Quake 4, Prey e Quake Wars. Motores de jogos são ferramentas poderosas com todos os pontos necessários para desenvolvimento dos mesmos. Favorecendo a implantação gráfica, sonoplastia e níveis de jogabilidade com um certo nível de dificuldade. Segundo Marcelo e Pescuite(2009,p.89), muitos programadores começaram a sua vida profissional com os motores de jogos. Nestas ferramentas, às vezes, nem é necessário o domínio de uma linguagem de programação, pois oferece o chamado WYSIWYG (é o acrônimo da expressão em inglês "What You See Is What You Get"), ou seja, como você desenvolve assim é que você verá.
No avanço dos jogos, a jogabilidade é uma forte característica do JC e esta característica está associada à Inteligência Artificial (IA), conceito que determina um certo grau de aprendizagem do software, quando jogado por alguém. Segundo André Kishimot(2004), na evolução dos JC, em 1962, Spacewar, para 2 jogadores, não havia vestígio de IA, porém no ano de 1975, Gun Fight, um jogo com personagens em movimento, tem as primeiras utilizações de IA. A IA traz melhor qualidade para aos olhos do jogador, pois o mesmo tem a sensação de realidade. Atualmente, vários JCs, tem utilizado das seguintes técnicas de AI, redes neurais, reinforcement e observational learning, e o detalhamento destes assuntos serve para geração de novas linhas de pesquisa.
O jogo para computador, na sua evolução, não só tem enfatizado o lado da diversão mas começa a ser usado para o aprendizado. Segundo Saulo Camarotti, Carla Denise Castanho, Et alii (2007), no artigo localizado em, http://www.arte.unb.br/6art/textos/jeomm.pdf, o jogo chamado Chengo Chinese, disponibiliza 1000 atividades de aprendizado, como situações que envolvem cultura, áreas sociais, geográficas e históricas da China. Este jogo foi uma inspiração do JC Ultima Online, que gerou toda a cadeia da industria de games no ponto da realidade virtual. Agora, as autoridades chinesas estão tirando melhor proveito deste casamento de JC com a parte educacional.
ACE OF SKIES. Disponível em:
<http://www.funorb.com/l=3/g=dungeonassault/gamelist.ws>. Acessado em: 15 de janeiro
de 2011.
ADOBE. Disponível em: <http://www.adobe.com/br/products/flash/?promoid=BOZRB >.
Acessado em : 14 de janeiro de 2011.
AMAZONAS, Daniel Souza. Desenvolvimento de Jogos 3D em Java com a Utilização
do Motor Gráfico Irrlich. Disponível em: <http://www.flf.edu.br/revistaflf/
monografia_jogo3d.pdf >. Acessado em: 14 de janeiro de 2011.
BROOKSHEAR, J. Glenn, CIENCIA DA COMPUTAÇAO: UMA VISAO ABRANGENTE.
Porto Alegre: Bookman, 2003.
FERRANTE, Agustin Juan, RODRIGUEZ, Vicente Rodrigues y. Tecnologia de Informação
e Gestão Empresarial. Rio de Janeiro: E-Papers, 2000.
KISHIMOTO, André. Inteligência Artificial em Jogos Eletrônicos. Disponível
em:<http://www.programadoresdejogos.com/trab_academicos/andre_kishimoto.pdf>.
Acessado em: 06 de janeiro de 2011.
HORSTMANN, Cay. CONCEITOS DE COMPUTAÇAO COM O ESSENCIAL DE JAVA.
Porto Alegre: Bookman, 2003.
IPLAY. ATARI ONLINE jogos java direto no site. Disponível:
<http://www.iplay.com.br/Jogos/Atari/2600/ >. Acessado em: 16 de janeiro de 2011.
JAVA. O que é o Java?. Disponível em: <http://java.com/pt_BR/download/index.jsp >.
Acessado em: 15 de janeiro de 2011.
JUNIOR, Roque Rabechini. Competências e maturidade em gestão de projetos: uma
perspectiva estruturada. 1ª ed. São Paulo: ANNABLUME, 2005.
MARCELO, Antonio, PESCUITE, Julio. Design de Jogos Fundamentos. Rio de Janeiro:
Brasport, 2009.
MARTINS, José Carlos Cordeiro. Técnicas Para Gerenciamento de Projetos de
Software. Rio de Janeiro: Brasport, 2007.
MAY, Matthew. TOYOTA - A Fórmula da Inovação. Rio de Janeiro: Elsevier, 2007.
MELO JR, Cleuton Sampaio. GUIA DO JAVA ENTERPRISE: DESENVOLVENDO
APLICAÇOES CORPORATIVAS. 5 ed. Rio de Janeiro: Brasport, 2007.
39
NOVAK, Jeannie. Desenvolvimento de Games – Tradução de 2ª Edição Norte-
Americana. São Paulo: Cengage Learning, 2010.
PERUCIA, Alexandre Souza, BERTHÊM, Antônio Córdova de, BERTSCHINGER,
Guilherme Lage, MENEZES, Roberto Ribeiro Castro. Desenvolvimento de Jogos
Eletrônicos – Teoria e Prática. 2ª ed. São Paulo: Novatec, 2005.
PROFESSORDELPHI. Curso de Jogos Computacionais. Disponível em: <
http://www.professordelphi.com/novosite/novosite/cursojogos.htm >. Acessado em 31 de
janeiro de 2011.
SAULO, Camarotti, CASTANHO, Carla Denise, et al. Proposta de um modelo de Jogo
Online Massivamente Multiusuário aplicado à educação. Disponível em:
<http://www.arte.unb.br/6art/textos/jeomm.pdf >. Acessado em: 06 de janeiro de 2011.
SERSON, Roberto Rubinstein. PROGRAMAÇAO ORIENTADA A OBJETOS COM JAVA
6. Rio de Janeiro: Brasport, 2007.
SHIGUE, C. Y. Cálculo Numérico e Computacional. Disponível em:<
http://www.alunos.eel.usp.br/numerico/notasDeAula/intro.pdf >. Acessado em: 03 de
janeiro de 2010.
SPYER, Juliano Spyer. Para Entender a Internet: Noções, práticas e desafios da
comunicação em rede. São Paulo: Naozero,2009.
SUN. Disponível em: <http://java.com/pt_BR/download/index.jsp>. Acessado em: 26 de
janeiro de 2011.
VELASQUEZ, Carlos Eduardo Lé. Modelo de Engenharia de Software para o
Desenvolvimento de Jogos e Simulações Interactivas. Disponível em:
<https://bdigital.ufp.pt/dspace/bitstream/10284/1361/3/DM_CarlosVelasquez.pdf>.
Acessado em 25 de janeiro de 2011.
WIKIPÉDIA. Atari 2600. Disponível em:<http://pt.wikipedia.org/wiki/Atari_2600 >.
Acessado em : 14 de janeiro de 2011.
WIKIPÉDIA. C (linguagem de programação). Disponível em:
<http://pt.wikipedia.org/wiki/Linguagem_C>. Acessado em: 14 de janeiro de 2011.
WIKIPÉDIA. C++. Disponível em: <http://pt.wikipedia.org/wiki/C%2B%2B >. Acessado em:
14 de janeiro de 2011.
WIKIPÉDIA. Doom 3. Disponível em:<http://pt.wikipedia.org/wiki/Doom_III >. Acessado
em : 15 de janeiro de 2011.
WIKIPÉDIA. Id Tech 4. Disponível em:<http://en.wikipedia.org/wiki/Doom_3_Engine >.
Acessado em : 14 de janeiro de 2011.
WIKIPÉDIA. Motor de Jogo. Disponível em:<http://pt.wikipedia.org/wiki/Motor_de_jogo >.
Acessado em: 14 de janeiro de 2011.
WIKPÉDIA. XBOX. Disponível em : <http://pt.wikipedia.org/wiki/Xbox >. Acessado em 14
de janeiro de 2011.