Quadro 2 – Código HTML5 utilizando canvas - Projeto Pesquisa

Propaganda
TURNO:
NOTURNO
VERSÃO:
01
ANO /
SEMESTRE:
2011.1
No
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO
CURSO DE CIÊNCIA DA COMPUTAÇÃO — BACHARELADO
COORDENAÇÃO DE TRABALHO DE CONCLUSÃO DE CURSO
PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO
TÍTULO:
SIMULAÇÃO DE FUTEBOL EM AMBIENTE WEB: VERSÃO 3.0
ÁREA: Jogos.
Palavras-chave: Simulação. Jogo. Futebol. HTML5. Web. On-line. Inteligência Artificial.
1 IDENTIFICAÇÃO
1.1
ALUNO
Nome: Thyago Schleuss
Código/matrícula: 46706-5/130658-8
Endereço residencial:
Rua: Jequié
Complemento:
n: 209
Bairro: Salto
CEP: 89030-350
Cidade: Blumenau
Telefone fixo: 3323-1389
UF: SC
Celular: 8834-9030
Endereço comercial:
Empresa: Dynamix Comércio de Software LTDA.
Rua: República Argentina
CEP: 89050-100
Cidade: Blumenau
E-Mail FURB: [email protected]
1.2
n: 704
Bairro: Ponta Aguda
UF: SC
Telefone: 30377006
E-Mail alternativo: [email protected]
ORIENTADOR
Nome: José Roque Voltolini da Silva
E-Mail FURB: [email protected]
E-Mail alternativo: [email protected]
2 DECLARAÇÕES
2.1
DECLARAÇÃO DO ALUNO
Declaro que estou ciente do Regulamento do Trabalho de Conclusão de Curso de
Ciência da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada
em todas as páginas. Ainda me comprometo pela obtenção de quaisquer recursos necessários
para o desenvolvimento do trabalho, caso esses recursos não sejam disponibilizados pela
Universidade Regional de Blumenau (FURB).
Assinatura:
2.2
Local/data:
DECLARAÇÃO DO ORIENTADOR
Declaro que estou ciente do Regulamento do Trabalho de Conclusão do Curso de
Ciência da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada
em todas as páginas. Ainda me comprometo a orientar o aluno da melhor forma possível de
acordo com o plano de trabalho explícito nessa proposta.
Assinatura:
Local/data:
3 AVALIAÇÃO DA PROPOSTA
Thyago Schleuss
Orientador(a):
José Roque Voltolini da Silva
ASPECTOS AVALIADOS
1.
não atende
Acadêmico(a):
atende
parcialmente
AVALIAÇÃO DO(A) ORIENTADOR(A)
atende
3.1
INTRODUÇÃO
1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2.
ASPECTOS TÉCNICOS
3.
4.
5.
6.
7.
ASPECTOS
METODOLÓGICOS
8.
9.
OBJETIVOS
2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral?
Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
RELEVÂNCIA
3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
METODOLOGIA
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a
metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de
maneira a permitir a execução do TCC no prazo disponível?
REVISÃO BIBLIOGRÁFICA
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais
características dos mesmos?
REQUISITOS DO SISTEMA A SER DESENVOLVIDO
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
CONSIDERAÇÕES FINAIS
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
REFERÊNCIAS BIBLIOGRÁFICAS
8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na
proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
CITAÇÕES
9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada)
10.1. O texto obedece ao formato estabelecido?
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem
utilizada é clara)?
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se:

qualquer um dos itens tiver resposta NÃO ATENDE;

pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou

pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER:
(
Assinatura do(a) avaliador(a):
) APROVADA
(
) NECESSITA DE COMPLEMENTAÇÃO
Local/data:
CONSIDERAÇÕES DO(A) ORIENTADOR(A):
Caso o(a) orientador(a) tenha assinalado em sua avaliação algum item como “atende parcialmente”, devem ser relatos os
problemas/melhorias a serem efetuadas.
Na segunda versão, caso as alterações sugeridas pelos avaliadores não sejam efetuadas, deve-se incluir uma justificativa.
Assinatura do(a) avaliador(a):
Local/data:
3.2
AVALIAÇÃO DO(A) COORDENADOR DE TCC
Acadêmico(a):
Thyago Schleuss
1.
não atende
ASPECTOS AVALIADOS
atende
parcialmente
atende
Avaliador(a):
INTRODUÇÃO
1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2.
ASPECTOS TÉCNICOS
3.
4.
5.
6.
7.
ASPECTOS
METODOLÓGICOS
8.
9.
OBJETIVOS
2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral?
Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
RELEVÂNCIA
3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
METODOLOGIA
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a
metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de
maneira a permitir a execução do TCC no prazo disponível?
REVISÃO BIBLIOGRÁFICA
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais
características dos mesmos?
REQUISITOS DO SISTEMA A SER DESENVOLVIDO
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
CONSIDERAÇÕES FINAIS
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
REFERÊNCIAS BIBLIOGRÁFICAS
8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na
proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
CITAÇÕES
9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada)
10.1. O texto obedece ao formato estabelecido?
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem
utilizada é clara)?
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se:

qualquer um dos itens tiver resposta NÃO ATENDE;

pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou

pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER:
(
) APROVADA
(
) NECESSITA DE COMPLEMENTAÇÃO
OBSERVAÇÕES:
Assinatura do(a) avaliador(a):
Local/data:
Thyago Schleuss
Avaliador(a):
Joyce Martins
ASPECTOS AVALIADOS
1.
não atende
Acadêmico(a):
atende
parcialmente
AVALIAÇÃO DO(A) PROFESSOR(A) DA DISCIPLINA DE TCCI
atende
3.3
INTRODUÇÃO
1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2.
ASPECTOS TÉCNICOS
3.
4.
5.
6.
7.
ASPECTOS
METODOLÓGICOS
8.
9.
OBJETIVOS
2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral?
Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
RELEVÂNCIA
3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
METODOLOGIA
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a
metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de
maneira a permitir a execução do TCC no prazo disponível?
REVISÃO BIBLIOGRÁFICA
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais
características dos mesmos?
REQUISITOS DO SISTEMA A SER DESENVOLVIDO
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
CONSIDERAÇÕES FINAIS
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
REFERÊNCIAS BIBLIOGRÁFICAS
8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na
proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
CITAÇÕES
9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada)
10.1. O texto obedece ao formato estabelecido?
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem
utilizada é clara)?
PONTUALIDADE NA ENTREGA
atraso de
_____ dias
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se:

qualquer um dos itens tiver resposta NÃO ATENDE;

pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou

pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER:
(
) APROVADA
(
) NECESSITA DE COMPLEMENTAÇÃO
OBSERVAÇÕES:
Assinatura do(a) avaliador(a):
Local/data:
3.4
AVALIAÇÃO DO(A) PROFESSOR(A) ESPECIALISTA NA ÁREA
Acadêmico(a):
Thyago Schleuss
1.
não atende
ASPECTOS AVALIADOS
atende
parcialmente
atende
Avaliador(a):
INTRODUÇÃO
1.1. O tema de pesquisa está devidamente contextualizado/delimitado?
1.2. O problema está claramente formulado?
2.
ASPECTOS TÉCNICOS
3.
4.
5.
6.
7.
ASPECTOS
METODOLÓGICOS
8.
9.
OBJETIVOS
2.1. O objetivo geral está claramente definido e é passível de ser alcançado?
2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral?
Caso não sejam apresentados objetivos específicos, deixe esse item em branco.
RELEVÂNCIA
3.1. A proposta apresenta um grau de relevância em computação que justifique o
desenvolvimento do TCC?
METODOLOGIA
4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC?
4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a
metodologia proposta?
4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de
maneira a permitir a execução do TCC no prazo disponível?
REVISÃO BIBLIOGRÁFICA
5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC?
5.2. São apresentados trabalhos correlatos, bem como comentadas as principais
características dos mesmos?
REQUISITOS DO SISTEMA A SER DESENVOLVIDO
6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram
claramente descritos?
CONSIDERAÇÕES FINAIS
7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica
com a realização do TCC?
REFERÊNCIAS BIBLIOGRÁFICAS
8.1. As referências bibliográficas obedecem às normas da ABNT?
8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na
proposta (são usadas obras atualizadas e/ou as mais importantes da área)?
CITAÇÕES
9.1. As citações obedecem às normas da ABNT?
9.2. As informações retiradas de outros autores estão devidamente citadas?
10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada)
10.1. O texto obedece ao formato estabelecido?
10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem
utilizada é clara)?
A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se:

qualquer um dos itens tiver resposta NÃO ATENDE;

pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou

pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE.
PARECER:
(
) APROVADA
(
) NECESSITA DE COMPLEMENTAÇÃO
OBSERVAÇÕES:
Assinatura do(a) avaliador(a):
Local/data:
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO
SIMULAÇÃO DE FUTEBOL EM AMBIENTE WEB:
VERSÃO 3.0
THYAGO SCHLEUSS
BLUMENAU
2011
THYAGO SCHLEUSS
SIMULAÇÃO DE FUTEBOL EM AMBIENTE WEB:
VERSÃO 3.0
Proposta de Trabalho de Conclusão de Curso
submetida à Universidade Regional de
Blumenau para a obtenção dos créditos na
disciplina Trabalho de Conclusão de Curso I
do curso de Ciência da Computação —
Bacharelado.
Prof. José Roque Voltolini da Silva - Orientador
BLUMENAU
2011
2
1 INTRODUÇÃO
O futebol é um dos esportes mais populares no mundo. Graças a seu jeito simples de
jogar, ele é praticado em centenas de países. Basta uma bola, equipes de jogadores e as traves,
para que, em qualquer espaço, crianças e adultos possam se divertir com o futebol. Na rua, na
escola, no clube, no campinho do bairro ou até mesmo no quintal de casa, desde cedo jovens
de vários cantos do mundo começam a praticar o futebol (SILVA, 2005).
Até a década de 60 o futebol era baseado essencialmente na técnica e, portanto,
aquele que dominava alguns fundamentos tais como drible, chute, passe, cabeceio
etc. conseguia se destacar em sua equipe e em relação aos demais jogadores, sem
necessitar de outras qualidades. (MEDINA, 2009).
Conforme o tempo foi passando e o futebol foi evoluindo, o individualismo, apesar de
ainda presente, começou a dar espaço para a evolução do futebol em si, em relação a
esquemas táticos, estratégias de jogo, simulações de situações possíveis em campo, etc.
Segundo Medina (2009), “[...] os treinadores começaram a ter maior importância no trabalho
das equipes.” Esses, juntamente com suas comissões técnicas, cada vez mais
multidisciplinares, começaram a buscar uma integração dos fatores físicos, técnicos e táticos
para conseguirem melhores resultados.
Com toda esta evolução, os técnicos preocupam-se muito mais com os fatores físicos,
técnicos e táticos dos jogadores. Para auxiliá-los, a utilização de simuladores vem se
propagando neste meio. Tem-se a necessidade de planejamentos de curto, médico e longo
prazo, envolvendo aspectos físicos, psicológicos, emocionais e sociais dos atletas (MEDINA,
2009).
Schulter (2007) criou um simulador de futebol que permite criar jogadores, formar um
time, montar táticas, definir estratégias e visualizar a partida em 2D, com restrição de poder
ser executado apenas em um ambiente desktop (RODRIGUES, 2008, p. 16). Para sanar tal
restrição, Rodrigues (2008) complementou este simulador de futebol a fim de disponibilizá-lo
em um ambiente web para que usuários de qualquer lugar pudessem utilizá-lo ao mesmo
tempo, criando táticas, estratégias e desafiando outros times on-line.
Uma restrição desta atualização para um ambiente web é a exibição da simulação em
tempo real, a qual foi criada utilizando uma tecnologia não padrão para web, forçando assim
os usuários a terem softwares de terceiros (plug-ins) vinculados ao seu navegador.
Visto o acima, propõe-se modificar a ferramenta implementada por Rodrigues (2008)
objetivando a simulação com a utilização de uma tecnologia padrão para a web, sem a
3
utilização de qualquer plug-in. Com o desenvolvimento do trabalho proposto será possível
que qualquer dispositivo que possua um navegador que incorpore os padrões atuais,
homologados por instituições para este fim, possa acessar e utilizar o simulador sem a
necessidade de um hardware com alta capacidade de memória e de processamento de dados.
Ainda, será disponibilizado um motor de inteligência para auxílio na tomada de decisões,
tanto de jogadores quanto do time durante o tempo de um jogo.
1.1
OBJETIVOS DO TRABALHO
O objetivo do trabalho é disponibilizar o simulador de futebol de Rodrigues (2008) no
ambiente web para diversas plataformas, desde desktop até dispositivos mobiles.
Os objetivos específicos do trabalho são:
a) disponibilizar a visualização das simulações utilizando tecnologias padrões para
web, como a versão 5 do HyperText Transfer Protocol (HTML5), a versão 3 do
Cascading Style Sheets (CSS3) e a versão 1.8.1 do JavaScript (JS);
b) disponibilizar uma base de conhecimentos e um motor de inteligência contendo
inicialmente uma (1) técnica de Inteligência Artificial (IA) a ser estudada,
objetivando o auxílio na tomada de decisões dos jogadores durante uma simulação;
1.2
RELEVÂNCIA DO TRABALHO
A presente proposta trata da continuação de um projeto realizado por Rodrigues
(2008), o qual também foi estendido a partir do trabalho de Schulter (2007). Conforme a
última versão (RODRIGUES, 2008), o autor sugere diversas extensões para complementar o
simulador.
Para esta proposta considerou-se a opção de seguir os padrões da web 3.0 que objetiva
substituir outras tecnologias como Java Applet, JavaFX, Flash e Silverlight utilizando uma
tecnologia nova e em constante desenvolvimento para a reprodução das simulações em
ambientes tanto desktop como mobile, chamada HTML5. Salienta-se que o HTML5 objetiva
que o acesso a qualquer dispositivo seja tão simples, fácil e conveniente quanto a um
4
computador convencional. Ainda tal tecnologia, HTML5, está em fase de desenvolvimento,
sendo liderado pelo World Wide Consortium (W3C).
Também, um motor de inteligência será disponibilizado objetivando auxiliar nas
tomadas de decisão dos jogadores durante as simulações por meio do uso de técnicas de IA.
1.3
METODOLOGIA
O trabalho será desenvolvido observando as seguintes etapas:
a) levantamento bibliográfico: pesquisar material sobre futebol, simulação –
incluindo simulação on-line, simulador de futebol com robôs virtuais
(SCHULTER, 2007) e o simulador de futebol em ambiente web (RODRIGUES,
2008), HTML5, CSS3, JS, IA e trabalhos correlatos;
b) estudo do simulador de futebol em ambiente web: verificar a especificação e
implementação do software desenvolvido por Rodrigues (2008);
c) elicitação de requisitos: reavaliar e detalhar os requisitos funcionais e não
funcionais, observando as necessidades e peculiaridades levantadas nas etapas
anteriores;
d) especificação: reespecificar o simulador e o site desenvolvido por Rodrigues
(2008), considerando as novas tecnologias usadas (HTML5, CSS3 e JS) e
incluindo um motor de inteligência. Para esta etapa será utilizada a técnica de
orientação a objetos, através de diagramas de casos de uso, classes e sequência da
Unified Modeling Language (UML). Para realizar a especificação será utilizada a
ferramenta Enterprise Architect (EA);
e) implementação: implementar a nova versão do simulador na linguagem Java EE
para o servidor e para o lado do cliente usar o HTML5, CSS3 e o JS. Códigos da
versão do simulador de Rodrigues (2008) serão reaproveitados quando da não
mudança da especificação de módulos (estrutura, lógica e tecnologias). A
Integrated Development Environment (IDE) a ser utilizada para implementação do
simulador será o Eclipse 3.6;
f) testes: seguir os casos de uso definidos para a realização dos testes, criando
usuários para a realização de partidas e campeonatos através de dispositivos
diferentes como desktop e mobile ao mesmo tempo. Verificar o comportamento
5
dos jogadores/time mediante o uso do motor de inteligência.
As etapas serão realizadas nos períodos relacionados no Quadro 1.
2011
jul. ago. set. out. nov.
etapas / quinzenas 1 2 1 2 1 2 1 2 1 2
levantamento bibliográfico
estudo do simulador futebol em ambiente web
elicitação de requisitos
especificação
implementação
testes
Quadro 1 - Cronograma
6
2 REVISÃO BIBLIOGRÁFICA
Na seção 2.1 é definido o que é futebol, mostrando algumas regras do mesmo. Na
seção 2.2 o assunto simulação é explorado, incluindo os itens simulação on-line, o simulador
de futebol com robôs virtuais (SCHULER 2007) e o simulador de futebol em ambiente web
(RODRIGUES 2008). Nas seções 2.3, 2.4 e 2.5, respectivamente, são abordados os assuntos
HTML5, CSS3 e IA. Ao final na seção 2.6 são descritos quatro (4) trabalhos correlatos.
2.1
FUTEBOL
O futebol é um esporte onde jogam duas equipes, sendo considerado o esporte mais
popular do mundo. Joga-se com uma bola em um campo retangular de grama, com gols, um
em cada lado do campo. O objetivo do jogo é fazer a bola entrar no gol do adversário. Uma
das características deste esporte é que nenhum dos jogadores, com exceção do goleiro, pode
utilizar as mãos ou os braços para movimentar a bola do jogo. O vencedor é a equipe que
marcar mais gols, dentro de um determinado período de tempo. Se ao final do jogo não
houver nenhum gol, o mesmo é declarado como empatado e, dependendo das regras, poderá
haver um prolongamento (ENCICLOPÉDIA..., 2006).
Segundo Sua Pesquisa (2008), no ano de 1904 foi criada a Fédération Internationale
de Football Association (FIFA) que organiza até hoje o futebol em todo o mundo. Para a
regulamentação do esporte, a FIFA publicou ao todo dezessete (17) regras que são
distribuídas aos juízes do jogo. Dentre elas, destacam-se as que definem o campo de jogo, a
bola, o número de jogadores, o árbitro, os assistentes do árbitro, a duração da partida, o gol
marcado, o impedimento, faltas, pênalti e escanteio (PORTALBRASIL, 2010).
2.2
SIMULAÇÃO
O termo simulação é bastante genérico, visto que são várias as formas e mecanismos
utilizados para a representação do comportamento de um sistema (MELLO, 2001). Segundo
7
Lobão e Porto (1999, p. 13), a simulação é uma das mais versáteis e flexíveis ferramentas de
análise disponíveis, sendo largamente utilizada em operações técnicas para prever o
funcionamento do sistema real como um todo.
De acordo com Mello (2001), alguns fatores que tornam desejável o uso de técnicas de
simulação são:
a) tempo: em computador é possível realizar experimentos que, se executados sobre o
sistema real, poderiam consumir anos;
b) custo: o custo mantém-se muito abaixo se comparado à execução de experimentos
sobre o sistema real;
c) visualização: os computadores oferecem recursos que facilitam a visualização dos
resultados de uma simulação (gráficos, tabelas, entre outros);
d) repetição: depois de construído, um modelo de representação pode ser executado
várias vezes a um custo muito baixo;
e) interferência: um modelo é extremamente mais flexível para a realização de
mudanças se comparado a um sistema real.
2.2.1
Simulação on-line
Segundo Chamovitz, Sabbadini e Oliveira (2008), a web reforça alguns conceitos
baseados em colaboração. Usuários passam a ser mais responsáveis pelo conteúdo da web.
Aplicativos de hoje que estão nos computadores de cada indivíduo podem ficar disponíveis
on-line. Assim, com apenas o sistema operacional e o navegador (disponível tanto em desktop
como em dispositivos mobile), qualquer pessoa pode utilizar o aplicativo, acessível através de
uma Uniform Resource Locator (URL). Ainda, configurações individuais poderão ser
mantidas em um servidor.
Este procedimento acontece também para o desenvolvimento de modelos de
simulação. Ainda, após construir o modelo, o responsável pode compartilhá-lo via web,
liberando uma versão beta para testes.
Ainda segundo Chamovitz, Sabbadini e Oliveira (2008), a web oferece um canal que
pode ser usado para desenvolvimento, teste e disseminação de processos operacionais, onde
diversos recursos podem ser compartilhados por um número significativo de usuários.
8
2.2.2
Simulador de futebol com robôs virtuais
De acordo com Rodrigues (2008, p. 20), o simulador de Schulter (2007) possui
algumas limitações como não considerar o eixo Z e não tratar o impedimento, o pênalti e o
escanteio. Outra restrição existente no simulador é que para duas pessoas simularem uma
partida eles necessitam utilizar a mesma máquina, uma vez que a aplicação é desenvolvida
exclusivamente para desktop, conhecendo assim a estratégia do adversário.
O software possui dois módulos: o módulo de cadastro e o de simulação. No módulo
de cadastro é feita a criação das equipes, jogadores, estratégias e táticas. No módulo
de simulação o usuário define o confronto e as estratégias. Neste módulo é feita a
visualização da partida em 2D. (SCHULTER, 2007, p. 79).
A Figura 1 ilustra a simulação de uma partida de futebol em desktop, com as
estratégias visíveis para ambos os jogadores.
Figura 1 - Tela obtida a partir do simulador desktop de Schulter (2007)
2.2.3
Simulador de futebol na web
No simulador de Rodrigues (2008), ao iniciar a partida, o applet para visualização é
carregado no navegador do criador e do adversário. Quando os usuários estão prontos para
visualizar a partida, a simulação inicia e os jogadores posicionam-se.
Conforme Rodrigues (2008, p. 64), “A principal melhoria que o Futebol Simulado
possui em relação ao simulador de Schulter (2007) é ser uma aplicação web. Isso torna o
simulador mais atrativo para entretenimento, pois é possível interagir com adversários de
diversos lugares através da internet”.
9
A Figura 2 ilustra a simulação em ambiente web, utilizando applet para visualização da
partida.
Figura 2 – Tela obtida a partir do simulador web de Rodrigues (2008)
2.3
HTML5
“A W3C disponibilizou no dia sete de outubro de dois mil e dez (07/10/2010) a quinta
(5ª) principal revisão da recomendação HTML5.” (W3C, 2010 apud RODRIGUES;
SOMMARIVA, 2010).
A linguagem HTML5, que ficou uma década sem atualização, veio com a proposta de
quebrar as barreiras de compatibilidade na exibição de vídeos via internet, aprimorar o uso
off-line de aplicações web e exibir gráficos interativos com facilidade no browser (BRAUN,
2009). HTML5 é uma grande proposta de empresas como Google, Mozilla, Apple e Opera
para disponibilizar as aplicações na web.
Atualmente não há como falar em HTML5 sem citar HTML, CSS e JS, onde, enquanto
o HTML define a formatação dos documentos, o CSS configura a apresentação do conteúdo e
o JS é utilizado na interatividade das páginas com validações, efeitos, entre outros. Com o
HTML5, a Web Hypertext Application Tecnhology Working Group (WHATWG), grupo
formado por desenvolvedores das diversas empresas citadas anteriormente, pretende unificar
diversos recursos destas tecnologias, HTML, CSS e JS, em um só, que é o HTML5.
Dentre as inúmeras funcionalidades oferecidas pelo HTML5, o canvas é uma das mais
importantes entre elas. Com o canvas é possível criar gráficos, composições de fotos e
10
animações utilizando JS. O canvas é basicamente uma área onde é possível desenhar como se
fosse uma tela, o que amplia notavelmente as possibilidades das páginas dinâmicas e permite
fazer representações gráficas que até agora estavam reservadas aos desenvolvedores de Java
Applet, JavaFX, Flash e Silverlight. Uma das vantagens do uso do HTML5 é a portabilidade
nos navegadores, uma vez que o mesmo é independente de plug-ins (ALVAREZ, 2010).
O Quadro 2 exemplifica a utilização do canvas, tendo como resultado a Figura 3.
<html>
<head>
<script type="application/x-javascript">
function draw() {
//Recupera o canvas
var canvasElem = document.getElementById('canvas');
//Recupera o contexto "2d" de desenho
var context = canvasElem.getContext('2d');
//Desenha um triangulo azul
context.fillStyle = "blue";
context.beginPath();
context.moveTo(100, 60);
context.lineTo(50, 120);
context.lineTo(150, 120);
context.lineTo(100, 60);
context.fill();
}
</script>
</head>
<body onload="javascript: draw();">
<canvas id="canvas" width="200" height="200">
O seu browser ainda não suporta HTML5 ou a tag Canvas!
</canvas>
</body>
</html>
Quadro 2 – Código HTML5 utilizando canvas
Figura 3 – Resultado do exemplo utilizando o canvas
2.4
CSS3
CSS3 é a nova versão do CSS, onde se define os estilos para páginas na web com
efeitos de transição de imagem, bordas redondas, sombras, múltiplos backgrounds, layouts
multi-colunas, novos seletores, fontes externas, transformações 2D e 3D além de animações
(CSS3, 2011). No Quadro 3 destacam-se os principais seletores (propriedades) do CSS3.
11
border-radius:[tamanho]; /* bordas arredondadas */
box-shadow:[topo] [esquerda] [borrão] [cor]; /* sombra */
text-shadow:[topo] [esquerda] [borrão] [cor]; /* sombra em letras */
opacity:[valor]; /* transparência */
word-wrap:[definição]; /* quebra de palavra */
background-size:[largura] [altura]; /* tamanho do plano de fundo */
Quadro 3 – Seletores do CSS3
2.5
IA
Existem várias definições de inteligência. Entretanto, um fator necessário para decidir
se um sistema é inteligente está relacionado com sua capacidade de aprender. Com relação ao
aprendizado humano, é notório o fato que ele é terrivelmente lento. São necessários de 4 a 8
anos para que os humanos comecem a entender conceitos, portanto pode-se concluir que são
aprendizes muitos lentos. Ao ensinar (programar) um único computador para resolver um
determinado problema, todos os demais computadores podem “aprender” como resolver o
mesmo problema bastando apenas copiar o programa para cada um deles (MONARD;
BARANAUSKAS, 2000, p. 343).
O princípio de funcionamento dos computadores é relativamente simples, mas foram
precisos anos para que se pudesse descobri-lo. Esta descoberta deve-se a Alan Turing (19121954). A descoberta de Turing consiste no fato de ele ter demonstrado, através da sua
máquina, que toda e qualquer tarefa que possa ser representada na forma de um procedimento
efetivo pode ser mecanizada, ou seja, pode ser realizada por um computador. Trocando esta
máquina rudimentar com fita e marcador por outra com o mesmo princípio, substituindo a fita
com vários símbolos por outra com apenas dois, o zero (0) e o um (1), pode-se chegar a algo
como a representação elétrica do pensamento humano. Foi usando este tipo de estratégia que
os pesquisadores da IA encontraram um caminho para construir circuitos que imitam a
maneira de um ser humano de raciocinar (TEIXEIRA, 1994).
Os progressos na área de IA têm surtido efeito em várias outras áreas, como em jogos,
programas de diagnóstico médico, robótica e outros mais. Para desenvolver programas com
IA, técnicas para tomada de decisão foram propostas.
Segundo Fujita (2005, p. 19), as técnicas de IA para jogos podem ser divididas em
duas categorias principais, denominadas “determinísticas” e “não-determinísticas”.
As técnicas determinísticas possuem um comportamento previsível, consome poucos
recursos da máquina e são mais fáceis de serem implementadas. Um exemplo de
12
comportamento determinístico é o algoritmo básico de perseguição. O problema desta
abordagem é que se faz necessário prever todas as ações possíveis em um determinado
momento, fazendo-se uso de muitas regras do tipo “se-então” (FUJITA, 2005, p. 10).
Ainda segundo Fujita (2005, p. 19), as técnicas não-determinísticas possuem um grau
de incerteza, que pode variar de acordo com a implementação; um exemplo de
comportamento não determinístico inclui o aprendizado que um personagem da máquina
adquire ao jogar contra um humano após um determinado período. Tal aprendizado pode ser
implementado por uma rede neural ou algoritmo genético, por exemplo.
Com a evolução dos sistemas de simulação tal como os jogos que possuem uma grande
quantidade de recursos necessários para seu correto funcionamento, foi que surgiram os
motores ou frameworks de inteligência. Estes concentram conhecimentos em diversas áreas e
as unem para formar uma aplicação única. Segundo Vieira Filho (2005, p. 18-20), as técnicas
de IA mais encontradas nos motores de inteligência de jogos de esporte são:
a) máquina de estados finitos;
b) máquina de estados fuzzy;
c) Data-Driven Systems;
d) sistema de mensagens;
e) sistema de informação baseado na localização;
f) redes Bayesianas;
g) redes neurais.
2.6
TRABALHOS CORRELATOS
Em The RoboCup Federation (2007) é descrito o RoboCup, criado em junho de 1993
por um grupo de pesquisadores japoneses que decidiram lançar uma competição de robótica,
provisoriamente chamada de Robô J-Legue. Após um mês, vários pesquisadores de fora do
Japão manifestaram-se solicitando que a iniciativa fosse expandida como um projeto
internacional, surgindo assim o Robot world Cup (RoboCup). Hoje é uma competição
mundial que acontece todos os anos, onde, por meio de robótica e inteligência artificial, os
participantes devem desenvolver seus times para competir.
Em Online Football Manager (2011), o usuário tem a oportunidade de ser um técnico
de futebol. O sistema online permite que milhares de usuários decidam que time treinar, quais
13
jogadores contratar, qual formação é a melhor para o time, qual a melhor tática, além de
contar com um sistema de treinamento, sistema de contratação de técnicos especialistas em
uma determinada modalidade, como pênaltis, faltas e escanteio. Ainda, gerenciamento de
finanças, médicos, funcionários, patrocínios, estádios, entre outros módulos existem no
sistema.
Em Hattrick (2008), assim como em Online Football Manager (2011), o usuário
conduz um time de futebol, competindo com outros jogadores ao redor do mundo através de
um sistema online. Neste, o usuário assume o papel tanto de diretor do time, quanto de dono
do clube, planeja táticas e estratégias, decide o que treinar e escala os jogadores que deverão
participar de cada partida. O usuário compra e vende jogadores, investe em melhorias em seu
estádio, entre outros. Diferente dos demais, em Hattrick o time pertence a uma região,
normalmente ligada à região do jogador. As regiões tem seu próprio clima, que afeta uma
série de elementos, como por exemplo, a presença da torcida nos estádios.
Em Managerzone (2007) pode-se participar de ligas, copas, customizar o time em nível
de emblema, cores das roupas, aparência dos jogadores, entre outros. É possível comprar e
vender jogadores e melhorar seus atributos através de treinamentos. Segundo Schulter (2007,
p. 24), em alguns campeonatos é necessário pagar para participar e são dados prêmios aos
vencedores.
Uma comparação dos simuladores citados é apresentada no Quadro 4.
Característica
Jogo
Aplicação
Operacionalidade
Nível de aproximação com
atribuições de um clube no
mundo real (gerenciamento
do time)
Nível de aproximação da
simulação com uma partida
real
Substituições durante a
partida
Troca de tática durante a
partida
Visualização da partida
Motor de inteligência
ManagerZo
ne football
Hattrick
Online
Football
Manager
Web
Simples
Muito
próximo
Schulter
(2007)
Rodrigues
(2008)
Web
Complexa
Muito
próximo
Web
Complexa
Próximo
Desktop
Simples
Distante
Web
Simples
Distante
Muito
próximo
Próximo
Muito
próximo
Distante
Distante
Possui
Não possui
Possui
Não possui
Não possui
Não possui
Não possui
Não
possui
Possui
2D e 3D
Sim
Não possui
Sim
Não possui
Não
2D
Não
2D
Não
Fonte: adaptado de Rodrigues (2008, p. 28).
Quadro 4 – Comparação dos simuladores apresentado
Possui
14
3 REQUISITOS DO SISTEMA A SER DESENVOLVIDO
Os Requisitos Funcionais (RF) e Requisitos Não Funcionais (RNF) da aplicação
proposta são:
a) manter os seguintes requisitos do ambiente de Rodrigues (2008):
-
permitir o cadastro de usuários a partir do site (RF),
-
permitir que dois usuários realizem uma simulação através da internet, cada um
com seu time e em máquinas diferentes (RF),
-
o ambiente servidor deverá ser implementado na linguagem Java (RNF),
-
o sistema deverá utilizar a tecnologia JavaServer Pages (JSP) nas páginas do
site (RNF),
-
o sistema deverá utilizar o banco de dados MySQL para armazenar as
informações criadas através do site (RNF);
b) ter um motor de IA para tomada de decisão dos jogadores durante a simulação
(RF);
c) permitir a visualização do simulador com a tecnologia HTML5 (RNF);
d) o sistema deverá ser compatível com os sistemas operacionais Mac OS, Linux e
Windows (RNF);
e) o sistema deverá ser compatível com dispositivos móveis rodando iOS ou Android
(RNF).
15
4 CONSIDERAÇÕES FINAIS
Sistemas de simulação são eficientes em áreas esportivas e trazem bons resultados em
curto espaço de tempo e a custo reduzido, se comparado ao mesmo objetivo em um ambiente
real. Com isso, tem-se como objetivo deste trabalho, expandir o funcionamento do simulador
de futebol desenvolvido por Schulter (2007) e estendido por Rodrigues (2008), trazendo mais
dinâmica às simulações criadas, ou seja, torná-lo mais próximo de uma partida real, onde há
imprevistos, decisões momentâneas, ou seja, que não sejam pré-determinadas e que façam os
jogos serem repetitivos.
Além de torná-lo mais realístico através da aplicação de técnicas de IA, pretende-se
com este trabalho levar a simulação a todos os lugares onde ela não consegue chegar, seja por
depender de software ou hardwares específicos. Através de tecnologias como HTML5, que
agrupa o HTML, CSS e o JS, pode-se criar todo o ambiente do usuário final de forma online,
utilizando padrões da web para que possa ser executado nos mais diversos tipos de
dispositivos. Com a web, todo o conteúdo fica armazenado em apenas um local e, através de
padrões abertos que estão sendo desenvolvidos, qualquer dispositivo que os implemente
poderá ter acesso ao sistema, seja para fins científicos ou até mesmo para entretenimento.
Assim como em The Robocup (THE ROBOCUP FEDERATION, 2007) e em Hattrick
(2008) pretende-se utilizar algoritmos de inteligência artificial através de um motor de
inteligência para tornar as disputas mais dinâmicas, sem que ocorra intervenção humana.
Com a utilização do HTML5, objetiva-se deixar o ambiente do simulador e sua
utilização tão simples como em Online Football Manager (2011), além de disponibilizar a
visualização da partida em tempo real, como ocorre apenas em ManagerZone
(MANAGERZONE..., 2007), só que sem dependência de plug-ins de terceiros.
16
REFERÊNCIAS BIBLIOGRÁFICAS
ALVAREZ, Miguel A. Introdução a canvas do HTML 5. [S.l.], 2010. Disponível em:
<http://www.criarweb.com/artigos/introducao-canvas-html5.html>. Acesso em: 07 mar. 2011.
BRAUN, Daniela. HTML 5: conheça a linguagem que vai revolucionar sua navegação na
web. [S.l.], 2009. Disponível em: <http://idgnow.uol.com.br/internet/2009/06/16/html-5conheca-a-linguagem-que-vai-revolucionar-sua-navegacao-na-web/>. Acesso em: 07 mar.
2011.
CHAMOVITZ, Ilan; SABBADINI, Francisco S.; OLIVEIRA, Mário J. F. A utilização da
simulação baseada na web para o estudo de processos operacionais. Florianópolis, 2008.
Disponível em: <http://producaoonline.org.br/index.php/rpo/article/download/148/270>.
Acesso em: 07 mar. 2011.
CSS3. In: WIKIPÉDIA, a enciclopédia livre. [S.l.]: Wikimedia Foundation, 2011. Disponível
em: <http://pt.wikipedia.org/wiki/CSS3>. Acesso em: 14 mar. 2011.
ENCICLOPÉDIA do futebol. In: ENCICLOPÉDIA. [S.l.], 2006. Disponível em:
<http://www.enciclopedia.com.pt/articles.php?article_id=418>. Acesso em: 07 mar. 2011.
FUJITA, Eduardo. Algoritmos de IA para jogos. 2005. 66 f. Trabalho de Conclusão de
Curso (Bacharelado em Ciência da Computação) - Universidade Estadual de Londrina,
Londrina. Disponível em: <www2.dc.uel.br/nourau/document/?down=314>. Acesso em: 08
mar. 2011.
HATTRICK. Simulador de futebol. [S.l.], 2008. Disponível em: <http://www.hattrick.org/>.
Acesso em: 08 mar. 2011.
LOBÃO, Elídio de C.; PORTO, Arthur J. V. Evolução das técnicas de simulação. Produção,
Rio de Janeiro, v. 9, n. 1, p. 13-22, 1999. Disponível em:
<http://www.revistaproducao.net/arquivos/websites/32/v09n1a02.pdf>. Acesso em: 07 mar.
2011.
MANAGERZONE football. In: WIKIPÉDIA, a enciclopédia livre. [S.l.]: Wikimedia
Foundation, 2007. Disponível em: <http://pt.wikipedia.org/wiki/Managerzone>. Acesso em:
08 mar. 2011.
MEDINA, João P. S. A evolução do futebol e o talento esportivo. [S.l.], 2009. Disponível
em: <http://blogdomedina.com.br/2009/07/18/a-evolucao-do-futebol-e-o-conceito-de-talentoesportivo/>. Acesso em: 27 fev. 2011.
MELLO, Braulio A. de. Modelagem e simulação de sistemas. Santo Ângelo, 2001.
Disponível em: <http://www.urisan.tche.br/~bmello/disciplinas/simulacao/ap-sim.pdf>.
Acesso em: 07 mar. 2011.
17
MONARD, Maria C.; BARANAUSKAS, José A. Aplicações de inteligência artificial: uma
visão geral. In: CONGRESSO DE LÓGICA APLICADA À TECNOLOGIA, 1., 2000, São
Paulo. Anais... São Paulo: Pleiade, 2000. p. 339-348. Disponível em:
<http://dfm.ffclrp.usp.br/~augusto/publications.htm>. Acesso em: 22 mar. 2011.
ONLINE FOOTBALL MANAGER. Game multiplayer online. Holanda, 2011. Disponível
em: <http://www.treinadordefutebol.com/>. Acesso em: 08 mar. 2011.
PORTALBRASIL. Regras do futebol. Brasil, 2010. Disponível em:
<http://www.portalbrasil.net/regras_do_futebol.htm>. Acesso em: 13 mar. 2011.
RODRIGUES, Roberto R. Simulador de futebol em ambiente web. 2008. 80 f. Trabalho de
Conclusão de Curso - (Bacharelado em Ciência da Computação) - Centro de Ciências Exatas
e Naturais, Universidade Regional de Blumenau, Blumenau.
RODRIGUES, Roberto R.; SOMMARIVA, Leonardo. HTML 5: exemplos de utilização em
um website comercial. 2010. Não paginado. Trabalho final: artigo (Especialização em Ciência
da Computação) - Curso de Pós-Graduação em Tecnologias para o Desenvolvimento de
Aplicações WEB, Universidade Regional de Blumenau e Fundação Fritz Müller, Blumenau.
SCHULTER, Fábio. Simulador de uma partida de futebol com robôs virtuais. 2007. 90 f.
Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Centro de
Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
SILVA, Sidney B. da. História do futebol. [S.l.], 2005. Disponível em:
<http://www.campeoesdofutebol.com.br/hist_futebol.html>. Acesso em: 27 fev. 2011.
SUA PESQUISA. História do futebol. [S.l.], [2008]. Disponível em:
<http://www.suapesquisa.com/futebol/>. Acesso em: 07 mar. 2011.
TEIXEIRA, João de F. O que é inteligência artificial. [S.l.], [1994?]. Disponível em:
<http://www.filosofiadamente.org/images/stories/pdf/o_que_e_inteligencia_artificial.pdf>.
Acesso em: 08 mar. 2011.
THE ROBOCUP FEDERATION. A brief history of RoboCup. [S.1.], 2007. Disponível em:
<http://www.robocup.org/about-robocup/a-brief-history-of-robocup/>. Acesso em: 08 mar.
2011.
VIEIRA Filho, Vicente. Revolution AI engine: desenvolvimento de um motor de inteligência
artificial para a criação de jogos eletrônicos. 2005. 65 f. Trabalho de Conclusão de Curso –
(Bacharelado em Ciência da Computação) – Centro de Informática, Universidade Federal de
Pernambuco, Pernambuco. Disponível em: <www.cin.ufpe.br/~tg/2005-1/vvf.pdf>. Acesso
em: 30 mar. 2011.
Download