SlideShare uma empresa Scribd logo
1 de 11
Programação de Jogos Eletrônicos
Processo O processo de programação de um jogo começa com uma série de experimentos e desenvolvimento de protótipos coordenados pelo game designer que é responsável por criar as idéias.
Game Design Apesar do papel principal do programador não ser o game design, eles podem contribuir para o mesmo, com troca de informações entre outras áreas do desenvolvimento.
Linguagem de Programação Atualmente a linguagem de programação mais usada para desenvolvimento de jogos é C++, mas em geral são muito usados qualquer tipo de linguagem orientada a objetos. 	      Alguns jogos podem também usar linguagem Assembly para priorizar principalmente a performance e uma comunicação mais direta com o hardware.
Performance e uso da Memória Quando se programa um jogo deve-se fazer uma projeção da performance e do uso de memória que a aplicação irá fazer. Não se pode fazer códigos que sobrecarreguem o processador ou a GPU, também não se pode sobrecarregar a memória RAM carregando todos os bytes do jogo de uma só vez.
Loop Principal Todos os jogos em geral contém um loop principal, esse loop é o que dá vida ao jogo, quando este loop chega ao fim o jogo também chega ao fim. O que este loop faz é periodicamente verificar os comandos do usuários e realizar ações, ele tem o seguinte formato:
Loop Principal Enquanto (usuário não pede para sair) Faça 	verificar entrada do usuário  (através de teclado, mouse, controle, etc...) 	Realizar AI 	Verificar colisões  Renderizargráficos 3D (caso seja um jogo 3D) 	Pintar o gráfico na tela  (junta a imagem em 3D renderizada junto com a 2D em um único buffer) Toca som Fim_Enquanto
Classes e Objetos A programação orientada a objetos facilita o desenvolvimento do jogo por permitir ao programador a abstração de classes e subclasses (polimorfismo) e a criação de objetos.
Computação Gráfica Jogos: A indústria do entretenimento atualmente dá mais lucro que a cinematográfica!  Jogos são a maior aplicação da computação gráfica, e a grande motivação para seu desenvolvimento.
Imagem gerada totalmente por  Computação Gráfica
Imagem gerada totalmente por  Computação Gráfica

Mais conteúdo relacionado

Mais procurados

Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...
Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...
Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...David Luz
 
Física na UI com PhaserJS
Física na UI com PhaserJSFísica na UI com PhaserJS
Física na UI com PhaserJSDavid Luz
 
Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...
Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...
Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...David Luz
 
Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Luiz Nörnberg
 
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...Michel Montenegro
 
Desenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDKDesenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDKBruno Cicanci
 
É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?José Farias
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Felipe Pedroso
 
Curso de Blender - #Aula 02 - Historia do Blender
Curso de Blender - #Aula 02 - Historia do BlenderCurso de Blender - #Aula 02 - Historia do Blender
Curso de Blender - #Aula 02 - Historia do BlenderErick L. F.
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoArthur Emanuel
 
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...Tchelinux
 
criando Animações com Scratch
criando Animações com Scratchcriando Animações com Scratch
criando Animações com ScratchManuel
 
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Fabio Moura Pereira
 
Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Alessandro Binhara
 

Mais procurados (20)

Introdução ao desenvolvimento de jogos com unity3d
Introdução ao desenvolvimento de jogos com unity3dIntrodução ao desenvolvimento de jogos com unity3d
Introdução ao desenvolvimento de jogos com unity3d
 
Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...
Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...
Introdução ao desenvolvimento de jogos educativos HTML5 ( MoodleMoot Brasília...
 
Física na UI com PhaserJS
Física na UI com PhaserJSFísica na UI com PhaserJS
Física na UI com PhaserJS
 
Windows 10 bugs
Windows 10 bugsWindows 10 bugs
Windows 10 bugs
 
Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...
Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...
Um comparativo entre engines JavaScript para o desenvolvimento de games HTML...
 
Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Palestra AnimeBomb 2015
Palestra AnimeBomb 2015
 
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
 
Desenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDKDesenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDK
 
É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?É Hora de criar sua própria engine de jogos?
É Hora de criar sua própria engine de jogos?
 
Windows 10 Developer Readiness - Brasil
Windows 10 Developer Readiness - BrasilWindows 10 Developer Readiness - Brasil
Windows 10 Developer Readiness - Brasil
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
 
Workshops de Unity
Workshops de UnityWorkshops de Unity
Workshops de Unity
 
Curso de Blender - #Aula 02 - Historia do Blender
Curso de Blender - #Aula 02 - Historia do BlenderCurso de Blender - #Aula 02 - Historia do Blender
Curso de Blender - #Aula 02 - Historia do Blender
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
 
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
 
criando Animações com Scratch
criando Animações com Scratchcriando Animações com Scratch
criando Animações com Scratch
 
Xna Touch Campus Party
Xna Touch  Campus PartyXna Touch  Campus Party
Xna Touch Campus Party
 
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
 
Tv Multimidia 1
Tv Multimidia 1Tv Multimidia 1
Tv Multimidia 1
 
Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.
 

Destaque

Programação de Jogos Digitais - Aula 3
Programação de Jogos Digitais - Aula 3Programação de Jogos Digitais - Aula 3
Programação de Jogos Digitais - Aula 3Anderson Andrade
 
Programação de Jogos Digitais - Aula 1
Programação de Jogos Digitais - Aula 1Programação de Jogos Digitais - Aula 1
Programação de Jogos Digitais - Aula 1Anderson Andrade
 
C++ apostila linguagem c++ poo
C++   apostila linguagem c++ pooC++   apostila linguagem c++ poo
C++ apostila linguagem c++ poorobinhoct
 
Intro to Game Programming Online Class for Kids and Teens
Intro to Game Programming Online Class for Kids and TeensIntro to Game Programming Online Class for Kids and Teens
Intro to Game Programming Online Class for Kids and TeensFundaFunda
 
Programação de Jogos Digitais - Aula 2
Programação de Jogos Digitais - Aula 2Programação de Jogos Digitais - Aula 2
Programação de Jogos Digitais - Aula 2Anderson Andrade
 
Programação de Jogos Digitais - Aula 4
Programação de Jogos Digitais - Aula 4Programação de Jogos Digitais - Aula 4
Programação de Jogos Digitais - Aula 4Anderson Andrade
 
Desenvolvimento e Post-mortem - "Ataque às Mulheres"
Desenvolvimento e Post-mortem - "Ataque às Mulheres"Desenvolvimento e Post-mortem - "Ataque às Mulheres"
Desenvolvimento e Post-mortem - "Ataque às Mulheres"André Kishimoto
 
Conceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para JogosConceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para JogosAndré Kishimoto
 
Máquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAMáquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAAndré Kishimoto
 
Inteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos EletrônicosInteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos EletrônicosAndré Kishimoto
 
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisDesign Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisJoão Ricardo Bittencourt
 
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...André Kishimoto
 
Game Design para quem não é Game Designer (versão GameDays 2014)
Game Design para quem não é Game Designer (versão GameDays 2014)Game Design para quem não é Game Designer (versão GameDays 2014)
Game Design para quem não é Game Designer (versão GameDays 2014)André Kishimoto
 
Game Design para quem não é Game Designer
Game Design para quem não é Game DesignerGame Design para quem não é Game Designer
Game Design para quem não é Game DesignerAndré Kishimoto
 
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game developmentAhmed
 

Destaque (17)

Programação de Jogos Digitais - Aula 3
Programação de Jogos Digitais - Aula 3Programação de Jogos Digitais - Aula 3
Programação de Jogos Digitais - Aula 3
 
Programação de Jogos Digitais - Aula 1
Programação de Jogos Digitais - Aula 1Programação de Jogos Digitais - Aula 1
Programação de Jogos Digitais - Aula 1
 
C++ apostila linguagem c++ poo
C++   apostila linguagem c++ pooC++   apostila linguagem c++ poo
C++ apostila linguagem c++ poo
 
Intro to Game Programming Online Class for Kids and Teens
Intro to Game Programming Online Class for Kids and TeensIntro to Game Programming Online Class for Kids and Teens
Intro to Game Programming Online Class for Kids and Teens
 
Programação de Jogos Digitais - Aula 2
Programação de Jogos Digitais - Aula 2Programação de Jogos Digitais - Aula 2
Programação de Jogos Digitais - Aula 2
 
Programação de Jogos Digitais - Aula 4
Programação de Jogos Digitais - Aula 4Programação de Jogos Digitais - Aula 4
Programação de Jogos Digitais - Aula 4
 
Desenvolvimento e Post-mortem - "Ataque às Mulheres"
Desenvolvimento e Post-mortem - "Ataque às Mulheres"Desenvolvimento e Post-mortem - "Ataque às Mulheres"
Desenvolvimento e Post-mortem - "Ataque às Mulheres"
 
Conceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para JogosConceitos Introdutórios de Física e IA para Jogos
Conceitos Introdutórios de Física e IA para Jogos
 
Máquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IAMáquina de Estados: Controlando o jogo, do menu à IA
Máquina de Estados: Controlando o jogo, do menu à IA
 
Inteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos EletrônicosInteligência Artificial em Jogos Eletrônicos
Inteligência Artificial em Jogos Eletrônicos
 
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeisDesign Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
Design Thinking nos Jogos Digitais: Conceitos enxutos e ágeis
 
Oficina de Design Thinking e Jogos
Oficina de Design Thinking e JogosOficina de Design Thinking e Jogos
Oficina de Design Thinking e Jogos
 
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
Game Design para quem não é Game Designer (versão revista e compactada - TDC2...
 
Game Design para quem não é Game Designer (versão GameDays 2014)
Game Design para quem não é Game Designer (versão GameDays 2014)Game Design para quem não é Game Designer (versão GameDays 2014)
Game Design para quem não é Game Designer (versão GameDays 2014)
 
Game Design para quem não é Game Designer
Game Design para quem não é Game DesignerGame Design para quem não é Game Designer
Game Design para quem não é Game Designer
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
 
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game development
 

Semelhante a Programação de jogos eletrônicos

Palestra Introdução ao Game Design
Palestra Introdução ao Game DesignPalestra Introdução ao Game Design
Palestra Introdução ao Game DesignLeonardo Zamprogno
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosGabriel Giordano Medina
 
1484850831[pdj]e book gameengine
1484850831[pdj]e book gameengine1484850831[pdj]e book gameengine
1484850831[pdj]e book gameengineLuis Caio
 
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGameFLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGameLucas Mousinho
 
Aulas 01 e 2 iniciando no windows 7
Aulas 01 e 2  iniciando no windows 7Aulas 01 e 2  iniciando no windows 7
Aulas 01 e 2 iniciando no windows 7Boris Junior
 
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...Impacta Eventos
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para JogosRicardo Leite
 
Desenvolvimento de Jogos
Desenvolvimento de JogosDesenvolvimento de Jogos
Desenvolvimento de JogosKelvinSalton
 
Slide blender 3 d apresentação
Slide blender 3 d apresentaçãoSlide blender 3 d apresentação
Slide blender 3 d apresentaçãoJosé Nascimento
 
Palestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de JogosPalestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de Jogosjuliocoopergames
 
Biblioteca de interface grafica
Biblioteca de interface graficaBiblioteca de interface grafica
Biblioteca de interface graficaLeonardo Lima
 
Framework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo PlataformaFramework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo PlataformaBeatriz Vaz Pinto
 
Artigo tecpar ráfagan - Pesquisando a viabilidade de utilização de engin...
Artigo tecpar   ráfagan - Pesquisando a viabilidade de utilização de engin...Artigo tecpar   ráfagan - Pesquisando a viabilidade de utilização de engin...
Artigo tecpar ráfagan - Pesquisando a viabilidade de utilização de engin...Ráfagan Abreu
 
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013Dra. Camila Hamdan
 
Aula 1 - 28/10/2013
Aula 1 - 28/10/2013Aula 1 - 28/10/2013
Aula 1 - 28/10/2013sala40
 
Games e inovacao tecnologica
Games e inovacao tecnologicaGames e inovacao tecnologica
Games e inovacao tecnologicaAlexsandro
 

Semelhante a Programação de jogos eletrônicos (20)

Palestra Introdução ao Game Design
Palestra Introdução ao Game DesignPalestra Introdução ao Game Design
Palestra Introdução ao Game Design
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de Jogos
 
1484850831[pdj]e book gameengine
1484850831[pdj]e book gameengine1484850831[pdj]e book gameengine
1484850831[pdj]e book gameengine
 
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGameFLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
 
Artigo unity3 d
Artigo unity3 dArtigo unity3 d
Artigo unity3 d
 
Aulas 01 e 2 iniciando no windows 7
Aulas 01 e 2  iniciando no windows 7Aulas 01 e 2  iniciando no windows 7
Aulas 01 e 2 iniciando no windows 7
 
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
Palestra “UDK no Brasil e os Caminhos para Design e Desenvolvimento de games ...
 
Comparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3dComparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3d
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
 
Desenvolvimento de Jogos
Desenvolvimento de JogosDesenvolvimento de Jogos
Desenvolvimento de Jogos
 
Slide blender 3 d apresentação
Slide blender 3 d apresentaçãoSlide blender 3 d apresentação
Slide blender 3 d apresentação
 
Mobile Game Development.pptx
Mobile Game Development.pptxMobile Game Development.pptx
Mobile Game Development.pptx
 
Palestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de JogosPalestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de Jogos
 
Biblioteca de interface grafica
Biblioteca de interface graficaBiblioteca de interface grafica
Biblioteca de interface grafica
 
Framework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo PlataformaFramework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
 
Artigo tecpar ráfagan - Pesquisando a viabilidade de utilização de engin...
Artigo tecpar   ráfagan - Pesquisando a viabilidade de utilização de engin...Artigo tecpar   ráfagan - Pesquisando a viabilidade de utilização de engin...
Artigo tecpar ráfagan - Pesquisando a viabilidade de utilização de engin...
 
Curso Unity3D
Curso Unity3DCurso Unity3D
Curso Unity3D
 
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
Motores para Jogos: Apresentação Laboratório de Jogos_UDF_Moa_2013
 
Aula 1 - 28/10/2013
Aula 1 - 28/10/2013Aula 1 - 28/10/2013
Aula 1 - 28/10/2013
 
Games e inovacao tecnologica
Games e inovacao tecnologicaGames e inovacao tecnologica
Games e inovacao tecnologica
 

Programação de jogos eletrônicos

  • 1. Programação de Jogos Eletrônicos
  • 2. Processo O processo de programação de um jogo começa com uma série de experimentos e desenvolvimento de protótipos coordenados pelo game designer que é responsável por criar as idéias.
  • 3. Game Design Apesar do papel principal do programador não ser o game design, eles podem contribuir para o mesmo, com troca de informações entre outras áreas do desenvolvimento.
  • 4. Linguagem de Programação Atualmente a linguagem de programação mais usada para desenvolvimento de jogos é C++, mas em geral são muito usados qualquer tipo de linguagem orientada a objetos. Alguns jogos podem também usar linguagem Assembly para priorizar principalmente a performance e uma comunicação mais direta com o hardware.
  • 5. Performance e uso da Memória Quando se programa um jogo deve-se fazer uma projeção da performance e do uso de memória que a aplicação irá fazer. Não se pode fazer códigos que sobrecarreguem o processador ou a GPU, também não se pode sobrecarregar a memória RAM carregando todos os bytes do jogo de uma só vez.
  • 6. Loop Principal Todos os jogos em geral contém um loop principal, esse loop é o que dá vida ao jogo, quando este loop chega ao fim o jogo também chega ao fim. O que este loop faz é periodicamente verificar os comandos do usuários e realizar ações, ele tem o seguinte formato:
  • 7. Loop Principal Enquanto (usuário não pede para sair) Faça verificar entrada do usuário (através de teclado, mouse, controle, etc...) Realizar AI Verificar colisões Renderizargráficos 3D (caso seja um jogo 3D) Pintar o gráfico na tela (junta a imagem em 3D renderizada junto com a 2D em um único buffer) Toca som Fim_Enquanto
  • 8. Classes e Objetos A programação orientada a objetos facilita o desenvolvimento do jogo por permitir ao programador a abstração de classes e subclasses (polimorfismo) e a criação de objetos.
  • 9. Computação Gráfica Jogos: A indústria do entretenimento atualmente dá mais lucro que a cinematográfica! Jogos são a maior aplicação da computação gráfica, e a grande motivação para seu desenvolvimento.
  • 10. Imagem gerada totalmente por Computação Gráfica
  • 11. Imagem gerada totalmente por Computação Gráfica