SlideShare uma empresa Scribd logo
Desenvolvedo Jogos com
PyGame
Rafael Guterres Jeffman
Tchelinux
2018
Por que Jogos?
• Daemon Attack
• Pitfall
• Enduro
• River Raid
• Decathlon
Por que Python?
• Expressividade
• Simplicidade
• Multi-paradigma
Por que PyGame?
• Abstrai boa parte das ”parada chata”.
• Cross-platform (SDL)
• Modelo de aplicação simples.
O que é e não é PyGame?
• É uma biblioteca que auxilia no desenvolvimento de jogos.
• Não é um engine de jogos.
• É uma coleção de métodos e ferramentas de baixo nível.
• Não é para desenvolver o novo FPS 3D a 240fps em 4K.
• Mas é bacana para desenvolver jogos 2D...
Modelo de Aplicação
import sys, pygame
pygame.init()
# initialize stuff
while True:
# handle events
# update game objects
# redraw screen stuff
pygame.display.flip()
O Projeto
• Um diretório media onde serão armazenados os arquivos de
mídia do jogo, com subdiretórios para sons, imagens, vídeos.
• Um diretório features, afinal, você vai usar o behave
• O seu código, bem organizado...
Side Scrolling Shot’em Up
Sua nave foi transportada para o quadrante
gamma, no meio das hordas inimigas, durante a
Guerra do Infinito.
Sua missão, aceite ou não, é destruir
todos os inimigos.
A Tela da Aplicação
• PyGame utiliza SDL para o gerenciamento da janela.
• Deve ser definido o tamanho da janela na sua criação.
• Flags podem ser utilizados para configurar a tela.
size = width, height = (800, 600)
flags = pygame.FULLSCREEN
screen = pygame.display.set_mode(size, flags)
Cenários
• PyGame não tem o conceito de engine, logo, o cenário
também é parte do código.
• O cenário pode ser criado a partir de um procedimento.
• Mesmo em um ambiente 2D, é possível trazer uma sensação
de profundidade.
• Para criar o efeito de parallax, você deve criar planos que se
movimentam em velocidades diferentes.
Objetos do Jogo
• Uma forma de facilitar a escrita do código é criar objetos de
jogo.
• Estes objetos devem prover métodos para criação,
movimentação e rendering.
• Tratar estes objetos com uma lista de objetos básicos
simplifica o código e não afeta a performance.
O Protagonista
Controle
• O controle dos objetos é realizado a partir do loop de eventos.
• Os eventos de teclado são divididos em KEYDOWN e KEYUP.
• Também estão disponíveis eventos de mouse e joystick.
Mostrando Textos
# Desnecessário se você usou pygame.init()
pygame.font.init()
myfont = pygame.font.SysFont('Lucida Sans', 30)
textsurface = myfont.render('Lorem Ipsum', False, (0, 0, 0))
screen.blit(textsurface ,(0,0))
Quão produtivo é o PyGame?
• Sem conhecer o PyGame...
• Precisando viajar a Pelotas...
• Precisando dormir...
• Precisando ministrar uma aula...
• Precisando criar essa palestras...
• Precisando sair com os cachorros...
Em 24h,
com auxílio da Internet,
é possível fazer um jogo
(e essa palestra).
O Antagonista
E Agora?
https://pygame.org
Muito Obrigado!
https://rafaeljeffman.com/tchelinux
https://github.com/rafasgj/tchelinux-code.git
rafasgj@gmail.com

Mais conteúdo relacionado

Semelhante a Desenvolvendo jogos com PyGame - Rafael Jeffman

Intel Perceptual Computing SDK
Intel Perceptual Computing SDKIntel Perceptual Computing SDK
Intel Perceptual Computing SDK
Intel Software Brasil
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
Campus Party Brasil
 
Engine de jogos 2D
Engine de jogos 2DEngine de jogos 2D
Engine de jogos 2D
w_barros
 
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
iMasters
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
Carlos Santos
 
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
Como Fazer Seu Próprio Gameboy -  SpACE UNIFEIComo Fazer Seu Próprio Gameboy -  SpACE UNIFEI
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
Rafael Moreira
 
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
Maico Fernando Wilges Carn
 
Guia xna
Guia xnaGuia xna
Guia xna
Sérgio Barbosa
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGame
Mayron Cachina
 
Presentation ii
Presentation iiPresentation ii
Presentation ii
Priscilla Vasconcelos
 
API para jogos Isométricos
API para jogos IsométricosAPI para jogos Isométricos
API para jogos Isométricos
Michel Felipe
 
Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1
Odair Bonin Borges
 
UTools Unite Brasil
UTools Unite BrasilUTools Unite Brasil
UTools Unite Brasil
Alexandre de Sá
 
Slide blender 3 d apresentação
Slide blender 3 d apresentaçãoSlide blender 3 d apresentação
Slide blender 3 d apresentação
José Nascimento
 
Introdução a Python e Django
Introdução a Python e DjangoIntrodução a Python e Django
Introdução a Python e Django
ledsifes
 
Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...
Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...
Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...
Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
Tchelinux
 
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
Willian Molinari
 
Desenvolvendo Jogos com pygame.
Desenvolvendo Jogos com pygame.Desenvolvendo Jogos com pygame.
Desenvolvendo Jogos com pygame.
Tchelinux
 
Python Multimedia
Python MultimediaPython Multimedia
Python Multimedia
iMasters
 

Semelhante a Desenvolvendo jogos com PyGame - Rafael Jeffman (20)

Intel Perceptual Computing SDK
Intel Perceptual Computing SDKIntel Perceptual Computing SDK
Intel Perceptual Computing SDK
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Engine de jogos 2D
Engine de jogos 2DEngine de jogos 2D
Engine de jogos 2D
 
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
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
Como Fazer Seu Próprio Gameboy -  SpACE UNIFEIComo Fazer Seu Próprio Gameboy -  SpACE UNIFEI
Como Fazer Seu Próprio Gameboy - SpACE UNIFEI
 
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
 
Guia xna
Guia xnaGuia xna
Guia xna
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGame
 
Presentation ii
Presentation iiPresentation ii
Presentation ii
 
API para jogos Isométricos
API para jogos IsométricosAPI para jogos Isométricos
API para jogos Isométricos
 
Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1
 
UTools Unite Brasil
UTools Unite BrasilUTools Unite Brasil
UTools Unite Brasil
 
Slide blender 3 d apresentação
Slide blender 3 d apresentaçãoSlide blender 3 d apresentação
Slide blender 3 d apresentação
 
Introdução a Python e Django
Introdução a Python e DjangoIntrodução a Python e Django
Introdução a Python e Django
 
Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...
Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...
Desenvolvendo Jogos com pygame - Rafael Guterres Jeffman - Tchelinux Caxias d...
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
 
Desenvolvendo Jogos com pygame.
Desenvolvendo Jogos com pygame.Desenvolvendo Jogos com pygame.
Desenvolvendo Jogos com pygame.
 
Python Multimedia
Python MultimediaPython Multimedia
Python Multimedia
 

Mais de Tchelinux

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Tchelinux
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Tchelinux
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Tchelinux
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Tchelinux
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Tchelinux
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
Tchelinux
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Tchelinux
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
Tchelinux
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Tchelinux
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Tchelinux
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Tchelinux
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
Tchelinux
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
Tchelinux
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Tchelinux
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
Tchelinux
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
Tchelinux
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
Tchelinux
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
Tchelinux
 
Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019
Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019
Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019
Tchelinux
 

Mais de Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 
Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019
Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019
Monitoramento com Zabbix - Daniel Lara - Tchelinux Santa Cruz do Sul 2019
 

Último

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (8)

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

Desenvolvendo jogos com PyGame - Rafael Jeffman

  • 1. Desenvolvedo Jogos com PyGame Rafael Guterres Jeffman Tchelinux 2018
  • 2. Por que Jogos? • Daemon Attack • Pitfall • Enduro • River Raid • Decathlon
  • 3. Por que Python? • Expressividade • Simplicidade • Multi-paradigma
  • 4. Por que PyGame? • Abstrai boa parte das ”parada chata”. • Cross-platform (SDL) • Modelo de aplicação simples.
  • 5. O que é e não é PyGame? • É uma biblioteca que auxilia no desenvolvimento de jogos. • Não é um engine de jogos. • É uma coleção de métodos e ferramentas de baixo nível. • Não é para desenvolver o novo FPS 3D a 240fps em 4K. • Mas é bacana para desenvolver jogos 2D...
  • 6. Modelo de Aplicação import sys, pygame pygame.init() # initialize stuff while True: # handle events # update game objects # redraw screen stuff pygame.display.flip()
  • 7. O Projeto • Um diretório media onde serão armazenados os arquivos de mídia do jogo, com subdiretórios para sons, imagens, vídeos. • Um diretório features, afinal, você vai usar o behave • O seu código, bem organizado...
  • 8. Side Scrolling Shot’em Up Sua nave foi transportada para o quadrante gamma, no meio das hordas inimigas, durante a Guerra do Infinito. Sua missão, aceite ou não, é destruir todos os inimigos.
  • 9. A Tela da Aplicação • PyGame utiliza SDL para o gerenciamento da janela. • Deve ser definido o tamanho da janela na sua criação. • Flags podem ser utilizados para configurar a tela. size = width, height = (800, 600) flags = pygame.FULLSCREEN screen = pygame.display.set_mode(size, flags)
  • 10. Cenários • PyGame não tem o conceito de engine, logo, o cenário também é parte do código. • O cenário pode ser criado a partir de um procedimento. • Mesmo em um ambiente 2D, é possível trazer uma sensação de profundidade. • Para criar o efeito de parallax, você deve criar planos que se movimentam em velocidades diferentes.
  • 11. Objetos do Jogo • Uma forma de facilitar a escrita do código é criar objetos de jogo. • Estes objetos devem prover métodos para criação, movimentação e rendering. • Tratar estes objetos com uma lista de objetos básicos simplifica o código e não afeta a performance.
  • 13. Controle • O controle dos objetos é realizado a partir do loop de eventos. • Os eventos de teclado são divididos em KEYDOWN e KEYUP. • Também estão disponíveis eventos de mouse e joystick.
  • 14. Mostrando Textos # Desnecessário se você usou pygame.init() pygame.font.init() myfont = pygame.font.SysFont('Lucida Sans', 30) textsurface = myfont.render('Lorem Ipsum', False, (0, 0, 0)) screen.blit(textsurface ,(0,0))
  • 15. Quão produtivo é o PyGame? • Sem conhecer o PyGame... • Precisando viajar a Pelotas... • Precisando dormir... • Precisando ministrar uma aula... • Precisando criar essa palestras... • Precisando sair com os cachorros...
  • 16. Em 24h, com auxílio da Internet, é possível fazer um jogo (e essa palestra).