INTELIGÊNCIA ARTIFICIAL APLICADA AOS JOGOS ELETRÔNICOS

Tamanho: px
Começar a partir da página:

Download "INTELIGÊNCIA ARTIFICIAL APLICADA AOS JOGOS ELETRÔNICOS"

Transcrição

1 Revista Eletrônica da Faculdade Metodista Granbery - ISSN Curso de Sistemas de Informação N.13, JUL/DEZ 2012 INTELIGÊNCIA ARTIFICIAL APLICADA AOS JOGOS ELETRÔNICOS *1 Fernando Filgueiras *2 Sérgio Muinhos Barroso Lima Resumo. Os desenvolvedores de jogos eletrônicos estão buscando a criação de jogos que apresentem um bom desafio para o usuário. A partir desse ponto de vista, estão sendo usados, pelas empresas desenvolvedoras de jogos, diversos algoritmos de inteligência artificial para a simulação de uma inteligência humana convincente, a fim de que o jogo possa cada vez mais estar próximo da realidade. PALAVRAS-CHAVE: inteligência artificial, jogos eletrônicos, desenvolvimento de jogos, ferramentas para jogos, máquinas de jogos. Abstract. The game developers are looking for games that represent real challenges for yours user. Under this point of view, artificial intelligence algorithms has been used by game development companies for a real human intelligence simulation, for an real world approaching. KEY-WORDS: artificial intelligence, eletronic games, game development, game tools, game engines. *1 Bacharel em Sistemas de Informação, Faculdade Metodista Granbery, fernandofilgueiras@hotmail.com. *2 Mestre em Ciência da Computação, UNICAMP, smblima@granbery.edu.com.

2 1 Introdução Os jogos eletrônicos abrangem diversas áreas da tecnologia da informação. O seu desenvolvimento hoje requer investimentos milionários em uma grande equipe de programadores, artistas, músicos, escritores e também em inteligência artificial (IA). A inteligência artificial, que é a proposta desse trabalho, é aplicada em jogos desde o surgimento dos primeiros, nos anos 1970, na sua simplicidade e recursos bastante limitados. Com o passar dos anos houve um crescimento da IA, o que passou a contribuir para o desenvolvimento de jogos com um melhor e maior nível de entretenimento. Uma vez que a IA passou a ser uma nova área de estudo e descobertas, passou-se a desenvolver diversas teorias de inteligência artificial. O objetivo deste trabalho é apresentar o crescimento da inteligência artificial até os dias atuais, acompanhada da evolução dos jogos eletrônicos; algumas das técnicas de IA que são empregadas nos jogos eletrônicos com o objetivo de trazer maior entretenimento para o jogador, simulando a realidade do pensamento e comportamento humano, e um estudo de caso de um jogo específico no qual a IA é bastante aplicada no seu desenvolvimento. 2 História da inteligência artificial aplicada aos jogos eletrônicos A história da IA aplicada aos jogos é dinâmica e vem evoluindo muito rapidamente. A evolução dos jogos é percebida nitidamente observando-se a evolução das figuras nessa seção. Em 1958, o primeiro jogo é criado no laboratório de pesquisas militares Brookhaven National Laboratory, Estados Unidos. Segundo Normand (2010), o físico William Higinbotham cria na tela de um osciloscópio um programa chamado Tennis for Two (Tênis pra Dois, Ilustração 1). Ilustração 1: Primeiro Jogo Eletrônico Tennis for Two. Fonte: (ELISIO, 2010).

3 Em 1961 um grupo de estudantes do MIT criou o Spacewar (ilustração 2), o primeiro jogo de batalha espacial, como afirma Elisio (2010). Ilustração 2: Spacewar primeiro jogo de batalha espacial. Fonte: (ELISIO, 2010). Os primeiros jogos foram desenvolvidos para mainframe, como forma de testarem algoritmos de busca, segundo Santana (2006), como clássicos de xadrez e dama. Havia uma preocupação mais visual por parte dos desenvolvedores, descartando as técnicas de IA e a jogabilidade. Kishimoto (2004) afirma que os primeiros jogos com sistemas inteligentes e movimentos padronizados foram Pursuit e Quak, de 1974, nos quais os jogadores tinham que atirar em alvos móveis; Gun Fight, de 1975, onde personagens possuíam movimentos aleatórios; e o Space Invaders, de 1978, que contém inimigos com movimentos padronizados, mas que também atiravam contra o jogador. Nos anos 1980, a Namco lança o Pac Man (Ilustração 3), e para Kishimoto (2004), o jogo conta com movimentos padronizados dos inimigos, porém cada fantasma (inimigos) tem uma personalidade sobre o modo como caça o jogador. Ilustração 3: Em Pac Man (1980), cada inimigo tem uma personalidade sobre o modo como persegue o jogador, como também movimentos padronizados. Fonte: (MAXIM, 2010). Muitos programadores do início da era de jogos eletrônicos, segundo SCHWAB (2004), implementavam padrões de movimentos ou movimentos repetitivos e/ou aleatórios para os personagens controlados pela máquina, por exemplo: Galaga e Donkey Kong, como

4 sendo a inteligência no jogo. Pela falta de memória e limitação existente na velocidade de processamento dos aparelhos da época, esses recursos eram os mais utilizados. Em 1989, para Kishimoto (2004), foram lançados, pela empresa Maxis, jogos do gênero sims (simuladores de gestão de cidades, fazendas, relações pessoais, entrou outros), como o clássico SimCity, que foram os primeiros a possuir a tecnologia Artificial Life (A- Life). Segundo Tozour (2002), outro exemplo do uso de A-Life em jogos é o título Creatures (criado pela Cyberlife em 1996), que simula a psicologia e fisiologia dos personagens do jogo, incluindo um DNA virtual único de cada personagem. Em 1991, Civilization segundo Kishimoto (2004), está entre as principais aplicações de IA para jogos, uma vez que tais jogos necessitam de uma boa IA para que sejam controlados, pois requerem que o computador controle grupos de personagens com estratégias complexas e diversificadas. Para Cunha e Giraffa (2001), em 1993, o primeiro jogo de tiro em primeira pessoa, chamado Doom (Ilustração 4), é lançado. Segundo Perucia et al. (2005), Doom quebrou paradigmas no desenvolvimento de jogos. Ilustração 4: Doom quebrou paradigmas e impulsionou a industria de jogos. Fonte: (BALDI, 2010). Jogos computadorizados em 3D marcaram a década de 90, em especial Duke Nukem 3D, um jogo no mesmo estilo de Doom. O interessante nesse jogo, em relação a técnicas de IA, é que o jogador, através de uma ferramenta que acompanha o jogo, pode modificar a IA dos personagens inimigos, com uma tecnologia conhecida por Extensible AI (IA extensível) que, a partir de então, foi implementada em vários jogos (Woodcock, 2010). Em 1996, segundo Cunha & Giraffa (2001), usando da tecnologia de IA extensível e mesmo com a possibilidade de criação de personagens próprios no jogo, como no de tiro em primeira pessoa, Quake, lançado pela Id Software, não ocorreu uma evolução das técnicas aplicadas junto com a computação gráfica. Somente houve evolução, por exemplo, com personagens como o ReaperBot, um oponente especialmente criado para ser utilizado em Quake. Este NPC (Non-Playable Characters Personagens Não Controlados pelos jogadores) possui comportamentos mais próximos dos comportamentos humanos, como:

5 busca do adversário por todo o cenário, esconder, recuperar energia com uso de itens pelo cenário, etc. Em 1998, apesar de usar IA baseada em scripts, Half-life foi considerado a melhor aplicação de IA nos jogos eletrônicos da época, segundo Kishimoto (2004). Para Tozour (2002), esses scripts determinam a forma que um agente inteligente deve agir diante de diferentes situações. Para Woodcook (2000), também em 1998, a empresa Epic Megagames desenvolveu um jogo de tiro em primeira pessoa chamado Unreal (Ilustração 5), apresentando significativo avanço nas técnicas de computação gráfica e IA aplicada a jogos. Foram utilizadas tecnologias de IA Máquinas de Estados Finitos e IA Extensível, que, segundo Woodcook (2010), permitiram enorme flexibilidade, em que os NPCs demonstraram: agilidade, capacidade para desviar de ataques, chamar reforços, ou fugir. Kishimoto (2004) ainda afirma que a IA ficou conhecida pelo excelente grau de estratégia dos NPCs. Ilustração 5: Unreal, um jogo da Epic Megagames com 3 tecnologias de IA: Finite State Machine, Fuzzy State Machine e Extensible AI. Fonte: (ALMA, 2010) Kishimoto (2004) afirma que, no ano de 2001, o jogo Black & White é lançado e destaca-se por apresentar criaturas que aprendem com as decisões feitas pelo jogador. Segundo Cunha e Giraffa (2001), Black & White consiste em um jogo de estratégia no qual o jogador controla e treina uma população de criaturas. Woodcook (2010) afirma que foram utilizados tipos de agentes conhecidos como cognitivos. Kishimoto (2004) ainda afirma que o jogo Black & White utiliza de técnicas de observational learning (aprendizagem observacional). Para Molyneux (2010), em Black & White, com o uso de uma árvore de decisão, desenvolve-se a personalidade da criatura, dando a esta a capacidade de opinar sobre um objeto ou possuir algum desejo. Para Champandard (2007), a softwarehouse Procedural Arts desenvolve o game chamado Façade, que é uma historia interativa que se passa com um casal, em um

6 apartamento, que está com seu relacionamento em conflito. A função do jogador é orientar o casal, usando frases e sentenças digitadas. Uma vez que o jogador interage com o jogo, colocando o texto em um analisador de linguagem natural, o game utiliza técnicas de AI conhecida como Behavior Language (BL Linguagem de Comportamento) que fornece maneiras para especificar o comportamento de personagens em termos de uma história dinâmica. Champandard (2007) ainda afirma que os objetivos do projeto são alcançados usando uma variação de uma árvore de comportamento, baseada em uma linguagem chamada Hap. Em especial, a BL apoia e incentiva comportamentos simultâneos, e fornece mecanismos para sincronizar múltiplos atores. Segundo Champandard (2007), em 2005, é lançado o jogo F.E.A.R - First Encount Assault Recon, que é um jogo de tiro em primeira pessoa em que o jogador ajuda a conter fenômenos sobrenaturais e exércitos de soldados clonados. Desenvolvido pela Monolith Productions, Champandard (2007) afirma que a IA em F.E.A.R usa um planejador para gerar comportamentos sensíveis ao contexto, pela primeira vez em um jogo mainstream. Esta tecnologia é utilizada como referência para muitos estúdios até hoje. Em F.E.A.R, os inimigos são capazes de usar o ambiente de forma inteligente, encontrar cobertura atrás de mesas, derrubando prateleiras, abrindo as portas, quebrando e pulando janelas etc (CHAMPANDARD, 2007). Gabe Newell (O diretor de desenvolvimento de jogos para a Valve) escreveu sobre a inteligência artificial para Left4Dead, lançado em 2008, que utiliza AI Director Administrador de IA (ou storytellers - "contadores de histórias"), que reage dinamicamente a um jogador que está executando o jogo (CHAMPANDARD, 2010). O objetivo deste AI Director é fornecer uma experiência desafiadora para o jogador (não necessariamente para a IA ganhar); o que se torna um avanço para os jogos com padrão FPS (First Person Shooter). Todas as criaturas do jogo têm também inteligência artificial padrão com pathing avançado. Cabe ao AI Director colocar as criaturas e suprimentos para o jogador (CHAMPANDARD, 2010). Também em 2008, foi lançado Crysis (Ilustração 6), que, para Champandard (2010), é baseado em algumas das mais avançadas tecnologias disponíveis na indústria de jogos. Champandard (2010) ainda afirma que Cevat Yerli (criador de Crysis) queria fazer com que os personagens se sentissem muito reais e conectados ao mundo. Para isto foi

7 necessário utilizar a mais recente tecnologia de animação, o que para Cevat Yerli era um desafio integrar animação e inteligência artificial nos jogos eletrônicos. A ideia era usar grandes ambientes que mostrassem variação, bem como uma inteligência artificial que oferecesse diversidade sem necessariamente depender disso. Usar o comportamento do jogador como a única fonte de incerteza, fazendo o comportamento dos atores ser menos monótono, mas ainda previsível (CHAMPANDARD, 2010). Cevat Yerli descreve esse método como Dynamic Systemic AI IA com Dinâmica Sistêmica, que Champandard (2010) afirma ser a aplicação típica da IA para jogos FPS hoje em dia, permitindo os comportamentos emergentes serem um pouco mais usados ao invés de totalmente desenvolvidos com scripts. Ilustração 6: Crysis usa o método Dynamic Systemic AI. Fonte: (INCRYSIS 2007). 3 Técnicas de Inteligência Artificial nos jogos eletrônicos Para Perucia et al. (2005), predominante nos jogos eletrônicos, a IA é apresentada em diferentes elementos de um jogo eletrônico, com certo grau de inteligência, com o objetivo de desafiar o jogador. 3.1 Agentes reativos Para Russell & Norvig (2004), classificado como um tipo simples de agente, os agentes reativos selecionam as tomadas de decisões de acordo com a situação em que se encontram, ignorando situações anteriores ocorridas. Conhecida como conexão condição ação, o processamento dos dados ocorre de acordo com os dados de entrada, ativando uma conexão entre estes e a resposta em relação à ação realizada (SANTANA, 2006). Russell e Norvig (2004) classificam os agentes reativos como simples, mas com inteligência baixa, pois as decisões tomadas pelos agentes reativos somente o fazem quando todos os dados do ambiente forem processados. Se por acaso houver um obstáculo na entrada

8 de dados do agente não previsto pelos desenvolvedores, haverá dificuldades na tomada de decisão. Por apresentar simplicidade de programação e bons resultados, uma vez que um agente reativo bem feito transmite ao jogador a sensação de ser inteligente e com bons desafios, Perucia et al afirma que é uma técnica muito utilizada. Os agentes reativos são dotados de sensores (como visão e audição humana, etc.). A ativação desses sensores altera seu estado. Segundo Perucia et al. (2005), assim que recebe um sinal do ambiente em que se encontra, o agente reage em um curto espaço de tempo, tomando as decisões em tempo real. 3.2 Agentes cognitivos Segundo Fernandes (2008), agentes cognitivos definem-se pela sua complexidade e por aprender com as decisões feitas no ambiente. São divididos em agentes cognitivos funcionais e agentes cognitivos mentais. Os agentes funcionais são compostos por partes que executam o sistema e possuem conhecimento, objetivos, além de ter a capacidade de: percepção, comunicação, decisão e raciocínio (FERNANDES, 2008). Os agentes mentais apresentam capacidade de escolha e de assumir compromisso, semelhantes a decisões realizadas pelo homem. Por isso que o estado do agente é chamado de estado mental (FERNANDES, 2008). 3.3 Sistemas baseados em regras Para Rehm, et al. (2009), estes sistemas apresentam várias regras do tipo se-então, em que a parte então da regra é responsável por definir qual ação será realizada ou utilizada para interferir em outra tomada de decisão. Podem ser bastante aproveitadas tanto na criação de IA para jogos como no mundo real. Bourg e Seeman (2004) afirmam que em IA, estes sistemas também são chamados de Sistemas Especialistas. Possuem a grande vantagem de imitar a forma como o ser humano pensa e raciocina. A implementação de sistemas especialistas é fácil pois não possuem uma ordem na forma como podem dispor o conjunto de regras, conforme Fujita (2005).

9 Para Fujita (2005), existem dois tipos de sistemas especialistas, sendo primeiro o sistema forward chaining (encadeamento progressivo), que é o mais comum dos sistemas de inferência. Nele, é apresentado inicialmente um conjunto de fatos sobre o qual são aplicadas as regras repetidamente até chegar numa condição satisfatória. O backward chaining (encadeamento regressivo) é basicamente o contrário do foward chaining. O sistema analisa, ao possuir um objetivo, quais regras poderão ser aplicadas para que este seja atingindo. Em relação a computadores, não é utilizado devido à sua natureza recursiva (FUJITA, 2005). Segundo Rehm, et al. (2009), aplicando sistemas baseados em regras em jogos, uma implementação pode conter os dois tipos de algoritmo. Embora os sistemas baseados em regras apresentem vantagens, para Karlsson (2005), algumas desvantagens são apontadas, como: necessidade de muito espaço em memória, muito poder de processamento e até, em alguns casos, se tornarem extremamente difíceis de depurar. 3.4 Máquinas de estados finitos Segundo Rehm et al. (2009), uma máquina de estados finitos é composta por um conjunto de estados e regras de transições entre estados, ou seja, a máquina de estados define os estados em que um personagem se encontra e quando ocorre a alteração dos mesmos. De acordo com o estado em que a máquina se encontra é que ela deve se comportar durante o jogo (KISHIMOTO, 2004). Para Fujita (2005), as FSMs (Finite State Machine Máquinas de Estados Finitos), foram a melhor escolha ao implementar a IA de agentes para jogos em que sua principal ideia é dividir o comportamento do agente em diferentes estados, ocorrendo transição entre eles. Essa transição depende dos fatores de entrada, que, por exemplo, podem ser estímulos provocados pelo jogador ou o ambiente ao redor. De acordo com Cunha e Giraffa (2001), seu desenvolvimento é simples sendo esse o principal motivo de ser uma técnica muito utilizada no desenvolvimento de jogos. Fujita (2005), ainda afirma que os elementos básicos que constituem uma FSM são: Estados: Representam uma posição no tempo que, consequentemente, irá influenciar no comportamento do agente. Transições: São ligações entre os estados. Eventos: São ações que ocorrem ao redor do agente.

10 Condições: São regras que devem ser preenchidas para que ocorra a mudança de estado. Bilenkij (2009) exemplifica que o comportamento dos fantasmas em Pac-Man é implementado como uma máquina de estado finito. Existe um estado de perseguição, que é o mesmo para todos os fantasmas, e as ações ocorrem de forma diferente para cada fantasma. Quando o jogador come uma das pílulas de energia, então a condição dos fantasmas altera para fugir. A entrada de um timer correndo é a condição para a transição de fugir para perseguir. Os robôs de Quake também, segundo Bilenkij (2009), são implementados com FSM s. Têm estados como FindArmor (Procurar Armamento), FindHealth (Procurar Energia), SeekCover (Buscar Cobertura), e RunAway (Fugir). Mesmo as armas em Quake possuem as suas próprias máquinas de estado finito. Por exemplo, um míssil foguete possui estados como Move (Mover), TouchObject (Tocar/Atingir Objeto/Alvo) e Die (Morrer). Jogadores em simuladores de esportes como o FIFA 2011, têm estados como Strike (atacar), Dribble (driblar), ChaseBall (perseguir bola) e MarkPlayer (marcação de jogador). Além disso, as próprias equipes são frequentemente implementadas com FSM s e podem ter estados como KickOff (chutar), Defender (defesa), ou WalkOutOnField (andar em campo) (BILENKIJ, 2009). Os personagens que não são controlados pelo jogador em jogos de tempo real de estratégia, como World of Warcraft, têm estados como MovetoPosition (Move para Posição), Patrol (Patrulhar) e Followpath (Siga o caminho) (BILENKIJ, 2009). Há muitos propósitos para o uso de FSM s em jogos, mas um dos mais intricados de se lidar, segundo Bilenkij (2009), é o de tentar construir comportamento, parecidos com os dos seres humanos. Essa é a simulação mais difícil. Segundo Fujita (2005) e Bilenkij (2009), umas das razões para o uso de FSM s em jogos eletrônicos são: São rápidos e de código simples: Há muitas maneiras de programar uma máquina de estado finito e quase todas são razoavelmente simples de implementar. Facilidade de compreensão: Variação do estado de um objeto baseado na percepção humana.

11 FSM s são fáceis de depurar: Uma vez que o comportamento de um agente divide-se em partes fáceis de controlar, se um agente agir de forma estranha ele é facilmente depurado. Então o programador pode analisar a cadeia de eventos antes do comportamento do bug e agir de acordo. Facilidade de teste: Por possuírem uma quantidade considerável de estados, pode-se traçar a rota de eventos que causaram o mau funcionamento do agente defeituoso. Pouca sobrecarga computacional: FSM s quase não usam tempo do processador. São flexíveis: Estados e regras adicionais podem ser implementados rapidamente. Buscando simplificar e melhorar o entendimento, Perúcia et al. (2005) exemplificam que se usam as máquinas de estados finitos para fazer uma abertura de um jogo de computador, que possui um menu com as opções: Jogar, Opções, Sair e Fase, em que cada item é um estado. Perucia et al. (2005) também afirmam que um jogo contém inúmeras máquinas de estados finitos devido à facilidade de codificação, tornando-a uma ferramenta muito poderosa ao planejar e desenvolver um jogo. Segundo Karlsson (2005), a desvantagem em usar FSM s está no fato de apresentarem comportamentos repetitivos, além do fator previsibilidade, que torna o jogo muito fácil e previsível para o jogador humano (FUJITA, 2005). Para Galdino (2007), difícil para a FSM prever todos os casos e situações, pois o numero de estados e transições são diretamente proporcionais à complexidade do ambiente, ou seja, quanto mais complexo for o ambiente, mais aumenta o número de estados e transições que as máquinas terão que prever. 3.5 Algoritmos de busca heurística Como a utilização da IA para a solução de problemas em jogos é muito difundido, existem vários algoritmos de busca de IA capazes de encontrar diversas soluções para um problema, escolhendo o melhor de acordo com o nível de jogo imposto pelo jogador, como, por exemplo, em um jogo de xadrez, no qual o computador deve ser capaz de calcular a melhor jogada a ser realizada contra o jogador (PERÚCIA, 2005).

12 Sendo uma das técnicas antiga da IA, para Fujita (2005), recentemente é utilizada para a busca de caminhos (pathfinding). Por apresentarem espaço de estados limitados, mas consideravelmente grandes, os jogos de tabuleiro utilizam muito dessa técnica em sua implementação. Pode ser utilizada em jogos com NPC s que procuram melhores caminhos para atingir alguns objetivos. Warcraft 3, no caso, tem várias unidades que trafegam por rios, pontes, montanhas etc., e é necessário ter um algoritmo capaz de criar o melhor caminho para os NPC s percorrerem (SANTANA, 2006). Luger (2002) afirma que nem sempre o resultado da busca pode ser a melhor solução esperada e que inclusive pode não haver uma solução. Para evitar que isso aconteça é necessário usufruir de algoritmos de busca mais eficientes. A seguir, são apresentados dois algoritmos de busca: pathfinding e A*. Segundo Fujita (2005), presente na maioria dos jogos eletrônicos, o pathfinding é um dos problemas mais comuns em se tratando de desenvolvimento. Karlsson (2005) afirma que o requisito importante, para qualquer NPC que queira mostrar inteligência em um jogo eletrônico, é a capacidade de locomoção, percorrendo caminhos até seu objetivo enquanto se desvia de obstáculos durante o percurso, o que pode ser feito calculando-se um algoritmo de busca do ponto de partida até o ponto de chegada, ao objetivo. O mapa é organizado como um conjunto de nós, que são exatamente as posições que o NPC irá percorrer. Uma vez que a busca é realizada sobre esse grafo, o caminho é uma lista de nós a serem percorridos para se chegar ao objetivo (KARLSSON, 2005). Segundo Karlsson (2005), mesmo com o pathfinding deparamo-nos com situações em que personagens ficam presos em cantos ou vagando perdidos pelo mundo dos jogos. Boas partes das entidades de IA, segundo Fujita (2005), precisam do pathfinding. Por exemplo: tanques, pessoas, veículos ou unidades de combate. E não é apenas para locomoção que se aplica o pathfinding; podemos utilizá-lo também para resolver outras situações como: Patrulhamento: Consiste na movimentação de uma unidade através de pontos pré-definidos do cenário e em ordem. Isto faz com que as unidades pareçam possuir movimentos mais realistas e aumenta as chances de encontrar o oponente. Desvio de obstáculos: Reconhecimento do que está ao redor para desviar de obstáculos no caminho. Perseguição: Fazer com que a unidade vá em direção ao seu alvo.

13 Mirar e Atirar: Um problema que ocorre, quando uma unidade tenta atingir a outra, é que obstáculos podem interromper a trajetória, portanto deve haver a previsão da existência de um obstáculo na rota do tiro antes de dispará-lo, ou, também, a possibilidade de poder se mover para uma posição que possa efetuar o disparo sem a presença de algum obstáculo. O A* é um algoritmo que determina a busca pelo melhor caminho até o seu destino, como afirma Perúcia et. al.(2005). É um algoritmo de fácil implementação, sendo um dos algoritmos mais utilizados no desenvolvimento de jogos eletrônicos, (GALDINO, 2007) também por possuir o menor processamento (RUSSELL E NORVIG, 2004). Embora seja um algoritmo robusto e utilizado em diversos jogos, Börje (2005) afirma que implementar o A* num contexto de jogos eletrônicos apresenta algumas desvantagens, pois precisa de melhorias e/ou adaptações. Um exemplo de adaptações é equilibrar o tempo de processamento com o caminho encontrado, devido ao A* ser um algoritmo de alto custo computacional. Por esse motivo, Karlsson (2005) afirma, que o A* demonstra dificuldades ao lidar com mudanças e objetivos dinâmicos no cenário. O algoritmo de A* é utilizado em jogos pra realmente encontrar o melhor caminho a ser tomado, sendo mais utilizado em jogos de estratégia, como Age of Empires ou Warcraft, nos quais se devem mover unidades de exército ou unidades normais (SANTANA, 2006). 3.5 Direct AI O Direct AI (Direct Artificial Intelligence - Inteligência Artificial Direcionada), de acordo com Karlsson (2005), segue uma abordagem diferente em relação ao que outras implementações de IA seguem. O Direct AI possui suporte e ferramentas para a criação de agentes inteligentes, que apresentam comportamentos que podem variar de reações básicas a uma análise mais profunda do seu estado em relação ao ambiente, segundo Chiva et. al. (2005). É uma ferramenta que apresenta importantes considerações, voltadas para agentes, sobre como e porque um determinado personagem toma uma decisão, baseando-se em comportamentos animal e humano. O mecanismo empregado pela Direct AI, para Chiva et. al. (2005), controla no agente suas: emoções, estímulos, estados (interno e externo), motivações, comportamentos e ações. Karlsson (2005) afirma que o sistema do Direct AI é visto como um conjunto de motivações que competem entre si para decidir qual será aplicada a uma determinada

14 situação. Os agentes inteligentes podem aprender com as experiências e apresentar comportamentos que não foram antes programados. De acordo com Karlsson (2005), a Direct AI provê: Diferentes componentes agrupados de forma compacta. Um motor motivacional para modelar as emoções e necessidades dos agentes inteligentes. Um motor comportamental para modelar os processos de decisão dos agentes. Um motor de comunicação que dá suporte à comunicação entre agentes. Um motor de percepção. Um motor de ações. Um motor de conhecimento para guardar a representação do mundo de cada agente. 4 IA aplicada ao jogo Left 4 Dead Esta seção aborda a utilização de ténicas de IA no jogo Left 4 Dead. A escolha desse jogo para o estudo de caso, como veremos adiante, deve-se à grande presença de recursos com IA aplicada em suas diversas funcionalidades e implementações, procurando trazer para o usuário uma percepção de realidade enquanto este o joga, dando inclusive a impressão que os NPC s possuem consciência e vontades próprias. De acordo com Booth (2009), Left 4 Dead é um jogo FPS de cooperação singleplayer (um jogador) e multiplayer (vários jogadores) de survival horror (terror de sobrevivência) desenvolvido pela Valve Corporation. A IA no Left 4 Dead possibilita a interação entre quatro jogadores ao mesmo tempo, o que torna outros sobreviventes e/ou infectados em NPCs que irão seguir os personagens controlados pelo jogador. Pela não diferenciação de jogadores humanos e NPCs, o fator imprevisibilidade á aumentado, a IA neste jogo eletrônico, segundo Palermo (2010), aproxima bastante da realidade, convencendo quem o joga. Segundo Booth (2010), a IA desenvolvida em Left 4 Dead e Left 4 Dead 2 é conhecida por Direct AI, e esta inclui Pathfinding com uso de algoritmos em A*, Navigation Mesh (Malha de Navegação) etc., e outros métodos de aplicação da IA, conforme mostraremos a seguir.

15 4.1 Direct AI em Left 4 Dead Em Left 4 Dead, o uso de Direct AI de acordo com Booth (2010), tem como característica especial controlar o nível de dificuldade do jogo do modo difícil para o modo fácil. Booth (2010) ainda afirma que, ao invés de posicionar os sobreviventes e infectados em posições fixas do cenário, como acontece em muitos jogos eletrônicos, a Direct AI tem a função de colocar aleatoriamente os jogadores e NPC s em diferentes posições, criando uma nova experiência a cada vez que uma batalha começa. Permite, também, balancear os momentos de ação no jogo e de intensa calma. Quando a Direct AI perceber que os jogadores enfrentarão intensos períodos de combate, Booth (2010) afirma que o grau de dificuldade diminuirá e depois de um tempo de uma luta com bastante ação, a Direct AI irá mandar mais inimigos para aumentar o drama novamente. Para Booth (2010), esse comportamento da Direct AI é denominado como Dramatic Game Pacing (Momento Dramático no Jogo), quando o algoritmo tem a função de ajustar o ritmo do jogo a fim de maximizar o drama do sobrevivente, ou seja, este apresentará um comportamento emocional intenso/agressivo com gestos, falas e movimentos. Ainda afirma Booth (2010) que se Left 4 Dead possuísse períodos intensos de combate ou de muita calma, o jogo seria fatigante. Portanto, picos imprevisíveis de intenso combate ou momentos tranqüilos criam uma experiência convincente, poderosa e diferente a cada rodada, inclusive se utilizar o mesmo cenário e mapa. O algoritmo de Direct AI Dramatic Game Pacing age da seguinte forma (BOOTH, 2010): Estimar a intensidade emocional de cada sobrevivente. Acompanhar a intensidade emocional máxima do grupo de sobreviventes. Se a intensidade é muito alta, retirar as principais ameaças por algum tempo. Se não, criar uma população interessante de ameaças. Segundo Booth (2010), este algoritmo de Direct AI procura também estimar a intensidade emocional de cada sobrevivente, representando-a como um valor na tela. A intensidade vai aumentar com as seguintes características:

16 Quando feridos por Infectados, a proporção do dano é considerável. O Jogador está no modo incapacitado. O jogador é puxado/ empurrado para fora de uma borda de um lugar alto por um Infectado. Em seguida, a taxa populacional de infectados é reduzida, passando os sobreviventes por um período tranquilo, em que a intensidade é monitorada, reduzindo gradativamente para o modo normal, longe do topo. O estado de redução é necessário antes que o Sobrevivente entre em outro combate, se não o período tranquilo inteiro pode ser descartado, provocando uma ação ininterrupta no jogo. A redução da taxa não permitirá que o período tranquilo aconteça enquanto não ocorrer uma quebra natural na ação. O período tranquilo tenta manter a população de infectados reduzida por segundos, ou até os sobreviventes entrarem na Safe Room mais próxima. Em seguida, volta para o estado Build Up (BOOTH, 2010). O algoritmo também fará com que a intensidade emocional do sobrevivente vá caindo para 0 pontos ao longo do tempo, porém, não reduzirá se ainda houver Infectado em ação contra um ou mais sobreviventes. Outra vantagem do algoritmo: os momentos em que a ação ocorrerá, lidando com a intensidade emocional do sobrevivente em relação a constantes ataques dos Infectados, serão diferentes cada vez que o jogo for reiniciado (BOOTH, 2010). Enfim, de acordo com Booth (2010), o Direct AI procura trazer uma maior interatividade em Left 4 Dead, evitando que este passe a ser um jogo cansativo e fatigante. 4.2 Path (caminhos) Conforme visto anteriormente, presente na maioria dos jogos eletrônicos, o path finding é um dos problemas mais comuns, tratando-se de desenvolvimento de jogos (FUJITA, 2005). Em Left 4 Dead, segundo Booth (2010), o pathfinding procura a otimização do caminho para os NPC s, ou seja, criar o menor caminho percorrido, diretamente até o objetivo. Porém, isto apresentou algumas desvantagens, pois o custo de tempo para o processamento desses caminhos é longo, por serem recalculados muitas vezes durante o jogo. E, uma vez que alguns NPC s seguem um caminho direto até o alvo, apresentam movimentos mais robóticos do que realistas.

17 Para corrigir esses problemas, Booth (2010) afirma que foram desenvolvidos sistemas conhecido como Navigation Meshes (Malhas de Navegação), Reactive Path Following (Sequência de Caminhos Reativos), Hull Trace (Área Tracejada) com o uso de algoritmo A*. 4.3 Máquina de estados finitos hierárquicas De acordo com Champandard (2009), as FSM s, quando aplicadas para a construção de comportamentos em NPCs, não apresentavam um bom resultado, não oferecendo meios para reutilizar a lógica em diferentes contextos, o que nos deixa com uma escolha entre dois males: a redundância ou futuras complicações de comportamento de NPCs no jogo. Para Santos (2004) como as FSM s apresentam elevado tempo de processamento de acordo com a quantidade de transições entre estados que ocorrem, prefere-se o desenvolvimento de mecanismos que possibilitem as FSM s serem mais didáticas e fáceis de gerenciar, além de uma forma de reduzir o elevado número de transições entre estados. Estas foram as razões principais, segundo Champandard (2009), para desenvolvedores na indústria de jogos eletrônicos evoluirem para sistemas baseados em HCSM (Hierarchical Concurrent State Machines - Máquinas de Estados Hierárquicos). Para entendermos sobre essa hierarquia sequencial, Champandard (2007) explica que a HCSM oferece alguma ajuda para a reutilização da lógica, em um processo muito semelhante às FSM s comuns. Entretanto, de acordo com Santos (2004), quando se desenvolvem Sub- Máquinas de Estados, podendo associá-las a estados de uma Máquina de Estados, é que criamos uma HCSM, não se limitando somente a dois níveis, pois qualquer estado da Sub- Máquina poderá ter outras Sub-Máquinas associadas, e assim sucessivamente. O funcionamento de uma HCSM, a cada iteração, ocorre da seguinte maneira: primeiramente, executa-se a máquina superior na hierarquia; se tiver uma sub-máquina ligada a ela, essa será executada. O processo desce na hierarquia até que não haja uma sub-máquina ligada ao estado da Máquina que foi primeiramente executada. Isso vai de acordo com as atividades realizadas pelo agente em relação a esse estado. Na próxima iteração, a execução inicia novamente na Máquina superior, dando continuidade à regra de execução (SANTOS, 2004). Apesar de HCSM certamente proporcionar uma forma de reutilizar as transições, ainda não é uma solução ideal. O problema, segundo Champandard (2007), é que a reutilização de transições não é trivial de conseguir e requer muito raciocínio quando se precisar criar uma

18 lógica para muitos contextos diferentes (por exemplo, metas/objetivos dinâmicos, status do NPC). Fazê-la também manualmente seria um trabalho entediante e longo, mas outra solução é se concentrar em fazer cada estado modular para que possam ser facilmente reutilizados, já que são partes diferentes da lógica empregada. Para Dicken (2009), HCSM s fornecem um modelo muito robusto e formal em que pode definir o comportamento de um sistema de IA, e facilmente capturar as interações complexas entre esses comportamentos. Isso evita confusões que poderiam acontecer ao projetar esses sistemas complexos e contribui para uma representação muito mais compreensível do que estiver tentando alcançar. Os NPC s e sobreviventes controlados pela IA, em Left 4 Dead, têm seus comportamentos e tomadas de decisões controlados pela HCSM. No caso dos infectados comuns e especiais, cada um apresenta um tipo de HCSM programado de acordo com o comportamento que irá apresentar. Por exemplo, o Infectado especial Hunter pode apresentar, segundo Booth (2010), diferentes estados como: Ver o alvo. Aviso sonoro (grunhido). Mover-se até o alvo. Perder de vista o alvo. Procurar o alvo. Achar o alvo. Preparar ataque. Atacar o alvo. Aviso sonoro (grito de ação). Falhar no ataque. Aviso sonoro (grito de dor). Acertar o alvo. De acordo com a decisão feita pelos jogadores, a HCMS em Left 4 Dead implementa métodos de manipular os eventos de cada NPC, proporcionando um contexto específico de comportamentos durante o jogo. Para cada estado, afirma Booth (2010), escreve-se um script que inicializa o estado, que executa o comportamento em cada etapa, e que termina o estado. Então, desenvolve-se um sistema de estímulos; no exemplo do Hunter a entrada desse estímulo é sua linha de visão e percepção ao avistar o alvo. A partir disso, a HCMS constrói uma pilha de prioridades para os comportamentos do NPC. No caso do Hunter, ele vai avaliar a situação do ambiente ao seu redor, a partir de então, tomará as decisões que se encontrem na sua hierarquia de comportamentos de forma dinâmica. Ele vai sempre executar o comportamento que está no topo da pilha. Para Dickens (2009), dentro de cada passo do NPC, uma instrução Switch verifica o topo da fila de prioridade de comportamentos e executa o script apropriado para o comportamento que vai liderar.

19 Booth (2010) afirma que os comportamentos e ações em NPC s e personagens controlados pelo jogador, são programados com HCSM para todos os componentes. Segundo Booth (2010), se um personagem encontra-se no estado Ferido, a HCSM verá, como primeira resposta, procurar, na sub-classe Intenção, a primeira ação do personagem da sub-classe Comportamento. Como prioridade, procura uma resposta na classe-filho (quadrados menores). Não encontrando uma resposta, ele partirá para uma segunda ação em sua classe-pai e assim sucessivamente. Se nenhuma ação surtir efeito para que ele saia do estado Ferido, o HCSM procurará por outras prioridades, como na subclasse Visão, na qual, por exemplo, o personagem procura por algo ou alguém ao redor que possa salvá-lo; se não, em Corpo ele interagirá com movimentos para que se possa chamar a atenção; ou em Locomoção, na qual ele irá se locomover, por exemplo, até uma área segura ou até outro personagem com kits médicos para sair do estado Ferido. HCSM s fornecem uma maneira útil para retrabalhar estados autômatos tradicionais em uma arquitetura mais adequada para o tipo de trabalho que desenvolvedores de IA irão fazer. Seu poder reside na forma simples que representa iterações complexas. Seu uso como um gerente de estágio é particularmente importante para os desenvolvedores de jogos, pois proporciona uma técnica leve, reutilizável para criar mundos em jogos e NPC s (DICKENS, 2009). 5 Conclusão O fascínio exercido pelos jogos eletrônicos vem atraindo consumidores e profissionais para as áreas de computação e artes gráficas, tornando a indústria dos jogos eletrônicos tão próspera quanto a do cinema. O desenvolvimento de um game torna-se complexo devido a sua natureza interdisciplinar e ao fato de que se espera que games atuais sejam capazes de prover, em tempo real, o maior grau de realismo possível, tanto no aspecto gráfico como no aspecto de simulação e comportamento. Desde o ano de 1970, quando os jogos eram caracterizados pela simplicidade e falta de recursos, até os jogos bastante desenvolvidos dos dias atuais, a Inteligência Artificial tem se mostrado de grande importância na implementação de jogos eletrônicos. Também o seu estudo foi ganhando apoio no mundo acadêmico, mostrando ser uma área de grande interesse, aumentando mais ainda a criação de teorias para a IA.

20 Com a evolução dos jogos eletrônicos e a Inteligência Artificial, podemos afirmar que os gráficos deixaram de ser um grande diferencial e, devido aos avanços de hardware, há cada vez mais espaço para a implementação de técnicas outrora consideradas muito acadêmicas para uma implementação comercial. Os jogos eletrônicos também estão utilizando técnicas não determinísticas em conjunto com já conhecidas técnicas como máquinas de estado finito e sistemas baseados em regras. Várias técnicas de IA vêm sendo utilizadas para se criar um maior realismo nos personagens automáticos, com os algoritmos de Busca Heurística, o Pathfinding, por exemplo, que procuram encontrar o melhor caminho para um NPC locomover-se de um ponto ao outro, o algoritmo A*, a Direct AI, dentre outras. O jogo Left 4 Dead, ilustra, de forma contundente, a aplicação de várias dessas técnicas de IA, promovendo um jogo com alto grau de imprevisibilidade. Como trabalhos futuros, destacam-se a exploração de cada técnica de IA abordada neste trabalho, bem como estudos de casos e as implementações dessas técnicas em jogos eletrônicos. REFERÊNCIAS BIBLIOGRÁFICAS ALMA. Videogames 1990 a Pirata Alma Negra, 14 de dezembro de Disponível em: < Acesso em: 18 de julho BALDI, Raphael Lopes. Os anos 90. Games, programação e outros assuntos pertinentes, 19 de maio de Disponível em: < Acesso em: 16 de julho de BATTAIOLA, A. L. Jogos por computador: histórico, relevância tecnológica, tendências e técnicas de implementação. Anais da SBC v.2. Curitiba, BATISTA, Monica; LIMA, Sérgio Muinhos Barroso. Jogos Eletrônicos. Revista Eletrônica da Faculdade Metodista Granbery. Disponível em: < Acesso em: julho de 2011.

21 BILENKIJ, Andréa Duarte. Game AI. Ciência da Computação - Dissertação (Pósgraduação), Faculdade de Tecnologia Carlos Drummond de Andrade, São Paulo, BOOTH, Michael. Left 4 Dead 2. United States, Disponível em < Acesso em: 22 de junho de BOURG, David; SEEMAN, Gleen. AI for Game Developers. ed.o'reilly, BITTENCOURT, Guilherme. Inteligência Artificial Ferramentas e Teorias. Editora da UFSC. 2ª. Edição. Florianópolis, CHAMPANDARD, Alex J. The Gist of Hierarchical FSM. AiGameDev. Indianapolis: New Riders, ano 1, setembro de Disponível em: < Acesso em: 15 de agosto de CHAMPANDARD, Alex J. AI Game Development Synthetic Creatures With Learning and Reactive Behaviors. AiGameDev. Indianapolis: New Riders, ano 3, julho de Disponível em: < Acesso em: 24 de julho de CHAMPANDARD, Alex. J. The Crysis of Integranting Next-Gen Animation and AI. AiGameDev. Indianapolis: New Riders, ano 3, julho de Disponível em: < Acesso em: 28 de julho de CHIVA, Dr. Emmanuel, Transitioning Technologies From Videogames to Wargames. Projeto Científico (artigo) MASAGroup Inc., France: Paris, CUNHA, Leonardo Sewald; GIRAFFA, Lucia Maria Martins. Um Estudo Sobre o Uso de Agentes em Jogos Computadorizados Interativos. Dissertação (mestrado) - Faculdade de Informática - PUCRS, Porto Alegre, DICKENS, Luke. Research Report from CIG 2009 The Diminishing Industrial/Academic Divide. AiGameDev, Indianapolis: New Riders, ano 9, nov

22 Disponível em: < Acessado em: 30 de julho de ELISIO, Leonardo, A Era do Videogame. INFOmoz Informática Moçambique, 24 jan Disponível em: < Acesso em: 15 de julho de FERNANDES, Anita Maria Rocha. Inteligência Artificial: Noções Gerais. 3. ed. Florianópolis: VisualBooks, FERREIRA, Paulo Roberto Lafetá, Um Arcabouço para a Criação e Configuração de um Cenário Dinâmico 3D com Navigation Meshes. Curso de Bacharelado de Ciência da Computação. Dissertação (graduação) - UFMG, Belo Horizonte, FILHO, Vicente Vieira. Revolution AI Engine Desenvolvimento de um Motor de Inteligência Artificial para a Criação de Jogos Eletrônicos. Faculdade de Ciência da Computação - Dissertação (Graduação), Universidade Federal de Pernambuco. Recife, FUJITA, Eduardo. Algoritmos de IA para Jogos. Dissertação (graduação) - Universidade Estadual de Londrina, Departamento de Computação, Londrina, GALDINO, Carlos Henrique Silva. Inteligência Artificial Aplicada no Desenvolvimento de Jogos de Computador. Programadores de Jogos. Disponível em: < Acessado em 30 de julho de INCRYSIS. Crysis Graphics. Eletronic Arts, EA. Disponível em: < Acesso em: 19 de julho de KARLSSON, B.F.F. Um Middleware de Inteligência Artificial para Jogos Digitais. Dissertação (Mestrado), Pontifícia Universidade Católica do Rio de Janeiro, 2005.

23 KISHIMOTO, André. Inteligência Artificial em Jogos Eletrônicos. Academic research about Artificial Intelligence for games LACKORE, Jason. Jogos de Computador como Instrumentos Educativos: Análise de Tipos e Elementos Apropriados. Dissertação (graduação) - Universidade de Aveiro, ICPD, LUGER, George F. Inteligência Artificial: Estruturas e Estratégias para a Solução de Problemas Complexos. 4. ed. São Paulo: Artmed, 2002; Porto Alegre: Bookman, MAXIM, Rob. Old Videogames. Games Page. Disponível em < Acesso em: 15 de julho de MERKEL, Daniel Santa Catarina. Desenvolvimento de um Protótipo de Jogo 3D Utilizando Engine. Faculdade de informática. Dissertação (graduação) Universidade de Passo Fundo, Passo Fundo, MOLYNEUX, P. Postmortem: Lionhead Studios Black & White. Jnoodle. Disponível em: < Acesso em: 24 de julho de NORMAND. Reinaldo. A História do Vídeo-Game em 40 Capítulos. Outer Space Media ltda. São Paulo. Disponível em: < Acesso em: 15 de julho de PALERMO, Bruno, AI navigation in Left 4 Dead. United States, feb Disponível em: < Acesso em: 25 de julho de PERUCIA, Alexandre Souza; BERTHÊM, Córdova Antônio; BERTSCHINGER, Guilherme Large; MENEZES, Roberto Ribeiro Castro. Desenvolvimento de Jogos Eletrônicos Teoria e Pratica. São Paulo: Novatec, 2005.

24 REHM, Fabio; GALIZA, Humberto; DOVAL, Igor; SILVA, Lucas; CARLOS, Luis; MARCONDES, Lessa. Aplicações da Inteligência Artificial em Jogos. Dissertação (artigo), Universidade Federal da Bahia, Departamento de Ciência da Computação, Campos de Ondina, Ondina, 2009 ROLLING, Andrew; ERNEST, Adams. Fundamentals of Game Design. 2. ed. Berkeley, CA: New Riders, RUSSELL, Stuart; NORVIG, Peter. Inteligência Artificial. Rio de Janeiro: Elsevier, 2004; São Paulo: Campos, SANTANA, Roberto Tengan. A Busca Competitiva entre o Homem e a Máquina. Tecnologia da Informação em Gestão de Negócios. Dissertação (graduação) - Faculdade de Tecnologia de Praia Grande, Praia Grande, SANTOS, Gilliard Lopes. Máquinas de Estados Hierárquicas em Jogos Eletrônicos. Tecnologia da Informação. Dissertação (pós-graduação) Centro Técnico e Científico da PUC Rio, Rio de Janeiro, SANTOS, Nuno; MARQUES, Nuno; ANTUNES, Edgar. Game AI. Engenharia da Informação. Dissertação (graduação) - Universidade da Beira Interior, Covilhã/Portugal, SCHWAB, Brian. AI Game Engine Programming. Hingham: Charles River Media, TOZOUR, Paul. The Evolution of Game AI from AI Game Programming Wisdom. Hingham: Charles River Media, WOODCOCK, S. THE GAME AI. AiGameDev, United States, ano 2, julho de Disponível em: < Acesso em: 15 de julho de 2010.

INTELIGÊNCIA ARTIFICIAL E SUA APLICABILIDADE NOS JOGOS

INTELIGÊNCIA ARTIFICIAL E SUA APLICABILIDADE NOS JOGOS INTELIGÊNCIA ARTIFICIAL E SUA APLICABILIDADE NOS JOGOS Aline Ferraz da Silva 1 Carine Bueira Loureiro 2 Resumo: Este artigo trata do projeto de Trabalho

Leia mais

INFLUÊNCIA DOS JOGOS NO CAMPO DA INTELIGÊNCIA ARTIFICIAL

INFLUÊNCIA DOS JOGOS NO CAMPO DA INTELIGÊNCIA ARTIFICIAL INFLUÊNCIA DOS JOGOS NO CAMPO DA INTELIGÊNCIA ARTIFICIAL Marcelo de Souza 1 bsi.marcelo@gmail.com Prof. Adilson Vahldick, Inteligência Artificial RESUMO: O desenvolvimento de jogos é um campo que atrai

Leia mais

Jogos em Inteligência Artificial

Jogos em Inteligência Artificial Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho de 2003 Sumário Introdução 1 Objetivos 2 Histórico

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 24 Inteligência Artificial em Jogos Introdução Surgiu com a criação dos primeiros jogos (Pac-Man, Space Invaders...).

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 21 Máquinas de Estados Finitos Edirlei Soares de Lima Introdução Máquinas de Estados Finitos (Finite State Machines - FSM) são provavelmente

Leia mais

PARADIGMAS DA INTELIGÊNCIA ARTIFICIAL EM JOGOS ELETRÔNICOS

PARADIGMAS DA INTELIGÊNCIA ARTIFICIAL EM JOGOS ELETRÔNICOS PARADIGMAS DA INTELIGÊNCIA ARTIFICIAL EM JOGOS ELETRÔNICOS João Antônio Bezerra Rodrigues¹, Késsia Rita da C. Marchi¹, Jaime William Dias¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil joaoabrodrigues@outlook.com

Leia mais

Princípios de Design TRADUÇÃO DE TATIANE CRISTINE ARNOLD, DO ARTIGO IBM DESIGN: DESIGN PRINCIPLES CHECKLIST.

Princípios de Design TRADUÇÃO DE TATIANE CRISTINE ARNOLD, DO ARTIGO IBM DESIGN: DESIGN PRINCIPLES CHECKLIST. Princípios de Design TRADUÇÃO DE TATIANE CRISTINE ARNOLD, DO ARTIGO IBM DESIGN: DESIGN PRINCIPLES CHECKLIST. Um software deve ser projetado para simplificar tarefas e criar experiências positivas para

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 02 Introdução ao Game Design Edirlei Soares de Lima Introdução O que é um jogo? Jogar uma bola contra uma parede pode ser considerado um jogo?

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Inteligência Artificial para Jogos Eletrônicos

Inteligência Artificial para Jogos Eletrônicos Inteligência Artificial para Jogos Eletrônicos Prof. Marcelo Henrique dos Santos O que é Inteligência Artificial? inteligência apresentada por uma entidade artificial (geralmente um computador); ramo da

Leia mais

PROJETO 2 Analise da funcionalidade do tutorial do jogo League of Legends.

PROJETO 2 Analise da funcionalidade do tutorial do jogo League of Legends. Universidade Estadual de Campinas Departamento de Multimeios Comunicação Social Habilitação em Midialogia Gian Daher Berselli - RA:095742 João Baptista Alves Boccaletto - RA: 093909 Disciplina CS405 Educação

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

A Grande Importância da Mineração de Dados nas Organizações

A Grande Importância da Mineração de Dados nas Organizações A Grande Importância da Mineração de Dados nas Organizações Amarildo Aparecido Ferreira Junior¹, Késsia Rita da Costa Marchi¹, Jaime Willian Dias¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

Itinerários de Ônibus Relatório Final

Itinerários de Ônibus Relatório Final CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Roteiro VcPodMais#005

Roteiro VcPodMais#005 Roteiro VcPodMais#005 Conseguiram colocar a concentração total no momento presente, ou naquilo que estava fazendo no momento? Para quem não ouviu o programa anterior, sugiro que o faça. Hoje vamos continuar

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Jogos Eletrônicos. Aula 01 Jogos Eletrônicos e Game Design. Edirlei Soares de Lima <edirlei.lima@uniriotec.br>

Jogos Eletrônicos. Aula 01 Jogos Eletrônicos e Game Design. Edirlei Soares de Lima <edirlei.lima@uniriotec.br> Jogos Eletrônicos Aula 01 Jogos Eletrônicos e Game Design Edirlei Soares de Lima Introdução O que é um jogo? Jogar uma bola contra uma parede pode ser considerado um jogo? Introdução

Leia mais

SIMULAÇÃO DE TRÁFEGO DE VEÍCULOS INTELIGENTES PARA PREVENÇÃO DE ACIDENTES

SIMULAÇÃO DE TRÁFEGO DE VEÍCULOS INTELIGENTES PARA PREVENÇÃO DE ACIDENTES SIMULAÇÃO DE TRÁFEGO DE VEÍCULOS INTELIGENTES PARA PREVENÇÃO DE ACIDENTES Leonardo T. Antunes 1, Ricardo R. Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leonardo_tada@hotmail.com, ricardo@unipar.br

Leia mais

Módulo 15 Resumo. Módulo I Cultura da Informação

Módulo 15 Resumo. Módulo I Cultura da Informação Módulo 15 Resumo Neste módulo vamos dar uma explanação geral sobre os pontos que foram trabalhados ao longo desta disciplina. Os pontos abordados nesta disciplina foram: Fundamentos teóricos de sistemas

Leia mais

OS CONHECIMENTOS DE ACADÊMICOS DE EDUCAÇÃO FÍSICA E SUA IMPLICAÇÃO PARA A PRÁTICA DOCENTE

OS CONHECIMENTOS DE ACADÊMICOS DE EDUCAÇÃO FÍSICA E SUA IMPLICAÇÃO PARA A PRÁTICA DOCENTE OS CONHECIMENTOS DE ACADÊMICOS DE EDUCAÇÃO FÍSICA E SUA IMPLICAÇÃO PARA A PRÁTICA DOCENTE Maria Cristina Kogut - PUCPR RESUMO Há uma preocupação por parte da sociedade com a atuação da escola e do professor,

Leia mais

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. 1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. Todos nós da AGI Soluções trabalhamos durante anos

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais

GRÁFICOS Exemplos de jogos 2D (com simulação do 3D)

GRÁFICOS Exemplos de jogos 2D (com simulação do 3D) Femur Online GRÁFICOS Exemplos de jogos 2D (com simulação do 3D) Como resultado de buscas na internet, tendo como base os jogos 2D mais famosos do mundo, obtive como resultado três tipos diferentes de

Leia mais

O que é Administração

O que é Administração O que é Administração Bem vindo ao curso de administração de empresas. Pretendemos mostrar a você no período que passaremos juntos, alguns conceitos aplicados à administração. Nossa matéria será puramente

Leia mais

Arquitetura de Informação

Arquitetura de Informação Arquitetura de Informação Ferramentas para Web Design Prof. Ricardo Ferramentas para Web Design 1 Arquitetura de Informação? Ferramentas para Web Design 2 Arquitetura de Informação (AI): É a arte de expressar

Leia mais

5. Métodos ágeis de desenvolvimento de software

5. Métodos ágeis de desenvolvimento de software Engenharia de Software 5. Métodos ágeis de desenvolvimento de software Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Desenvolver e entregar software o mais rapidamente possível é hoje em dia um dos

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Autor:Thiago França Naves 1, Orientador: Carlos Roberto Lopes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

MARKETING DE RELACIONAMENTO UMA FERRAMENTA PARA AS INSTITUIÇÕES DE ENSINO SUPERIOR: ESTUDO SOBRE PORTAL INSTITUCIONAL

MARKETING DE RELACIONAMENTO UMA FERRAMENTA PARA AS INSTITUIÇÕES DE ENSINO SUPERIOR: ESTUDO SOBRE PORTAL INSTITUCIONAL MARKETING DE RELACIONAMENTO UMA FERRAMENTA PARA AS INSTITUIÇÕES DE ENSINO SUPERIOR: ESTUDO SOBRE PORTAL INSTITUCIONAL Prof. Dr. José Alberto Carvalho dos Santos Claro Mestrado em Gestão de Negócios Universidade

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

SEGURANÇA EM REDES: HONEYPOTS E HONEYNETS

SEGURANÇA EM REDES: HONEYPOTS E HONEYNETS SEGURANÇA EM REDES: HONEYPOTS E HONEYNETS Alexandre Henrique Picão Hidalgo, Júlio Cesar Pereira Universidade Paranaense (Unipar) Paranavaí PR Brasil alexandrehidalgo@gmail.com, juliocesarp@unipar.br Resumo.

Leia mais

Testes de Usabilidade

Testes de Usabilidade Testes de Usabilidade Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Setembro de 2012 Prof. Edwar Saliba Júnior 1 Reflexão Ao fazer referência à questão da qualidade da relação

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA 2º SEMESTRE 2002 CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software Prof. Dr. Adilson Marques da Cunha Conceitos de Qualidade CES-32 / CE-230

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

SISTEMAS DE INFORMAÇÃO, ORGANIZAÇÕES, ADMINISTRAÇÃO E ESTRATÉGIA

SISTEMAS DE INFORMAÇÃO, ORGANIZAÇÕES, ADMINISTRAÇÃO E ESTRATÉGIA SISTEMAS DE INFORMAÇÃO, ORGANIZAÇÕES, ADMINISTRAÇÃO E ESTRATÉGIA 1 OBJETIVOS 1. O que os administradores precisam saber sobre organizações para montar e usar sistemas de informação com sucesso? 2. Que

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

DESENVOVIMENTO DE GAMES APRESENTAÇÃO. MARCELO HENRIQUE DOS SANTOS http://www.marcelohsantos.com marcelosantos@outlook.com

DESENVOVIMENTO DE GAMES APRESENTAÇÃO. MARCELO HENRIQUE DOS SANTOS http://www.marcelohsantos.com marcelosantos@outlook.com JOGOS DIGITAIS DESENVOVIMENTO DE GAMES APRESENTAÇÃO MARCELO HENRIQUE DOS SANTOS http://www.marcelohsantos.com marcelosantos@outlook.com Bacharel em Sistema de Informação Pós Graduado em Games : Produção

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Apesar de colocar-se no campo das Engenharias, profissional destaca-se, também, pelo aprimoramento das relações pessoais

Apesar de colocar-se no campo das Engenharias, profissional destaca-se, também, pelo aprimoramento das relações pessoais Lustre sem graxa Engenharia de Produção Apesar de colocar-se no campo das Engenharias, profissional destaca-se, também, pelo aprimoramento das relações pessoais Falo sempre com a minha família que não

Leia mais

Sua indústria. Seu show. Seu Futuro

Sua indústria. Seu show. Seu Futuro Sua indústria. Seu show. Seu Futuro Usinagem 5-Eixos para Moldes Sandro, Vero Software Vero Software está no topo do relatório de fornecedores de CAM da CIMData 2014 Com maior Market Share, crescimento

Leia mais

Controle do Arquivo Técnico

Controle do Arquivo Técnico Controle do Arquivo Técnico Os documentos existentes de forma física (papel) no escritório devem ser guardados em pastas (normalmente pastas suspensas) localizadas no Arquivo Técnico. Este Arquivo pode

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

A Tecnologia e Seus Benefícios Para a Educação Infantil

A Tecnologia e Seus Benefícios Para a Educação Infantil A Tecnologia e Seus Benefícios Para a Educação Infantil A Tecnologia e Seus Benefícios Para a Educação Infantil As crianças das novas gerações desde pequenas estão inseridas nesta realidade da tecnologia,

Leia mais

Como organizar um processo de planejamento estratégico

Como organizar um processo de planejamento estratégico Como organizar um processo de planejamento estratégico Introdução Planejamento estratégico é o processo que fixa as grandes orientações que permitem às empresas modificar, melhorar ou fortalecer a sua

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

Planejando o aplicativo

Planejando o aplicativo Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por

Leia mais

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula INTRODUÇÃO Josiane Faxina Universidade Estadual Paulista Júlio de Mesquita Filho Câmpus Bauru e-mail: josi_unesp@hotmail.com

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Departamento de Engenharia. ENG 1090 Introdução à Engenharia de Produção

Departamento de Engenharia. ENG 1090 Introdução à Engenharia de Produção Pontifícia Universidade Católica de Goiás Departamento de Engenharia Curso de Graduação em Engenharia de Produção ENG 1090 Introdução à Engenharia de Produção Prof. Gustavo Suriani de Campos Meireles Faz

Leia mais

A IMPORTÂNCIA DA MOTIVAÇÃO NAS EMPRESAS

A IMPORTÂNCIA DA MOTIVAÇÃO NAS EMPRESAS A IMPORTÂNCIA DA MOTIVAÇÃO NAS EMPRESAS ALCIDES DE SOUZA JUNIOR, JÉSSICA AMARAL DOS SANTOS, LUIS EDUARDO SILVA OLIVEIRA, PRISCILA SPERIGONE DA SILVA, TAÍS SANTOS DOS ANJOS ACADÊMICOS DO PRIMEIRO ANO DE

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO. UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Fancy Battles Game Design Document

Fancy Battles Game Design Document Fancy Battles Game Design Document 2011 Versão 0.1-29/03/2011 Primeira edição 0.2-28/04/2011 Definição de novo Gameplay Regras Controles 0.3-12/05/2011 Alterações no Gameplay Índice 1. Conceito Principal

Leia mais

AS FUNÇÕES ADMINISTRATIVAS

AS FUNÇÕES ADMINISTRATIVAS AS FUNÇÕES ADMINISTRATIVAS Professor Djair Picchiai Campus São Paulo Março 2010 AS FUNÇÕES ADMINISTRATIVAS Todo diretor, gerente, chefe e encarregado exercem estas sete funções administrativas, a saber:

Leia mais

2. Função Produção/Operação/Valor Adicionado

2. Função Produção/Operação/Valor Adicionado 2. Função Produção/Operação/Valor Adicionado Conteúdo 1. Função Produção 3. Administração da Produção 1 Bibliografia Recomenda Livro Texto: Introdução à Administração Eunice Lacava Kwasnicka - Editora

Leia mais

Design de Games: A importância da estética. utilizada na interface de um game.

Design de Games: A importância da estética. utilizada na interface de um game. Design de Games: A importância da estética utilizada na interface de um game. Edival Oliveira Lago Filho* Resumo: O artigo tem como objetivo, refletir sobre a importância da estética aplicada sobre o design

Leia mais

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Planejamento Estratégico de TI. Prof.: Fernando Ascani Planejamento Estratégico de TI Prof.: Fernando Ascani BI Business Intelligence A inteligência Empresarial, ou Business Intelligence, é um termo do Gartner Group. O conceito surgiu na década de 80 e descreve

Leia mais

UTILIZAÇÃO DE RECURSOS LÚDICOS NO PROCESSO ENSINO- APRENDIZAGEM DA MATEMÁTICA. Palavras-chave: Recursos lúdicos; ensino-aprendizagem; matemática.

UTILIZAÇÃO DE RECURSOS LÚDICOS NO PROCESSO ENSINO- APRENDIZAGEM DA MATEMÁTICA. Palavras-chave: Recursos lúdicos; ensino-aprendizagem; matemática. UTILIZAÇÃO DE RECURSOS LÚDICOS NO PROCESSO ENSINO- APRENDIZAGEM DA MATEMÁTICA Wallace Camargo Ferreira 1 IFRN, Campus Natal-Central wcf.ifrn@hotmail.com Resumo: A presente exposição tem como objetivo estimular

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005 SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005 ÍNDICE Introdução...3 A Necessidade do Gerenciamento e Controle das Informações...3 Benefícios de um Sistema de Gestão da Albi Informática...4 A Ferramenta...5

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

ADMINISTRAÇÃO GERAL MOTIVAÇÃO

ADMINISTRAÇÃO GERAL MOTIVAÇÃO ADMINISTRAÇÃO GERAL MOTIVAÇÃO Atualizado em 11/01/2016 MOTIVAÇÃO Estar motivado é visto como uma condição necessária para que um trabalhador entregue um desempenho superior. Naturalmente, como a motivação

Leia mais

Desenvolvimento Ágil de Software em Larga Escala

Desenvolvimento Ágil de Software em Larga Escala Desenvolvimento Ágil de Software em Larga Escala Jutta Eckstein Encontro Ágil 2009 1 Agilidade é Quente Gerenciamento Ágil de Projetos Testes Ágeis Arquitetura Ágeis Offshore Ágil Investimento Ágil PLM

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas

Leia mais

Aqui você também vai encontrar o botão ""Autocompletar"", que ajuda na criação do alinhamento, caso você não consiga se decidir.

Aqui você também vai encontrar o botão Autocompletar, que ajuda na criação do alinhamento, caso você não consiga se decidir. 1. ATIVAR CARTA Nesta seção, localizada dentro do ""shopping center"", você precisa inserir o código que aparece no verso da sua carta real para adicioná-la à sua coleção virtual. Às vezes, você pode se

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr. A Chave para o Sucesso Empresarial José Renato Sátiro Santiago Jr. Capítulo 1 O Novo Cenário Corporativo O cenário organizacional, sem dúvida alguma, sofreu muitas alterações nos últimos anos. Estas mudanças

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br Gerenciamento de projetos cynaracarvalho@yahoo.com.br Projeto 3URMHWR é um empreendimento não repetitivo, caracterizado por uma seqüência clara e lógica de eventos, com início, meio e fim, que se destina

Leia mais

AS TEORIAS MOTIVACIONAIS DE MASLOW E HERZBERG

AS TEORIAS MOTIVACIONAIS DE MASLOW E HERZBERG AS TEORIAS MOTIVACIONAIS DE MASLOW E HERZBERG 1. Introdução 2. Maslow e a Hierarquia das necessidades 3. Teoria dos dois Fatores de Herzberg 1. Introdução Sabemos que considerar as atitudes e valores dos

Leia mais

PROBLEMA, MUDANÇA E VISÃO

PROBLEMA, MUDANÇA E VISÃO PROBLEMA, MUDANÇA E VISÃO Esse é o ponta-pé inicial da sua campanha. Se você não tem um problema, não tem porque fazer uma campanha. Se você tem um problema mas não quer muda-lo, também não tem porque

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Desvios de redações efetuadas por alunos do Ensino Médio

Desvios de redações efetuadas por alunos do Ensino Médio Desvios de redações efetuadas por alunos do Ensino Médio 1. Substitua as palavras destacadas e copie as frases, tornando os fragmentos abaixo mais elegantes, além de mais próximos à língua padrão e à proposta

Leia mais

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES? PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES? Índice 1. O que é planejamento de...3 1.1. Resultados do planejamento de vendas e operações (PVO)...

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E

UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E Trabalho proposto pela disciplina de Orientado por Professor Dr. Fernando Coelho Mário Januário Filho 5365372

Leia mais