Escolar Documentos
Profissional Documentos
Cultura Documentos
d e Cri a ç ã o d e
G a m e s – M ód u l o I
Manual do Curso de Criação de Games – Módulo I
ÍNDICE
Orientações Gerais do Curso de Criação de Games – Módulo I ....................................................... 3
Instruções para o correto funcionamento do curso .............................................................................3
Requisitos para o funcionamento do curso ........................................................................................ 4
Descrição da Matéria ........................................................................................................................ 5
Gabarito para os Testes ................................................................................................................... 6
Gabarito para Exercícios de Fixação .............................................................................................. 18
03/07/2015 2
Manual do Curso de Criação de Games – Módulo I
Finalidade
Este curso tem a finalidade de ensinar ao aluno os princípios básicos de aprendizado para criar um
novo jogo, utilizando-se do XNA com a linguagem de programação C#. A partir deste curso, o aluno estará
apto a trabahar em empresas de desenvolvimento de jogos, na área de programação.
Ao longo do curso o aluno aprenderá conceitos relacionados com a criação de jogos, como
trabalhar com arquivos de som e a tratar imagens em jogos por exemplo. Na apostila prática, será criado
no decorrer das aulas um pequeno jogo, utilizando tudo o que for ensinado durante a aula.
Softwares necessários
Para o correto funcionamento do curso, durante a prática, será exigido o Sistema Operacional
Windows, e o programa Visual Studio 2008.
Para que os exercícios práticos sejam feitos corretamente, você deverá instalar os softwares que estão
contidos na pasta Softwares\GamesI dentro do DVD.
Para que todos os softwares sejam instalados na máquina, é necessário que a mesma esteja
conectada à internet.
03/07/2015 3
Manual do Curso de Criação de Games – Módulo I
03/07/2015 4
Manual do Curso de Criação de Games – Módulo I
Descrição da Matéria
Aula 03 – Gráficos
- Trabalhando com Gráficos
- Sprite
- Dispositivos de entrada
Aula 04 – Som
- Arquivos de som
- Trabalhando com a ferramenta XACT
Aula 07 – Jogos em 3D
- Como funciona o 3D
- Projeções
Aula 08 – Pipeline
- Pipeline de renderização
- Shaders
03/07/2015 5
Manual do Curso de Criação de Games – Módulo I
03/07/2015 6
Manual do Curso de Criação de Games – Módulo I
7 – Além do C# qual outra linguagem pode ser utilizada para programar em XNA?
• Qualquer linguagem .NET.
• UDK.
• JMonkey.
• Java.
8 – Qual é a função do Editor - Unreal Development Kit instalado juntamente com o UDK?
• Fazer a edição de jogos criados através do UDK.
• Permitir testar algum jogo já criado através do UDK.
• Fazer a edição de fases de qualquer jogo.
• Permitir alterar um ambiente 2D para 3D facilmente.
03/07/2015 7
Manual do Curso de Criação de Games – Módulo I
2 – Qual comando deverá ser utilizado em C# para exibir a palavra Texto na tela?
• Console.WriteLine("Texto");
• Console.Writeline(Texto);
• System.out.println("Texto");
• Console.ReadLine("Texto");
3 – Caso você queira que uma variável receba um valor numérico, qual método deverá ser
utilizado?
• Método Parse.
• Método double.
• Método int.
• Método Console.
4 – Como deve ser feito a declaração de uma matriz de 2 e 4 posições, do tipo inteiro em C#?
• int[,] variavel = new int[2, 4];
• int[][] variavel = new int[4, 2];
• int [2, 4] = new variavel;
• int variavel [2, 4] = new int[,];
03/07/2015 8
Manual do Curso de Criação de Games – Módulo I
8 – O que deverá ser incluso no método LoadContent?
• As rotinas de carregar gráficos.
• As rotinas de carregar os sons.
• As rotinas do método principal.
• Quaisquer rotinas de inicialização de elementos não gráficos.
03/07/2015 9
Manual do Curso de Criação de Games – Módulo I
AULA 3 – Gráficos
4 – Qual outro método poderia ser utilizado para substituir o seguinte código: Vector2(0f, 0f);
• Vector2.Zero.
• Vector.Zero.
• Vector2.Screen.
• Vector2.X.
5 – Após você ter carregado uma textura no método LoadContent, o que deverá ser feito?
• A mesma deverá ser adicionada no método UnloadContent para liberação da textura.
• A mesma deverá ser adicionada no método Draw pra liberação da textura.
• Deverá ser indicado no método Initialize o som que a mesma irá possuir.
• Deverá ser declarado um novo objeto em outra classe.
6 – Caso queira que a largura da tela seja de 400, qual código deverá ser utilizado?
• graphics.PreferredBackBufferWidth = 400;.
• graphics.PreferredBackBufferHeight = 400;.
• graphics.ApplyChanges(400);.
• graphics.BachBuffer = 400;
03/07/2015 10
Manual do Curso de Criação de Games – Módulo I
AULA 4 – Som
1 – Ao trabalhar com inserção de áudio diretamente no XNA, quais classes são utilizadas para o
efeito sonoro?
• SoundEffect e SoundEffectInstance.
• SoundEfect e SoundEfectInstancia.
• EfeitoSono e InstanciaSonora.
• SoundEffect e efeitoSonoro.
2 – Em qual método da classe Game1 deve ser feita a inicialização dos sons?
• Método Initialize.
• Método LoadContent.
• Método Update.
• Método Draw.
03/07/2015 11
Manual do Curso de Criação de Games – Módulo I
1 – Para que um Game Component implemente o método Draw, ele deverá derivar de qual
classe?
• DrawableGameComponent.
• GameComponent.
• DrawGameComponent.
• Game1.
2 – Ao criar um novo Game Component, quais os métodos que ele cria automaticamente?
• Initialize e Update.
• Initialize e LoadContent.
• LoadContent e UnloadContent.
• Update e Draw.
3 – Caso queira escrever algo na tela do jogo, que tipo de objeto deverá ser criado?
• SpriteFont.
• FontSprite.
• GameComponent.
• GameFont.
4 – Após você ter criado um método para a lógica do jogo, onde o mesmo deve ser chamado?
• Método Update.
• Método Initialize.
• Em um novo GameComponent.
• Dentro das propriedades do objeto SpriteFont.
03/07/2015 12
Manual do Curso de Criação de Games – Módulo I
1 – Quais são os dois principais modelos de topologia de rede utilizados em jogos no XNA?
• Cliente-Servidor e Ponto-a-Ponto.
• Cliente-Servidor e Servidor-Servidor.
• Ponto-a-Ponto e Estrela.
• Estrela e Anel.
4 – Qual modelo de topologia de rede consome bem menos largura de banda por jogador?
• Cliente-Servidor.
• Ponto-a-Ponto.
• Anel.
• Estrela.
6 – Para se conectar no LIVE, qual linha de código é necessário inserir no construtor da classe
Game1?
• Components.Add(new GamerServicesComponent(this));
• Components.Add(new ServicesGameComponent(this));
• GameComponent.Add(new ServicesComponents(this));
• new GamerServicesComponent();
03/07/2015 13
Manual do Curso de Criação de Games – Módulo I
AULA 7 – Jogos em 3D
1 – Quando se trabalha com sistema de coordenadas de três dimensões, quais são os dois tipos
possíveis deste?
• Sistemas de mão esquerda e sistemas de mão direita.
• Sistemas de mão direita e sistemas XY.
• Sistemas de mão esquerda, sistemas de mão direita e XYZ.
• Sistemas X, sistemas Y e Sistemas Z.
6 – Caso queira criar uma matriz de rotação no eixo X, qual linha de código deverá ser utilizada?
• Matrix.CreateRotationX.
• Matriz.CreateRotationX.
• Matrix.RotationX.
• Matrix.CreateTranslationX.
03/07/2015 14
Manual do Curso de Criação de Games – Módulo I
8 – Qual a função da propriedade LightingEnabled da classe BasicEffect?
• Quando true, utiliza as propriedades de luz para iluminar a cena.
• Quando true, desativa as propriedades de luz para a cena.
• Quando false, utiliza as propriedades de luz para iluminar a cena.
• Quando false, desliga a matriz de visão.
03/07/2015 15
Manual do Curso de Criação de Games – Módulo I
AULA 8 – Pipeline
3 – Qual tipo de pipeline de renderização era utilizado nas versões mais antigas das APIs gráficas
do DirectX?
• Fixo.
• Fixo ou programável.
• Programável.
• Programável ou pré programado.
5 – O que é um shader?
• Um arquivo que contém instruções específicas que serão executadas na GPU.
• Um arquivo que contém informações escritas para o GPU.
• Um arquivo que conecta na GPU para renderizar objetos 3D.
• Um arquivo de texto feito no bloco de notas que renderiz objetos 2D.
03/07/2015 16
Manual do Curso de Criação de Games – Módulo I
03/07/2015 17
Manual do Curso de Criação de Games – Módulo I
2. Qual seria a área ideal para aquelas pessoas que não são boas para desenhar ou programar, mas são
boas em ter novas ideias?
( ) Computação Gráfica.
( ) Programação.
( X ) Game Designer.
Aula 02
1. O C# tem raízes em quais linguagens de programação?
O C# tem raízes em C, C++ e Java, adaptando os melhores recursos de cada linguagem e
acrescentando novas capacidades próprias.
2. Por que é necessário utilizar o método Parse quando for fazer a leitura de um valor numérico?
É necessário utilizar esta conversão, pois o C# entende que todo valor digitado é do tipo texto e, não
consegue atribuir automaticamente a uma variável do tipo numérico (int, double, float, byte, etc).
03/07/2015 18
Manual do Curso de Criação de Games – Módulo I
Aula 03
1. Onde fica localizado o ponto zero do sistema de coordenadas do mundo e da tela?
O ponto zero do sistema de coordenadas do mundo fica localizado no canto inferior esquerdo e, no
sistema de coordenadas da tela fica localizado no canto superior esquerdo da tela.
4. Qual método deverá ser usado caso deseje se capturar a entrada do teclado?
Para você utilizar as entradas do teclado, você usará o método KeyBoard que possui a propriedade
GetState.
5. Escreva o código de uma condição para verificar se a tecla seta para cima foi pressionada.
KeyboardState teclado = Keyboard.GetState();
if (teclado.IsKeyDown(Keys.Up))
Aula 04
1. Qual é o único formato de arquivo de som que o XNA 3.0 trabalha para efeitos especiais?
WAV.
4. Ao carregar o arquivo XAP do XACT, no projeto de jogo XNA, é necessário carregar os arquivos de áudio?
Por que?
Não, pois o mesmo é carregado automaticamente quando o arquivo é compilado no XACT.
Aula 05
1. Qual a função de um Game Component?
Um Game Component ou Componente de Jogo, é uma ou mais classes prontas, que auxiliam o
programador em determinada tarefa.
2. Porque se deve optar em criar um Game Component e não uma classe do C#?
A diferença é que ao criar um novo game component ele automaticamente faz as importações das
bibliotecas necessárias e cria os métodos Initialize e Update, o que uma classe do C# não faz.
03/07/2015 19
Manual do Curso de Criação de Games – Módulo I
3. Onde deverá ser chamada a lógica do jogo e em qual classe?
Não importa onde você cria a lógica do seu jogo, esta sempre deverá ser chamada dentro do método
Update(), da classe Game1.
Aula 06
1. Qual a topologia de rede utiliza um servidor para conectar os jogadores?
Cliente-Servidor.
2. Qual a linha de código que deve ser inserida para fazer a conexão com a LIVE da Microsoft?
Components.Add(new GamerServicesComponent(this));
Aula 07
1. Qual a função da VertexPositionColor?
Define um vértice com posição e cor para desenho.
5. Qual classe que o XNA oferece para se trabalhar com efeitos em 3D?
BasicEffect.
Aula 08
1. Qual a função da seguinte linha de código return float4(0, 0, 1, 1) na linguagem HLSL?
Retorna a cor Azul com opacidade em 100%.
4. Qual o nome dos pequenos programas que fazem a programação para a GPU?
Shaders.
03/07/2015 20