SlideShare une entreprise Scribd logo
1  sur  32
Python e Games
Python Brasil 11
2015
Quem sou eu
● Julio Cesar Eiras Melanda
● Pythonista desde 2007
● Universidade Federal de Itajubá
● Toptal
● Programe em Python
– http://programeempython.com.br
● Desenvolvimento web, cursos de
programação, entusiasta de
desenvolvimento de jogos
10/11/2015 Python Brasil 11 3
Usos de Python em jogos
● Jogo em si
● Scripting
● Servidor
10/11/2015 Python Brasil 11 4
Jogos que usam Python
● Frets on Fire (Pygame + PyOpenGL)
● EVE Online (Stackless Python)
● Disney's Pirates of the Caribbean Online
(Panda 3D)
● Battlefield 2 e 2142 (lógica e controles)
● Fonte:
https://wiki.python.org/moin/PythonGames
10/11/2015 Python Brasil 11 5
Como criar jogos com Python
● Bibliotecas gráficas (TkInter, PyQt5, PyGTK)
● Game Engines (Pygame, Cocos2d, Pyglet)
● Game servers (Flask, Bottle, Falcon, Django)
10/11/2015 Python Brasil 11 6
Game Engines
● Abstraem conceitos importantes do
funcionamento de jogos para simplificar o
desenvolvimento
● Framework gráfico
● Biblioteca de física
10/11/2015 Python Brasil 11 7
Pygame
https://www.pygame.org
10/11/2015 Python Brasil 11 8
Pygame
● Usa SDL
● Não depende de OpenGL
● Não força uso de classes e orientação a objetos
● Suporta múltiplos backends gráficos (opengl, directx,
windib, x11, linux frame buffer, ASCI Art)
● Multicore (libera o infame GIL)
● Python 2 e 3
● Pode ser usada só como engine junto a outras engines
gráficas, como pyglet por exemplo ou PyOpenGL
10/11/2015 Python Brasil 11 9
Pygame
● Frets on fire
● Arena Game Show Shooter
● Dark Gates (steam!)
10/11/2015 Python Brasil 11 10
Cocos2D
http://python.cocos2d.org/
10/11/2015 Python Brasil 11 11
Cocos2D
● Cocos2D original, foi o que começou a
biblioteca
● Baseado em Pyglet e OpenGL
● Força um pouco o uso de classes
● Usa conceitos como diretor, cena, camada para
modelar entidades do jogo.
● Python 2 e 3
10/11/2015 Python Brasil 11 12
Cocos2D
● Tetrico
● Port inicial Arena Game Show Shooter
10/11/2015 Python Brasil 11 13
Ren'Py
http://www.renpy.org/
10/11/2015 Python Brasil 11 14
Ren'Py
● Visual Novels e Simulações
● Cross plataforma – Computador e mobile
● Linguagem de script própria para storytelling
mais linear
● Python para lógicas mais complexas
● Fácil de customizar
10/11/2015 Python Brasil 11 15
Ren'Py
● Icebound (Steam)
10/11/2015 Python Brasil 11 16
Panda3D
https://www.panda3d.org/
10/11/2015 Python Brasil 11 17
Panda3D
● Python e C++
● Criado para uso da Disney
● Uso direto de funções gráficas mais avançadas
como shaders, por exemplo
● Importa de Maya, 3DS Max e Blender
● Biblioteca de Física inclusa (PhysX)
● Sistemas de particulas
● IA simples
10/11/2015 Python Brasil 11 18
Panda3D
● Airblade (demo online)
● Angels Fall First: The Second Antarean War
● Disney's Pirates of the Caribbean Online
10/11/2015 Python Brasil 11 19
Blender Game Engine
https://www.blender.org/
10/11/2015 Python Brasil 11 20
Blender Game Engine
● Audio 3D com OpenAL
● Exporta os modelos para outras engines
● Integrado com Física de balística
● Python para controle avançado e IA
● Roda jogos dentro do Blender sem precisar
compilar
10/11/2015 Python Brasil 11 21
Blender Game Engine
● Yo Frankie!
● Super Blender Galaxy
10/11/2015 Python Brasil 11 22
Pyglet
https://bitbucket.org/pyglet/pyglet/wiki/Home
10/11/2015 Python Brasil 11 23
Pyglet
● Sem dependências externas
● Usa multiplos monitores facilmente
● É uma biblioteca de multimedia e “windowing”
que pode ser usada para criação de jogos
● Muitas vezes usada com Pygame
10/11/2015 Python Brasil 11 24
Pyglet
● Clone simples de Minecraft
10/11/2015 Python Brasil 11 25
Fife Engine
http://www.fifengine.net/
10/11/2015 Python Brasil 11 26
Fife Engine
● Jogos de ROG e RTS, 2.5D
● Audio em OGG
● Editor de Mapas
● Editor de Atlas de imagens
● Console in game com suporte a python/scripts
● SDL ou OpenGL
10/11/2015 Python Brasil 11 27
● Zero-Projekt
● Unknown Horizons
10/11/2015 Python Brasil 11 28
Kivy
http://kivy.org/
10/11/2015 Python Brasil 11 29
Kivy
● Cross Plataforma
● Usa GPU
● Multitouch
● Cria jogo Mobile com Python
● Começou rodando sobre Pygame, hoje usa
SDL diretamente
10/11/2015 Python Brasil 11 30
Kivy
● Defletouch
● Fishlife
● Memory Kivy
10/11/2015 Python Brasil 11 31
Onde trabalhar
● Empresas que tem vagas que pedem Python
como linguagem de scripting
– Unreal
– Crytek
– Activision
– Blizzard
– EA
● A sua empresa!
10/11/2015 Python Brasil 11 32
Duvidas?

Contenu connexe

Tendances

Desenvolvendo games com ferramentas livres
Desenvolvendo games com ferramentas livresDesenvolvendo games com ferramentas livres
Desenvolvendo games com ferramentas livresRelsi Maron
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubBruno Orlandi
 
Desenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com QtDesenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com QtSandro Andrade
 
Ambiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MAAmbiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MALucas Souto
 
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Sandro Andrade
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaFrederico Maia Arantes
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileFrederico Maia Arantes
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaSandro Andrade
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webEvaldo Junior
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e PythonÁlvaro Justen
 
Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Bryan Ollivie
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidGDGFoz
 
Desenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e DjangoDesenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e DjangoBruno Barbosa
 
Scrum Gathering Rio 2014
Scrum Gathering Rio 2014Scrum Gathering Rio 2014
Scrum Gathering Rio 2014Victor Pantoja
 

Tendances (20)

Desenvolvendo games com ferramentas livres
Desenvolvendo games com ferramentas livresDesenvolvendo games com ferramentas livres
Desenvolvendo games com ferramentas livres
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHub
 
O ecossistema android
O ecossistema androidO ecossistema android
O ecossistema android
 
Desenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com QtDesenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com Qt
 
Ambiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MAAmbiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MA
 
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
 
Git para Designers
Git para DesignersGit para Designers
Git para Designers
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE Plasma
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento web
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e Python
 
Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.
 
O KDE no mundo
O KDE no mundoO KDE no mundo
O KDE no mundo
 
Introdução a golang
Introdução a golangIntrodução a golang
Introdução a golang
 
Minicurso Git
Minicurso GitMinicurso Git
Minicurso Git
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e Android
 
Conhecendo Go
Conhecendo GoConhecendo Go
Conhecendo Go
 
Desenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e DjangoDesenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e Django
 
Scrum Gathering Rio 2014
Scrum Gathering Rio 2014Scrum Gathering Rio 2014
Scrum Gathering Rio 2014
 

En vedette

Teacher Resources
Teacher ResourcesTeacher Resources
Teacher Resourcesmstovar
 
Spelling PowerPoint
Spelling PowerPoint Spelling PowerPoint
Spelling PowerPoint againes
 
Computação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em StickersComputação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em StickersMarcos Castro
 
Grafos De Bruijn para identificação de variações genéticas usando GBS
Grafos De Bruijn para identificação de variações genéticas usando GBSGrafos De Bruijn para identificação de variações genéticas usando GBS
Grafos De Bruijn para identificação de variações genéticas usando GBSMarcos Castro
 
qt-project.org and Qt 5
qt-project.org and Qt 5qt-project.org and Qt 5
qt-project.org and Qt 5thiagomacieira
 
Bioinformática com Rosalind utilizando Python
Bioinformática com Rosalind utilizando PythonBioinformática com Rosalind utilizando Python
Bioinformática com Rosalind utilizando PythonMarcos Castro
 
Aprendizagem Supervisionada I
Aprendizagem Supervisionada IAprendizagem Supervisionada I
Aprendizagem Supervisionada ILuís Nunes
 
Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Marcos Castro
 
Algoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMPAlgoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMPMarcos Castro
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de ProgramaçãoMarcos Castro
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Marcos Castro
 
Árvores de Decisão
Árvores de DecisãoÁrvores de Decisão
Árvores de DecisãoMarcos Castro
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais ArtificiaisMarcos Castro
 
Caminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de DijkstraCaminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de DijkstraMarcos Castro
 
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STLMarcos Castro
 

En vedette (20)

Phonics
PhonicsPhonics
Phonics
 
Teacher Resources
Teacher ResourcesTeacher Resources
Teacher Resources
 
Spelling PowerPoint
Spelling PowerPoint Spelling PowerPoint
Spelling PowerPoint
 
Velvet assembler
Velvet assemblerVelvet assembler
Velvet assembler
 
Computação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em StickersComputação com DNA - Modelo baseado em Stickers
Computação com DNA - Modelo baseado em Stickers
 
Grafos De Bruijn para identificação de variações genéticas usando GBS
Grafos De Bruijn para identificação de variações genéticas usando GBSGrafos De Bruijn para identificação de variações genéticas usando GBS
Grafos De Bruijn para identificação de variações genéticas usando GBS
 
qt-project.org and Qt 5
qt-project.org and Qt 5qt-project.org and Qt 5
qt-project.org and Qt 5
 
Bioinformática com Rosalind utilizando Python
Bioinformática com Rosalind utilizando PythonBioinformática com Rosalind utilizando Python
Bioinformática com Rosalind utilizando Python
 
Aprendizagem Supervisionada I
Aprendizagem Supervisionada IAprendizagem Supervisionada I
Aprendizagem Supervisionada I
 
Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)
 
Algoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMPAlgoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMP
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
IDE Falcon C++
IDE Falcon C++IDE Falcon C++
IDE Falcon C++
 
Árvores de Decisão
Árvores de DecisãoÁrvores de Decisão
Árvores de Decisão
 
Qt Apresentação
Qt ApresentaçãoQt Apresentação
Qt Apresentação
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Caminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de DijkstraCaminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de Dijkstra
 
Apostila ferramentas QT
Apostila ferramentas QTApostila ferramentas QT
Apostila ferramentas QT
 
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
 

Similaire à Apresentação Python e Games - Python Brasil 11 - 2015

Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidMaurílio Silva
 
Ferramentas de Apoio ao Desenvolvimento de Software
Ferramentas de Apoio ao Desenvolvimento de SoftwareFerramentas de Apoio ao Desenvolvimento de Software
Ferramentas de Apoio ao Desenvolvimento de SoftwareComunidade NetPonto
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Felipe Pedroso
 
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
 
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...Cicero Joasyo Mateus de Moura
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaÁlvaro Justen
 
E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?Guilherme Medeiros
 
Horizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localHorizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localBruno Ferreira
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGameMayron Cachina
 
HP Touchpad: O "hack tablet".
HP Touchpad: O "hack tablet".HP Touchpad: O "hack tablet".
HP Touchpad: O "hack tablet".Ricardo Pinheiro
 
Desenvolvimento de Jogos em Python
Desenvolvimento de Jogos em PythonDesenvolvimento de Jogos em Python
Desenvolvimento de Jogos em PythonAndrews Medina
 
LPUG #11 agenda e community updates - 2020-12-09
LPUG #11   agenda e community updates - 2020-12-09LPUG #11   agenda e community updates - 2020-12-09
LPUG #11 agenda e community updates - 2020-12-09Fernando Fernández
 
Como Fazer Seu Próprio Gameboy - CPBR11
Como Fazer Seu Próprio Gameboy -  CPBR11Como Fazer Seu Próprio Gameboy -  CPBR11
Como Fazer Seu Próprio Gameboy - CPBR11Rafael Moreira
 
Fgsl2012 fabio marques
Fgsl2012 fabio marquesFgsl2012 fabio marques
Fgsl2012 fabio marquesFabio Marques
 

Similaire à Apresentação Python e Games - Python Brasil 11 - 2015 (20)

Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para Android
 
Apresentacao sfd-poa
Apresentacao sfd-poaApresentacao sfd-poa
Apresentacao sfd-poa
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Ferramentas de Apoio ao Desenvolvimento de Software
Ferramentas de Apoio ao Desenvolvimento de SoftwareFerramentas de Apoio ao Desenvolvimento de Software
Ferramentas de Apoio ao Desenvolvimento de Software
 
Hello, Python!
Hello, Python!Hello, Python!
Hello, Python!
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
 
Mobile Game Development.pptx
Mobile Game Development.pptxMobile Game Development.pptx
Mobile Game Development.pptx
 
nodeLHC #secomp2016
nodeLHC #secomp2016nodeLHC #secomp2016
nodeLHC #secomp2016
 
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
 
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?
 
Horizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localHorizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer local
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGame
 
HP Touchpad: O "hack tablet".
HP Touchpad: O "hack tablet".HP Touchpad: O "hack tablet".
HP Touchpad: O "hack tablet".
 
Desenvolvimento de Jogos em Python
Desenvolvimento de Jogos em PythonDesenvolvimento de Jogos em Python
Desenvolvimento de Jogos em Python
 
LPUG #11 agenda e community updates - 2020-12-09
LPUG #11   agenda e community updates - 2020-12-09LPUG #11   agenda e community updates - 2020-12-09
LPUG #11 agenda e community updates - 2020-12-09
 
Como Fazer Seu Próprio Gameboy - CPBR11
Como Fazer Seu Próprio Gameboy -  CPBR11Como Fazer Seu Próprio Gameboy -  CPBR11
Como Fazer Seu Próprio Gameboy - CPBR11
 
Fgsl2012 fabio marques
Fgsl2012 fabio marquesFgsl2012 fabio marques
Fgsl2012 fabio marques
 

Apresentação Python e Games - Python Brasil 11 - 2015

  • 1. Python e Games Python Brasil 11 2015
  • 2. Quem sou eu ● Julio Cesar Eiras Melanda ● Pythonista desde 2007 ● Universidade Federal de Itajubá ● Toptal ● Programe em Python – http://programeempython.com.br ● Desenvolvimento web, cursos de programação, entusiasta de desenvolvimento de jogos
  • 3. 10/11/2015 Python Brasil 11 3 Usos de Python em jogos ● Jogo em si ● Scripting ● Servidor
  • 4. 10/11/2015 Python Brasil 11 4 Jogos que usam Python ● Frets on Fire (Pygame + PyOpenGL) ● EVE Online (Stackless Python) ● Disney's Pirates of the Caribbean Online (Panda 3D) ● Battlefield 2 e 2142 (lógica e controles) ● Fonte: https://wiki.python.org/moin/PythonGames
  • 5. 10/11/2015 Python Brasil 11 5 Como criar jogos com Python ● Bibliotecas gráficas (TkInter, PyQt5, PyGTK) ● Game Engines (Pygame, Cocos2d, Pyglet) ● Game servers (Flask, Bottle, Falcon, Django)
  • 6. 10/11/2015 Python Brasil 11 6 Game Engines ● Abstraem conceitos importantes do funcionamento de jogos para simplificar o desenvolvimento ● Framework gráfico ● Biblioteca de física
  • 7. 10/11/2015 Python Brasil 11 7 Pygame https://www.pygame.org
  • 8. 10/11/2015 Python Brasil 11 8 Pygame ● Usa SDL ● Não depende de OpenGL ● Não força uso de classes e orientação a objetos ● Suporta múltiplos backends gráficos (opengl, directx, windib, x11, linux frame buffer, ASCI Art) ● Multicore (libera o infame GIL) ● Python 2 e 3 ● Pode ser usada só como engine junto a outras engines gráficas, como pyglet por exemplo ou PyOpenGL
  • 9. 10/11/2015 Python Brasil 11 9 Pygame ● Frets on fire ● Arena Game Show Shooter ● Dark Gates (steam!)
  • 10. 10/11/2015 Python Brasil 11 10 Cocos2D http://python.cocos2d.org/
  • 11. 10/11/2015 Python Brasil 11 11 Cocos2D ● Cocos2D original, foi o que começou a biblioteca ● Baseado em Pyglet e OpenGL ● Força um pouco o uso de classes ● Usa conceitos como diretor, cena, camada para modelar entidades do jogo. ● Python 2 e 3
  • 12. 10/11/2015 Python Brasil 11 12 Cocos2D ● Tetrico ● Port inicial Arena Game Show Shooter
  • 13. 10/11/2015 Python Brasil 11 13 Ren'Py http://www.renpy.org/
  • 14. 10/11/2015 Python Brasil 11 14 Ren'Py ● Visual Novels e Simulações ● Cross plataforma – Computador e mobile ● Linguagem de script própria para storytelling mais linear ● Python para lógicas mais complexas ● Fácil de customizar
  • 15. 10/11/2015 Python Brasil 11 15 Ren'Py ● Icebound (Steam)
  • 16. 10/11/2015 Python Brasil 11 16 Panda3D https://www.panda3d.org/
  • 17. 10/11/2015 Python Brasil 11 17 Panda3D ● Python e C++ ● Criado para uso da Disney ● Uso direto de funções gráficas mais avançadas como shaders, por exemplo ● Importa de Maya, 3DS Max e Blender ● Biblioteca de Física inclusa (PhysX) ● Sistemas de particulas ● IA simples
  • 18. 10/11/2015 Python Brasil 11 18 Panda3D ● Airblade (demo online) ● Angels Fall First: The Second Antarean War ● Disney's Pirates of the Caribbean Online
  • 19. 10/11/2015 Python Brasil 11 19 Blender Game Engine https://www.blender.org/
  • 20. 10/11/2015 Python Brasil 11 20 Blender Game Engine ● Audio 3D com OpenAL ● Exporta os modelos para outras engines ● Integrado com Física de balística ● Python para controle avançado e IA ● Roda jogos dentro do Blender sem precisar compilar
  • 21. 10/11/2015 Python Brasil 11 21 Blender Game Engine ● Yo Frankie! ● Super Blender Galaxy
  • 22. 10/11/2015 Python Brasil 11 22 Pyglet https://bitbucket.org/pyglet/pyglet/wiki/Home
  • 23. 10/11/2015 Python Brasil 11 23 Pyglet ● Sem dependências externas ● Usa multiplos monitores facilmente ● É uma biblioteca de multimedia e “windowing” que pode ser usada para criação de jogos ● Muitas vezes usada com Pygame
  • 24. 10/11/2015 Python Brasil 11 24 Pyglet ● Clone simples de Minecraft
  • 25. 10/11/2015 Python Brasil 11 25 Fife Engine http://www.fifengine.net/
  • 26. 10/11/2015 Python Brasil 11 26 Fife Engine ● Jogos de ROG e RTS, 2.5D ● Audio em OGG ● Editor de Mapas ● Editor de Atlas de imagens ● Console in game com suporte a python/scripts ● SDL ou OpenGL
  • 27. 10/11/2015 Python Brasil 11 27 ● Zero-Projekt ● Unknown Horizons
  • 28. 10/11/2015 Python Brasil 11 28 Kivy http://kivy.org/
  • 29. 10/11/2015 Python Brasil 11 29 Kivy ● Cross Plataforma ● Usa GPU ● Multitouch ● Cria jogo Mobile com Python ● Começou rodando sobre Pygame, hoje usa SDL diretamente
  • 30. 10/11/2015 Python Brasil 11 30 Kivy ● Defletouch ● Fishlife ● Memory Kivy
  • 31. 10/11/2015 Python Brasil 11 31 Onde trabalhar ● Empresas que tem vagas que pedem Python como linguagem de scripting – Unreal – Crytek – Activision – Blizzard – EA ● A sua empresa!
  • 32. 10/11/2015 Python Brasil 11 32 Duvidas?