SlideShare uma empresa Scribd logo
1 de 27
BRUTAL MENTES, O JOGO
CARACTERÍSTICAS GERAIS
• Jogo em turnos;
• Desenvolvido para computadores;
• Pode ser jogado de forma individual ou em equipes;
• Personagens cientistas com ataques relacionados às suas contribuições;
• Objetivo: lançar projéteis para eliminar os adversários.
Inicialmente foram levantados requisitos mais genéricos, como por exemplo:
"Os status de cada jogador deverão ser representados por sprites.”
"As artes deverão seguir o tema da brutalidade.”
"Cada cenário deverá conter uma arte coerente com o roteiro."
REQUISITOS DE ALTO NÍVEL
DOCUMENTO DE REQUISITOS
Após a definição de requisitos de alto nível, foi criado um documento geral com requisitos mais
detalhados
FÍSICA PARA LANÇAMENTO DO PROJÉTIL
O personagem poderá lançar o projétil
escolhendo aproximadamente os
parâmetros Força e Ângulo de lançamento.
a = F / m
Velocidades Iniciais:
Vxo = a*cos(θ)*1 Vyo = a*sen(θ)*1
O movimento em x é uniforme e mantém a mesma
velocidade durante todo o percurso.
Vx = Vxo Sx = Sxo + Vx*t
O movimento em y é uniformemente variado, pois
considera-se a aceleração da gravidade.
Vy = Vyo + g*t Sy = Syo + Vy*t
CRIAÇÃO DOS PERSONAGENS
-Albert Einstein
-Isaac Newton
-Maxwell
-Pitágoras
-Tesla
-Charles Darwin
-Marie Curie
-Stephen Hawking
-Joule
-Arquimedes
CARACTERIZAÇÃO / APRESENTAÇÃO
-Texto de apresentação
(tela de escolha de jogadores)
-Frase do personagem
(momento da escolha do jogador)
-Caracterização
(cabeça maior que o corpo, realce das características físicas marcantes)
ATAQUE / DEFESA
-Ataque comum para todos os personagens
(lançamento de projétil)
-Ataque e defesa especiais para cada personagem
(área de atuação, descobertas e estudos)
EXEMPLO: PITÁGORAS
-Texto de apresentação:
Pitágoras foi um filósofo e matemático nascido a 570 anos antes de Cristo na ilha de Samos,
Grécia.Creditado como fundador do movimento "Pitagorismo", responsável por inúmeras
descobertas matemáticas.O "Teorema de Pitágoras" solucionou o problema das relações
entre os lados de um triângulo retângulo.
-Frase de efeito:
"Eduquem as crianças, para que não seja necessário punir os adultos."
-Caracterização:
“Turbante”, barba grande e rosto fino.
EXEMPLO: PITÁGORAS
-Ataque:
Calcula a distância entre ele e o seu adversário e ao pular consegue atingir
exatamente o seu adversário através do valor da hipotenusa.
-Defesa:
Utiliza uma raíz quadrada para diminuir o efeito do ataque em sua vida.Por
exemplo: Um ataque que deveria retirar 25 pontos de sua vida vai retirar
somente 5 pontos.
CRIAÇÃO DOS PERSONAGENS
-O documento com os detalhes de todos os personagens já está disponível no
“Slack”.
-Sugestões e novas ideias são sempre bem vindas.
Modelagem UML
• Para auxiliar na implementação do jogo foi preciso fazer uma modelagem UML através dos seguintes
diagramas:
• Casos de Uso
• Classes
• Sequência
• Estados
Modelagem UML – Diagrama de Casos de uso
• Casos de uso escolhidos para o cenário;
• O mesmo deve ser implementado primeiro,
como decidido em uma reunião entre os
coordenadores
• Representa as funcionalidades básicas que o
personagem interpretado pelo jogador teria em
cada cenário;
Modelagem UML – Diagrama de Classes
• Jogo é a classe principal, que deve conter vários
elementos importantes para o sistema;
• Funcionalidades representadas no diagrama de
Casos de uso modeladas com mais detalhes;
• Elementos modelados com mais detalhes são os
que serão implementados primeiro.
Modelagem UML – Diagramas de Sequência
• Foram feitos diagramas de sequência bem gerais para cada funcionalidade básica presente no cenário,
apenas para guiar os programadores.
• Os diagramas dos próximos slides modelam:
• Ataque ao adversário;
• Defesa;
• Movimento da “câmera”;
• Movimento do personagem;
• Seleção da câmera.
Modelagem UML – Diagramas de Sequência
Modelagem UML – Diagramas de Sequência
Modelagem UML – Diagramas de Sequência
Modelagem UML – Diagramas de Estados
• Diagrama feito para entender a
lógica do sistema de uma forma
geral.
MOVIMENTAÇÃO – IMPLEMENTAÇÃO INICIAL
• A movimentação dos personagens foi implementada através do
reconhecimento de eventos de teclado.
• Utilização da biblioteca SDL2_image;
• Texturas para renderização de
Imagens sobrepostas.
FISICA DO JOGO - IMPLEMENTAÇÃO INICIAL
• Métodos responsáveis por calcular a próxima posição em ambas as direções no próximo
instante.
• float getnextpositionx(float s_ant_x,float v_x,int t)
• float getnextpositiony(float s_ant_y, float v_y,int t)
• Métodos responsáveis por calcular a velocidade em ambas as direções no próximo instante.
• float getnextspeedx(float force,float ang)
• float getnextspeedy(float v_y_ant,float acc_y, int t)
• Um loop principal recalcula as novas posições. Velocidades e atualiza a tela.
• Melhoria necessária: Criar um controlador para lidar com atualização da tela.
DETECÇÃO DE COLISÕES E MAPEAMENTO DE
OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL
-Os objetos (chão, personagens, etc) da fase serão mapeados por círculos, que,
em contato com os círculos de outros objetos, definem uma colisão.
-Cada círculo de um objeto possui uma posição do seu centro (x,y), um raio e,
opcionalmente, um identificador.
-Ideia geral: a cada objeto estará associada pelo menos uma lista de círculos
que o descrevem (para os personagens existe a ideia de se ter uma lista para
cada um dos estados definidos em suas sprites).
DETECÇÃO DE COLISÕES E MAPEAMENTO DE
OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL
DETECÇÃO DE COLISÕES E MAPEAMENTO DE
OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL
Chão da fase-modelo mapeado por círculos Trecho do arquivo contendo os círculos do chão da fase-modelo
DETECÇÃO DE COLISÕES E MAPEAMENTO DE
OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL
Foram realizados testes bem sucedidos para:
-identificar sobreposição entre dois círculos;
-identificar colisões entre círculos externos com o cenário
DETECÇÃO DE COLISÕES E MAPEAMENTO DE
OBSTÁCULOS - PRÓXIMOS PASSOS...
- Montar sprites dos personagens e associar listas de círculos a cada um de
seus estados;
- Integração com a parte física do jogo

Mais conteúdo relacionado

Semelhante a Lab3 completo

Quasi-engine: Desenvolvendo jogos em QML
Quasi-engine: Desenvolvendo jogos em QMLQuasi-engine: Desenvolvendo jogos em QML
Quasi-engine: Desenvolvendo jogos em QML
Anderson Briglia
 
Entendendo o Modelo de Atores
Entendendo o Modelo de AtoresEntendendo o Modelo de Atores
Entendendo o Modelo de Atores
Paulo Siqueira
 
Game Design Document F.A.O.T
Game Design Document  F.A.O.TGame Design Document  F.A.O.T
Game Design Document F.A.O.T
maikonsm
 
Palestra (2009) - Introdução ao Desenvolvimento de Jogos
Palestra (2009) - Introdução ao Desenvolvimento de JogosPalestra (2009) - Introdução ao Desenvolvimento de Jogos
Palestra (2009) - Introdução ao Desenvolvimento de Jogos
Kleber de Oliveira Andrade
 
Desenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaDesenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma Xna
Ellison Leão
 

Semelhante a Lab3 completo (17)

Curso Dia 02
Curso Dia 02Curso Dia 02
Curso Dia 02
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Design
 
Game programming
Game programmingGame programming
Game programming
 
Game programming
Game programmingGame programming
Game programming
 
Quasi-engine: Desenvolvendo jogos em QML
Quasi-engine: Desenvolvendo jogos em QMLQuasi-engine: Desenvolvendo jogos em QML
Quasi-engine: Desenvolvendo jogos em QML
 
Desenvolvendo Jogos com pygame.
Desenvolvendo Jogos com pygame.Desenvolvendo Jogos com pygame.
Desenvolvendo Jogos com pygame.
 
Game AI
Game AIGame AI
Game AI
 
Tutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios
Tutorial Desenvolvendo Pong no Unity 3D - Victory Island StudiosTutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios
Tutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios
 
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphere
Portando app JavaME S40 para C# WP7:  Um estudo de caso real da app CalcSpherePortando app JavaME S40 para C# WP7:  Um estudo de caso real da app CalcSphere
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphere
 
Entendendo o Modelo de Atores
Entendendo o Modelo de AtoresEntendendo o Modelo de Atores
Entendendo o Modelo de Atores
 
Hexxagon Game
Hexxagon GameHexxagon Game
Hexxagon Game
 
Introdução às Game Engines
Introdução às Game Engines Introdução às Game Engines
Introdução às Game Engines
 
Júlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game DevelopersJúlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game Developers
 
Game Design Document F.A.O.T
Game Design Document  F.A.O.TGame Design Document  F.A.O.T
Game Design Document F.A.O.T
 
Palestra (2009) - Introdução ao Desenvolvimento de Jogos
Palestra (2009) - Introdução ao Desenvolvimento de JogosPalestra (2009) - Introdução ao Desenvolvimento de Jogos
Palestra (2009) - Introdução ao Desenvolvimento de Jogos
 
Desenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaDesenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma Xna
 
Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3
 

Último (6)

treinamento de moldagem por injeção plástica
treinamento de moldagem por injeção plásticatreinamento de moldagem por injeção plástica
treinamento de moldagem por injeção plástica
 
SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptxSEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
 
Proposta de dimensionamento. PROJETO DO CURSO 2023.pptx
Proposta de dimensionamento. PROJETO DO CURSO 2023.pptxProposta de dimensionamento. PROJETO DO CURSO 2023.pptx
Proposta de dimensionamento. PROJETO DO CURSO 2023.pptx
 
CONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADE
CONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADECONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADE
CONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADE
 
ATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdf
ATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdfATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdf
ATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdf
 
ST 2024 Apresentação Comercial - VF.ppsx
ST 2024 Apresentação Comercial - VF.ppsxST 2024 Apresentação Comercial - VF.ppsx
ST 2024 Apresentação Comercial - VF.ppsx
 

Lab3 completo

  • 2. CARACTERÍSTICAS GERAIS • Jogo em turnos; • Desenvolvido para computadores; • Pode ser jogado de forma individual ou em equipes; • Personagens cientistas com ataques relacionados às suas contribuições; • Objetivo: lançar projéteis para eliminar os adversários.
  • 3. Inicialmente foram levantados requisitos mais genéricos, como por exemplo: "Os status de cada jogador deverão ser representados por sprites.” "As artes deverão seguir o tema da brutalidade.” "Cada cenário deverá conter uma arte coerente com o roteiro." REQUISITOS DE ALTO NÍVEL
  • 4. DOCUMENTO DE REQUISITOS Após a definição de requisitos de alto nível, foi criado um documento geral com requisitos mais detalhados
  • 5. FÍSICA PARA LANÇAMENTO DO PROJÉTIL O personagem poderá lançar o projétil escolhendo aproximadamente os parâmetros Força e Ângulo de lançamento. a = F / m Velocidades Iniciais: Vxo = a*cos(θ)*1 Vyo = a*sen(θ)*1 O movimento em x é uniforme e mantém a mesma velocidade durante todo o percurso. Vx = Vxo Sx = Sxo + Vx*t O movimento em y é uniformemente variado, pois considera-se a aceleração da gravidade. Vy = Vyo + g*t Sy = Syo + Vy*t
  • 6. CRIAÇÃO DOS PERSONAGENS -Albert Einstein -Isaac Newton -Maxwell -Pitágoras -Tesla -Charles Darwin -Marie Curie -Stephen Hawking -Joule -Arquimedes
  • 7. CARACTERIZAÇÃO / APRESENTAÇÃO -Texto de apresentação (tela de escolha de jogadores) -Frase do personagem (momento da escolha do jogador) -Caracterização (cabeça maior que o corpo, realce das características físicas marcantes)
  • 8. ATAQUE / DEFESA -Ataque comum para todos os personagens (lançamento de projétil) -Ataque e defesa especiais para cada personagem (área de atuação, descobertas e estudos)
  • 9. EXEMPLO: PITÁGORAS -Texto de apresentação: Pitágoras foi um filósofo e matemático nascido a 570 anos antes de Cristo na ilha de Samos, Grécia.Creditado como fundador do movimento "Pitagorismo", responsável por inúmeras descobertas matemáticas.O "Teorema de Pitágoras" solucionou o problema das relações entre os lados de um triângulo retângulo. -Frase de efeito: "Eduquem as crianças, para que não seja necessário punir os adultos." -Caracterização: “Turbante”, barba grande e rosto fino.
  • 10. EXEMPLO: PITÁGORAS -Ataque: Calcula a distância entre ele e o seu adversário e ao pular consegue atingir exatamente o seu adversário através do valor da hipotenusa. -Defesa: Utiliza uma raíz quadrada para diminuir o efeito do ataque em sua vida.Por exemplo: Um ataque que deveria retirar 25 pontos de sua vida vai retirar somente 5 pontos.
  • 11. CRIAÇÃO DOS PERSONAGENS -O documento com os detalhes de todos os personagens já está disponível no “Slack”. -Sugestões e novas ideias são sempre bem vindas.
  • 12. Modelagem UML • Para auxiliar na implementação do jogo foi preciso fazer uma modelagem UML através dos seguintes diagramas: • Casos de Uso • Classes • Sequência • Estados
  • 13. Modelagem UML – Diagrama de Casos de uso • Casos de uso escolhidos para o cenário; • O mesmo deve ser implementado primeiro, como decidido em uma reunião entre os coordenadores • Representa as funcionalidades básicas que o personagem interpretado pelo jogador teria em cada cenário;
  • 14. Modelagem UML – Diagrama de Classes • Jogo é a classe principal, que deve conter vários elementos importantes para o sistema; • Funcionalidades representadas no diagrama de Casos de uso modeladas com mais detalhes; • Elementos modelados com mais detalhes são os que serão implementados primeiro.
  • 15. Modelagem UML – Diagramas de Sequência • Foram feitos diagramas de sequência bem gerais para cada funcionalidade básica presente no cenário, apenas para guiar os programadores. • Os diagramas dos próximos slides modelam: • Ataque ao adversário; • Defesa; • Movimento da “câmera”; • Movimento do personagem; • Seleção da câmera.
  • 16. Modelagem UML – Diagramas de Sequência
  • 17. Modelagem UML – Diagramas de Sequência
  • 18. Modelagem UML – Diagramas de Sequência
  • 19. Modelagem UML – Diagramas de Estados • Diagrama feito para entender a lógica do sistema de uma forma geral.
  • 20. MOVIMENTAÇÃO – IMPLEMENTAÇÃO INICIAL • A movimentação dos personagens foi implementada através do reconhecimento de eventos de teclado. • Utilização da biblioteca SDL2_image; • Texturas para renderização de Imagens sobrepostas.
  • 21. FISICA DO JOGO - IMPLEMENTAÇÃO INICIAL • Métodos responsáveis por calcular a próxima posição em ambas as direções no próximo instante. • float getnextpositionx(float s_ant_x,float v_x,int t) • float getnextpositiony(float s_ant_y, float v_y,int t) • Métodos responsáveis por calcular a velocidade em ambas as direções no próximo instante. • float getnextspeedx(float force,float ang) • float getnextspeedy(float v_y_ant,float acc_y, int t) • Um loop principal recalcula as novas posições. Velocidades e atualiza a tela. • Melhoria necessária: Criar um controlador para lidar com atualização da tela.
  • 22.
  • 23. DETECÇÃO DE COLISÕES E MAPEAMENTO DE OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL -Os objetos (chão, personagens, etc) da fase serão mapeados por círculos, que, em contato com os círculos de outros objetos, definem uma colisão. -Cada círculo de um objeto possui uma posição do seu centro (x,y), um raio e, opcionalmente, um identificador. -Ideia geral: a cada objeto estará associada pelo menos uma lista de círculos que o descrevem (para os personagens existe a ideia de se ter uma lista para cada um dos estados definidos em suas sprites).
  • 24. DETECÇÃO DE COLISÕES E MAPEAMENTO DE OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL
  • 25. DETECÇÃO DE COLISÕES E MAPEAMENTO DE OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL Chão da fase-modelo mapeado por círculos Trecho do arquivo contendo os círculos do chão da fase-modelo
  • 26. DETECÇÃO DE COLISÕES E MAPEAMENTO DE OBSTÁCULOS - IMPLEMENTAÇÃO INICIAL Foram realizados testes bem sucedidos para: -identificar sobreposição entre dois círculos; -identificar colisões entre círculos externos com o cenário
  • 27. DETECÇÃO DE COLISÕES E MAPEAMENTO DE OBSTÁCULOS - PRÓXIMOS PASSOS... - Montar sprites dos personagens e associar listas de círculos a cada um de seus estados; - Integração com a parte física do jogo