Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouNicolas de Paiva Batista Alterado mais de 7 anos atrás
1
Desafios de Computação no Desenvolvimento de Jogos
USPGameDev Desafios de Computação no Desenvolvimento de Jogos Encontro BCC 12/09/2014
2
Quem somos
3
Jogos digitais Estrutura básica
4
Programas interativos
Execução sem fim Detecção de eventos Controle de tempo
5
Game Loop Fonte:
6
Jogos digitais Padrões de projeto
7
Padrões de projeto Como organizar os tipos de objetos do jogo?
8
Herança vs. Composição Fonte:
9
Herança vs. Composição Fonte:
10
Simulando Física Colisões
11
Casos fáceis Círculos d r1 r2
12
Axis-aligned bounding boxes
Casos fáceis Axis-aligned bounding boxes y top2 top1 bottom1 left1 right1 bottom2 left2 right2 x
13
Axis-aligned bounding boxes
Casos fáceis Axis-aligned bounding boxes y top1 top2 bottom1 left1 right1 bottom2 left2 right2 x
14
Círculo vs. retângulo Vamos assumir uma AABB
15
Ponto do retângulo mais próximo da circunferência
Círculo vs. retângulo Ponto do retângulo mais próximo da circunferência xP = max(left,min(right,xC)) yP = max(bottom,min(top,yC)) P
16
Ponto vs. Polígono convexo
Como saber se o ponto está dentro? P
17
Ponto vs. Polígono convexo
Produto vetorial i j k vx vy 0 wx wy 0 vx vy wx wy v × w = = k
18
Ponto vs. Polígono convexo
Usamos o sinal do determinante! i j k vx vy 0 wx wy 0 vx vy wx wy v × w = = k w vx vy wx wy Está fora se > vxwy – vywx > 0 vxwy > vywx (!!!) v P
19
Detectar objetos próximos
Simulando Física Detectar objetos próximos
20
Implementação ingênua
Todos contra todos Colide? obj2 obj3 obj4 ... obj1 ?
21
Implementação ingênua
22
Partição espacial A ideia é agrupar objetos próximos
Exemplo: Quad-Tree Fonte:
23
Outras estruturas conhecidas:
Partição espacial Outras estruturas conhecidas: Grade fixa K-Dimensional Tree Interval K-Dimensional Tree Binary Space Partitioning Tree R-Tree
24
Inteligência Artificial
Definindo comportamentos
25
Máquina de Estados Finita
follow attack rest escape
26
Inteligência Artificial
Path-finding
27
Variação do algoritmo de Dijkstra
Algoritmo A* Variação do algoritmo de Dijkstra
28
Renderização Apresentando o jogo
29
Spritesheets
30
Projeções tridimensionais
31
Projeções tridimensionais
Transformação Linear: T: R² → R2 T(v+u) = T(v) + T(u) T(k.v) = k.T(v) T(0) = 0 Transformação Afim: P: R² → R2 P(v) = T(v) + p P(0) = p x' y P x
32
Projeções tridimensionais
Coordenadas homogêneas a b u x ax + by + u a b 0 x u c d v y = cx + dy + v = c d 0 y + v a b u x ax + by c d v y = cx + dy
33
Rasterização
34
Shadow-casting simples
Sombras Shadow-casting simples
35
Conteúdo procedimental
Autômatos celulares
36
Gramáticas Regras A → ABA B → CC Resultado A ABA ABACCABA
ABACCABACCABACCABA
37
Autômato celular
38
Conteúdo procedimental
Outros algoritmos e técnicas Noises SATs
39
Unlimited Slide Works Obrigado!
40
Unlimited Slide Works Networking Peer-2-peer (Age of Empires)
Client/Server (QuakeWorld) Shaders Multithreading
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.