Buscar

ATIVIDADE 4 - DISCIPLINA Game Engine - CURSO JOGOS DIGITAIS


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

QUESTÃO 1
Leia o excerto a seguir.
 
“Não existe jogo sem jogadores. O jogo só ganha corpo, efetivamente, quando posto em ação. É da interação do jogador com o ambiente de jogo que o jogo acontece. São as ações do jogador que modificam o ambiente (ou estado) do jogo e o coloca em funcionamento. Se o jogador não executa nenhum movimento no ambiente do jogo, o jogo não se realiza” (SANTOS, 2010, p. 66).
 
SANTOS, H. V. A. A importância das regras e do gameplay no envolvimento do jogador de videogame. Tese de doutorado em Artes Visuais - USP. São Paulo, 2010. p. 66.
 
Mover um elemento, como um personagem, é uma das atribuições mais básicas no desenvolvimento de jogos, portanto, analise o algoritmo a seguir. 
 
public class PlayerController : MonoBehaviour
{
    public float speed;
 
    void Update()
    {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");
       
    }
 void FixedUpdate() {
     Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
        GetComponent<Rigidbody>().AddForce(movement * speed * Time.deltaTime);
 
}
}
 Está correto o que se afirma em: 
 RESPOSTA INCORRETA: o algoritmo não será executado, uma vez que as modificações físicas devem ser feitas no Update. 
Sua resposta está incorreta. A alternativa está incorreta, pois o algoritmo será executado normalmente, entretanto, o personagem ficará imóvel, uma vez que é necessário atribuir um valor maior que zero.  Para mover o personagem, basta usar as teclas WASD ou as setas do teclado.
 é necessário acessar o Transform do objeto ao invés do Rigidbody.
 RESPOSTA CORRETA: o algoritmo será executado normalmente. Entretanto, ainda é preciso atribuir um valor à variável speed. 
 o algoritmo não será executado. É necessário inicializar a variável speed.
 o algoritmo será executado normalmente, mas o personagem ficará imóvel, visto que não foi declarada uma função para entrada de dados.
QUESTÃO 2
Leia o excerto a seguir.
 
“Geometrias básicas de colisão tais como esfera, cubo, cápsula, ou precisas como um Mesh Collider, são implementados como componentes para objetos de jogo na Unity. Esses componentes podem ser anexados a um objeto da cena, que passará a fazer parte da simulação física. Os parâmetros de cada geometria de colisão estão disponíveis para alteração pelo editor de cena” (PASSOS et al., 2009, p. 18).
 
PASSOS, E. B. et al. Tutorial: desenvolvimento de jogos com Unity 3D. In: Brazilian Symposium on Games and Digital Entertainment. Rio de Janeiro: MediaLab UFF, 2009. p.18.
 
Dentre as funções do Collider, temos o OnTriggerEnter(). Assim, analise o algoritmo a seguir. Considere apenas o contexto local da classe. Assim, desconsidere qualquer informação externa da classe. 
 
  void OnTriggerEnter(Collider other)
    {
        if (Player.gameObject.tag == "Item")
        {
            Player.gameObject.SetActive(false);
            count ++;
            CountText();
        }
    }
 
 Está correto o que se afirma em:
 
 o algoritmo será executado corretamente, mas não fará a detecção de colisão entre os objetos.
 RESPOSTA CORRETA: o algoritmo não será executado, pois o nome Player não existe no contexto atual.
Resposta correta. A alternativa está correta, pois  o Player
não existe no contexto atual. O parâmetro correto para o Collider
no contexto atual é other. É necessário fazer a substituição de Player para other em todos os pontos da função OnTriggerEnter. Assim, a função será executada corretamente.
 o algoritmo será executado corretamente. Após isso, é aumentada a contagem da pontuação em +1.
 o algoritmo não será executado, pois o parâmetro correto para o Collider
é Item.
 o algoritmo será executado corretamente. Entretanto, não será feita a contagem de pontuação.
QUESTÃO 3
Leia o excerto a seguir.
 
"Personalizar a experiência de jogo é um fator essencial para fazer com que jogadores de jogos de computador se sintam envolvidos no mundo virtual, no entanto, os atuais jogos online de interpretação de múltiplos jogadores em massa apenas em um nível limitado alocam recursos de desenvolvimento ou execução para facilitar uma experiência personalizada" (TYCHSEN et al., 2006, p. 253).
 
TYCHSEN, A.; TOSCA, S.; BROLUND, T. Personalizing the player experience in MMORPGs. Technologies for Interactive Digital Storytelling and Entertainment, 2006. p. 253.
 
De acordo com o texto e as características comuns aplicadas aos jogos multiplayer, analise as afirmativas a seguir.
 
I. Em um jogo multiplayer, é necessário criar uma sensação de compartilhamento entre os jogadores.
II. Em um jogo multijogador, o avatar é a representação visual do jogador. Assim, é necessário criar uma sensação de presença no jogo.
III. Em um jogo online, é necessário que a sincronização de eventos seja realizada a cada final de partida ou durante períodos máximos de uma hora.
IV. Em um jogo multijogador é necessário, para não dizer, obrigatório, qualquer nível de interação entre os jogadores.
 
Está correto o que se afirma em:
 I e IV, apenas.
 I , II e III, apenas.
 II e III, apenas.
 I, III e IV, apenas
 RESPOSTA CORRETA: I, II e IV apenas.
Resposta correta. A alternativa está correta, pois a sensação de compartilhamento é uma característica presente em jogos multiplayer, isso significa que o espaço compartilhado  entre todos os jogadores precisa ter as mesmas características. Já a sensação de presença é marcada pela experiência e interação que o jogador tem com outros avatares no jogo. Todos estão localizados no mesmo espaço, portanto, o jogador pode visualizar os outros avatares.
QUESTÃO 4
Leia o excerto a seguir.
 
“[...] os obstáculos são a origem mais comum dos conflitos, e podem tanto ter uma forma física (como a presença de água em um campo de golfe) quanto envolver habilidades mentais (um puzzle num jogo de aventura). Mas os conflitos também podem ser colocados pela presença de oponentes ou de dilemas na tomada de decisão” (SANTOS, 2010, p. 77).
 
SANTOS, H. V. A. A importância das regras e do gameplay no envolvimento do jogador de videogame. Tese de doutorado em Artes Visuais - USP. São Paulo, 2010. p. 77.
 
Portanto, imagine que você precise implementar uma caixa qualquer em uma cena, caso o personagem exerça uma força constante, a caixa será empurrada. Para simular esse comportamento, é necessário:
 adicionar o componente Rigidbody.
 adicionar o componente Rigidbody na caixa.
 adicionar o componente Rigidbody na caixa e, desabilitar a propriedade Use Gravity.
RESPOSTA CORRETA: adicionar o componente Rigidbody e Box collider para ambos elementos.
Resposta correta. A alternativa está correta, pois é necessário adicionar o componente Rigidbody e Box collider para ambos elementos (jogador e caixa). Além disso, é possível ajustar a massa dos objetos. Quanto maior o valor, mais força é necessária para movimentar o objeto, ou seja, quanto maior a massa, maior será a inércia de um objeto. Por padrão, o Unity
utiliza a medida de massa em quilogramas.
 adicionar o componente Rigidbody e Box Collider na caixa.
QUESTÃO 5
O Unity suporta uma variedade de tipos de dispositivos de entrada de jogo convencional, como teclado, mouse, joysticks, controladores, microfone e webcam. Além disso, é possível trabalhar com entrada de dados via dispositivos móveis, como tela multitoque, acelerômetro e giroscópio. As entradas de dados convencionais e de dispositivos móveis permitem que o usuário desenvolva diversos tipos de mecânicas para os seus jogos.
 
De acordo com o texto e os conhecimentos acerca dos conceitos sobre a entrada de dados no Unity, analise as afirmativas a seguir.
 
I. Os eixos virtuais horizontal e vertical são mapeados pela engine para as teclas de seta e W, A, S, D.
II. Fire1, Fire2 e Fire3 são mapeados, exclusivamente, pelas teclas: left ctrl, left alt e left shift.
III. O Mouse X e Mouse Y são mapeados usando o movimento do mouse.
IV. Por padrão, o usuário não pode criar novos eixos de entrada, apenas usar os disponibilizados pela engine.Está correto o que se afirma em:
 II, III e IV, apenas.
 I e II, apenas.
 II e IV, apenas.
RESPOSTA CORRETA: I e III, apenas.
Resposta correta. A alternativa está correta, pois os eixos virtuais horizontal e vertical são mapeados pela engine para as teclas de seta e W, A, S, D. Um eixo virtual de entrada para teclado e joystick tem um valor entre -1 e 1, sendo sua posição neutra é 0. Além disso, é possível consultar o estado atual de um eixo específico usando scripts. Para isso, basta usar o seguinte comando:
value = Input.GetAxis ("Horizontal");
 I, II e III apenas.
QUESTÃO 6
Leia o excerto a seguir.
 
"A Unity é uma plataforma que foca no desenvolvimento flexível e rápido de jogos e experiências interativas em geral. Ela consiste em um sistema de gerenciamento de cenas, sendo que cada cena traz uma hierarquia de objetos. Tudo que acontece no ambiente da Unity deve estar contido em uma cena. Cada objeto dessa cena é um GameObject e ele se torna qualquer objeto de um jogo, desde um botão na interface a um personagem do jogador” (NETO, 2015, p.12).
 
SOUSA NETO, J. B. O fluxo em jogo sério desenvolvido para reabilitação de membros superiores.
Dissertação (Mestrado em Engenharia Elétrica e da Computação) - Universidade Federal de Goiás, Goiânia, 2015. p. 12.
 
Assim, em uma cena, é possível utilizar componentes para simular a colisão entre objetos. Diante disso, assinale a alternativa que contém uma propriedade para trabalhar com colisões baseadas em camadas.
 
RESPOSTA CORRETA: Layer Collision Matrix.
Resposta correta. A alternativa está correta, pois a detecção de colisão baseada em camadas na engine é uma forma de gerenciar colisões entre Gameobjects, configurando camadas específicas.  Sendo possível, usar uma matriz de colisão para definir quais GameObjects podem colidir com as camadas definidas.
 Layer Collision Rigidbody.
 Layer Collision Default.
 Layer Collision Collider.
 Layer Collision Level.
QUESTÃO 7
Para criar mecânicas no Unity, é necessário implementar uma série de funções e métodos baseados em eventos, nos quais é possível determinar a ordem na qual as funções são executadas. Assim, o desenvolvedor pode garantir que um efeito sonoro seja executado só após o usuário realizar determinada ação ou atualizar a posição da câmera apenas quando o jogador mover o personagem, portanto, é necessário compreender a ordem em que as funções de atualização da engine são chamadas.
 
Diante disso, assinale a ordem de execução para funções de atualização no Unity.
 Update = FixedUpdate <> LateUpdate.
 FixedUpdate <> LateUpdate = Update.
 LateUpdate > Update > FixedUpdate.
 LateUpdate > FixedUpdate  > Update.
RESPOSTA CORRETA: FixedUpdate < Update > LateUpdate 
Resposta correta. A alternativa está correta, pois a ordem de execução para as funções de atualização é importante na implementação de algoritmos, entretanto, essa ordem depende do FPS (quadros por segundo) do jogo, já que o Update é variável e o FixedUpdate
mantém uma taxa fixa. O FixedUpdate é uma função que exerce papel similar ao Update, executando constantemente. A diferença é que ele não depende do número de frames por segundos, usando um intervalo de tempo fixo. É uma função recomendada para cálculos de física. Similar ao Update, o LateUpdate é atualizado a cada Frame por segundo, após o Update ser chamado.
QUESTÃO 8
Leia o excerto a seguir.
 
“Quando empurramos ou puxamos um determinado objeto (ou corpo) tentando movê-lo, percebemos que temos uma certa dificuldade para colocá-lo em movimento. Essa dificuldade se deve à força de atrito. A força de atrito é uma força que se opõe ao movimento de objetos que estão sob a ação de uma força. Ela age paralelamente à superfície de contato do objeto e em sentido contrário ao sentido da força aplicada sobre o objeto”.
 
CRISTÓVÃO, A. M. Forças e movimento: proposta de atividades com simulações computacionais. Dissertação (Mestrado em Ensino de Física) - Programa de Pós-Graduação em Ensino de Física, Universidade Federal de Santa Catarina, 2017. p. 30.
 
O movimento dos elementos em um jogo é baseado em suas mecânicas, assim, é necessário criar algoritmos para atribuir uma movimentação que corresponda a tais mecânicas, sendo possível utilizar a propriedade AddForce para adicionar uma força ao GameObject.
Diante disso, analise o algoritmo a seguir.
 
public class PlayerController: MonoBehaviour
    {
        public float thrust = 2.0f;
        public Rigidbody rb;
 
        void Start()
        {
            rb = GetComponent<Rigidbody>();
        }
 
        void FixedUpdate()
        {
            rb.AddForce(transform.forward * thrust);
        }
    }
 
 Está correto o que se afirma em:
 RESPOSTA CORRETA: o Transform.forward é um vetor responsável por fornecer a direção do objeto, assim, é possível executar o movimento para frente.
Resposta correta. A alternativa está correta, pois o Transform.forward representa a direção direta do transform especificado, ou seja, será aplicada uma força na direção definida pelo usuário. Além disso, a força aplicada deve ser calculada no FixedUpdate, para que o dispositivo que o jogo está sendo executado não tenha influência  no cálculo de movimentação do elemento.
 as modificações físicas no Unity devem ser feitas no Update, pois o dispositivo que o jogo está sendo executado pode influenciar na movimentação do personagem.
 está faltando um parâmetro no AddForce, o uso dessa propriedade está condicionado à variável Time.deltaTime.
 não se pode utilizar o Transform.forward no AddForce, para isso, usa-se o Transform.position. que retorna a posição do objeto no espaço tridimensional.
 a maneira correta de se usar o AddForce é: GetComponent<AddForce>().Impulse (thrust * Time.deltaTime).
QUESTÃO 9
Leia o excerto a seguir.
 
“Assim, observamos que quando o jogo apresenta ao jogador, imerso no ambiente do jogo, um desafio, este lhe possibilita, por meio da manipulação das mecânicas e da combinação das regras, a experimentação da emergência de novos elementos, que surgem de sua agência sobre o jogo. Agência que se traduz pela realização de ações significativas, geradas a partir de escolhas informadas e possibilitadas pelas - 6 - informações disponibilizadas pelo sistema” (SANTOS, 2010, p. 5).
 
SANTOS, H. V. A. A importância das regras e do gameplay no envolvimento do jogador de videogame. Tese de doutorado em Artes Visuais - USP. São Paulo, 2010. p. 5.
 
De acordo com o texto e os conhecimentos acerca dos conceitos sobre mecânica e jogabilidade, analise as afirmativas a seguir.
 
I. A mecânica é um componente que descreve e define o gênero de um jogo.
II. Em um jogo, a jogabilidade independente do  ambiente onde os eventos ocorrem.
III. A jogabilidade pode ser conceituada como conjunto de regras que definem a interação entre o usuário e o ambiente do jogo.
IV. A jogabilidade consiste em todas as interações entre a(s) mecânica(s) do jogo.
 
Está correto o que se afirma em:
RESPOSTA CORRETA: II e IV, apenas.
Resposta correta. A alternativa está correta, pois a jogabilidade é um conceito que está diretamente ligado ao modo em que o jogador irá "jogar" o jogo, portanto, suas características  influenciam as mecânicas de um jogo. Por isso, caso a jogabilidade seja alterada, a forma com que o jogador interage também mudará, assim, o jogo perde, inicialmente, o seu propósito primário. Assim, podemos afirmar que a jogabilidade diz respeito a todas as interações entre a(s) mecânica(s) do jogo.
 II e III, apenas.
 III e IV, apenas.
 I e IV, apenas.
 I e II, apenas.
QUESTÃO 10
Leia o excerto a seguir.
 
“Os jogos multiplayer devem promover a integração dos recursos computacionais com o jogador, de acordo com os requisitos da aplicação em que os jogadores são capazes de interagir, visualizar e manipular os objetos, por meio dos controles dos dispositivos. Existem várias definições para jogos multiplayer devido sua natureza multidisciplinar” (KUBO, 2006, p.13).
 
KUBO, M. M. FMMG: um framework para jogos multiplayer móveis. Pós-Doutoradoem engenharia da computação e sistemas digitais, Escola Politécnica (EP) - Universidade de São Paulo (USP), 2006. p.13.
 
De acordo com o texto e os conhecimentos acerca do desenvolvimento de jogos multijogadores, analise as afirmativas a seguir.
 
I. Os jogos baseados em turnos são aqueles que restringem o movimento do jogador.
II.  Os jogos baseados em turnos precisam de condições rígidas que não toleram variações de períodos de latência  e largura de banda.
III. Jogos em tempo real são aqueles com eventos simultâneos entre os jogadores.
IV. Jogos em tempo real são projetados com condições flexíveis de latência e largura de banda.
 
Está correto o que se afirma em:
 II, III e IV, apenas.
RESPOSTA CORRETA: I e III, apenas.
Resposta correta. A alternativa está correta, pois os jogos baseados em turnos são aqueles que restringem o movimento, turno ou ação a um único jogador, assim, todos os outros esperam pelo seu turno. Enquanto os jogos em tempo real são aqueles com eventos simultâneos entre os jogadores. Todas as ações durante o jogo são baseadas em interações simultâneas, por isso é necessária uma arbitragem de eventos.
 II e III, apenas.
 I e II, apenas.
 I e IV, apenas.