SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
E Dá Para Desenvolver
Webgames com Django?
      Guilherme Medeiros
      http://frenetic.com.br
      @frenetic_br
TL;DR




Dá
Obrigado ;)
Dúvidas???
Entendendo
   Jogos
O Que É Um Jogo?
●   O jogo é um desafio
    –   Composto por um conjunto de regras
●   Pode ser multi-jogador
●   Pode ser em tempo real
●   Pode ser saudável
●   Pode precisar de objetos reais e
    imaginação
Paciência
●   Um único jogador
●   Regras simples
●   Baseado em turnos
●   Precisa do uso de um baralho ou de um
    computador
●   É mais divertido se jogado durante o
    expediente
Biziu-biziu
●   Jogo multiplayer
●   Só tem uma regra
    –   Para provar que jogos podem ser simples
●   Não precisa de objetos, basta ter pessoas
●   É um grande desafio ficar em silêncio
●   O perdedor vai ter um orifício explodido
    –   Olha a imaginação ai
●   Todo mundo se diverte ao gritar BOOOM
Sensou
Zenzou
Mancha
Cessou
 Parou
 Estilei
Regras nem sempre são regras
●   Alguns jogos possuem regras mutáveis
    –   Na verdade, isso é coisa de estilão
●   Nestes casos a maioria dos jogadores opta
    por aceitar ou não a “estilada”
Jogos nem sempre são divertidos
●   Bom, jogos são divertidos.
    –   Só quem perde é que não gosta
●   O jogo da “cumadi fulô”
Jogos nem sempre são saudáveis
●   FutePorrada
    –   Porradobol, lapadobol
●   Pedra-papel-tesoura-porrada
    –   O bom é ganhar com a pedra quando o n00b
        usa a tesoura
●   Xadres russo
    –   5 minutos de boxe, 1 gole de vodka e 5
        minutos de xadres. Repete até
Jogos e WEB
Tudo começou a um tempo atrás
●   Nerds queriam jogar Xadrez à distância
    –   Forum BBC
    –   Xadrez via email
    –   Xadrez via ICQ
    –   Xadrez via programas
    –   Xadrez via websites.
E ai a idéia cresceu
●   Damas na web (pros n00bs)
●   Jogo da velha
●   MUDs
    –   Parou sua evolução no Telnet, mas é o pais
        dos jogos de RPG
●   The Waving Hands (spellBinder)
E categorias de webgames se
              formaram
●   Jogos de estratégia
        ●   Ogame, Travian, Planetarion, Ikarian, GuerrasKhan
             –   No Brasil: Meteorus

●   Jogos de RPG
        ●   GreenDragon, MafiaWars, BaraFranca, F1Race
●   Jogo de 'ville'
        ●   Farmville, cityville, zooville
●   Tem mais, mas eu esqueci :D
Webgames e dispositivos
●   No navegador
    –   Html, CSS, Js, json
    –   Plugins do flash
●   No mobile
    –   App dedicado a plataforma
    –   Site adapdato para navegadores móveis
App mobile é webgame? WTF?!
●   Você quer o simples e funcional
     –   Requisições http estão na sdk de qualquer
         plataforma
     –   Todo mundo sabe como funciona http
     –   Não precisa escrever sockets e datagramas
     –   Fica mais fácil no lado do servidor. Afinal, um
         servidor http é MOLESA com Django
          ●   E no servidor você só se preocupa com a API
Jogos e o Tempo Real
●   Simulado
    –   Auto refresh da página
    –   Requisições AJAX de tempos em tempos
●   Tempo Real, mas bem real mesmo
    –   WebSockets
Que diabé websocket?
●   É um socket de internet
         ●   Uma conexão full duplex
●   Entre o navegador web e o servidor web
    –   Na verdade qualquer cliente que fale HTTP
●   Utiliza o protocolo HTTP para estabelecer a
    conexão
●   Após a conexão, a troca de dados é em
    tempo real
Browser Quest
●   Jogo open source desenvolvido pela
    Mozilla para demonstrar o uso de
    websockets + html5 no desenvolvimento de
    um RPG.
    –   http://browserquest.mozilla.org
    –   http://hacks.mozilla.org/2012/03/browserquest/
MAS CADE O DJANGO?
Django
●   Python
●   Um conjunto de bibliotecas e facilidades
●   Amplamente testado
●   Uma comunidade forte
●   Tem um monte de artigo no google
    –   E no StackOverFlow
●   Plugins e bibliotecas feitas pela
    comunidade
●   É fácil pra [insert palavrão aqui]
É bom mesmo?
●   O objetivo do Django é fazer com que o
    programador se preocupe em desenvolver a
    lógica do código e não as classes básicas
    –   Urls amigáveis
    –   Multi banco de dados (sem escrever sql)
    –   Controle de sessão
    –   Painel de administração
    –   Formulários inteligentes
    –   E muito mais!!!1!!111!umonzeonzeum!
Django-Wars
●   O principal objetivo desta palestra
    –   Um clone do jogo Mafia Wars
●   Feito em Django
●   Desenvolvido para ser um tutorial de como
    desenvolver um webgame em Django
    –   Ensinando a pensar cada etapa
    –   Ensinando a programar cada etapa
Django Wars
●   Tutoriais em:
    –   http://blog.frenetic.com.br/django-wars/
●   Código fonte em:
    –   https://github.com/frenetic/django-wars
●   Ainda não foi concluído
    –   Mas falta pouco!
●   Precisa de feedback!!!!
    –   Que tal entrar no grupo do PUG-PE no google
        e discutir comigo?
OUTROS CASOS DE JOGOS
●   Quero desenvolver um jogo para aprender
    –   Django
    –   Como desenvolver um jogo
    –   Aprender a ficar rico :D
●   Que tal desenvolver um jogo da velha
    multiplayer???
    –   É um jogo simples
    –   As regras são faceis de implementar
    –   É fácil encontrar alguém que queira testar
        (jogar) com você
    –   -DJANGO DA VELHA!
AJUDA NUNCA É DEMAIS
Um social webgame
●   Django faz!
    –   Com uma pequena mãozinha
         ●   Django-social-auth
         ●   Django-social-registration
         ●   Django-facebook-connect
         ●   Django-facebook-oauth
         ●   Tem mais bibliotecas, só escolher uma
Websocket de Forma Fácil
●   Pusher
    –   http://pusher.com/
    –   Para quem quer se preocupar apenas com a
        lógica da aplicação
    –   É de confiança
         ●   Getglue usa
         ●   SlideShare usa
         ●   Codr.cc usa
Websocket vs Pusher
Websocket vs Pusher
É SÓ ISSO =/
●   Mas a gente pode conversar mais AGORA!
    –   Perguntem!!!!!
●   A gente pode conversar mais já já
    –   No coffee-break a gente troca idéias
         ●   Podemos pensar em algo juntos
         ●   Vocês podem me ajudar com o Django-wars
             (designer needed)
●   Podemos conversar mais tarde
    –   PUG-PE no google groups
Eu, eu mesmo, e o Django
●   O Django-wars:
    –   https://github.com/frenetic/django-wars
    –   http://blog.frenetic.com.br/django-wars/
    –   Feedback, preciso!
         ●   Ajuda também :D
●   Bjo do gordo o/

Mais conteúdo relacionado

Mais procurados

Anexo ii laudo de vistoria de engenharia revisado 23 03-2011
Anexo ii laudo de vistoria de engenharia revisado 23 03-2011Anexo ii laudo de vistoria de engenharia revisado 23 03-2011
Anexo ii laudo de vistoria de engenharia revisado 23 03-2011
Paulo H Bueno
 
Projeto cinema no bairro para salvador
Projeto cinema no bairro para salvadorProjeto cinema no bairro para salvador
Projeto cinema no bairro para salvador
reinaldosantosI
 
Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo
Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo
Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo
Ivete Diniz
 
Manual trocador de_calor
Manual trocador de_calorManual trocador de_calor
Manual trocador de_calor
Cocab Pools
 
Nbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vida
Nbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vidaNbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vida
Nbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vida
Paulo H Bueno
 

Mais procurados (20)

59 desenhos e linhas pontilhadas
59 desenhos e linhas pontilhadas59 desenhos e linhas pontilhadas
59 desenhos e linhas pontilhadas
 
Apostila unip
Apostila unipApostila unip
Apostila unip
 
Relatorio final pronto!
Relatorio final pronto!Relatorio final pronto!
Relatorio final pronto!
 
Apostila a casa de simone helen drumond
Apostila a casa de simone helen drumondApostila a casa de simone helen drumond
Apostila a casa de simone helen drumond
 
Anexo ii laudo de vistoria de engenharia revisado 23 03-2011
Anexo ii laudo de vistoria de engenharia revisado 23 03-2011Anexo ii laudo de vistoria de engenharia revisado 23 03-2011
Anexo ii laudo de vistoria de engenharia revisado 23 03-2011
 
FICHA DE CONTROLE DO NÍVEL DE ESCRITA
FICHA DE CONTROLE DO NÍVEL DE ESCRITAFICHA DE CONTROLE DO NÍVEL DE ESCRITA
FICHA DE CONTROLE DO NÍVEL DE ESCRITA
 
Projeto cinema no bairro para salvador
Projeto cinema no bairro para salvadorProjeto cinema no bairro para salvador
Projeto cinema no bairro para salvador
 
Alice no país das maravilhas história e atividades
Alice no país das maravilhas história e atividadesAlice no país das maravilhas história e atividades
Alice no país das maravilhas história e atividades
 
Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo
Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo
Projeto Multidisciplinar sobre o Dia Mundial da Conscientização do Autismo
 
relatório da educação especial-estágio
relatório da educação especial-estágiorelatório da educação especial-estágio
relatório da educação especial-estágio
 
História do alfabeto
História do alfabetoHistória do alfabeto
História do alfabeto
 
Relatório Final de Curso - Estágio em Técnico em Edificações
Relatório Final de Curso - Estágio em Técnico em EdificaçõesRelatório Final de Curso - Estágio em Técnico em Edificações
Relatório Final de Curso - Estágio em Técnico em Edificações
 
Ludico como processo de aprendizagem da criança
Ludico como processo de aprendizagem da criança   Ludico como processo de aprendizagem da criança
Ludico como processo de aprendizagem da criança
 
Manual trocador de_calor
Manual trocador de_calorManual trocador de_calor
Manual trocador de_calor
 
Nbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vida
Nbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vidaNbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vida
Nbr 5419-3-2015-danos-fisicos-a-estrutura-e-perigo-a-vida
 
O lúdico na construção da aprendizagem para autistas
O lúdico na construção da aprendizagem para autistasO lúdico na construção da aprendizagem para autistas
O lúdico na construção da aprendizagem para autistas
 
Projeto de leitura de imagens
Projeto de leitura de imagensProjeto de leitura de imagens
Projeto de leitura de imagens
 
Jogos pedagógicos com reciclagem - PROFESSORA VALDETE CANTU
Jogos pedagógicos com reciclagem - PROFESSORA VALDETE CANTUJogos pedagógicos com reciclagem - PROFESSORA VALDETE CANTU
Jogos pedagógicos com reciclagem - PROFESSORA VALDETE CANTU
 
Tcc - O lúdico na aprendizagem escolar
Tcc - O lúdico na aprendizagem escolar Tcc - O lúdico na aprendizagem escolar
Tcc - O lúdico na aprendizagem escolar
 
Modelo de-relatorio-neuropsicopedagogico (1)
Modelo de-relatorio-neuropsicopedagogico (1)Modelo de-relatorio-neuropsicopedagogico (1)
Modelo de-relatorio-neuropsicopedagogico (1)
 

Destaque

E o que danado é o PUG-PE?
E o que danado é o PUG-PE?E o que danado é o PUG-PE?
E o que danado é o PUG-PE?
pugpe
 
Tdd not sure if testing or developing
Tdd  not sure if testing or developingTdd  not sure if testing or developing
Tdd not sure if testing or developing
Renato Oliveira
 
NoSQL com Cassandra e Python
NoSQL com Cassandra e PythonNoSQL com Cassandra e Python
NoSQL com Cassandra e Python
pugpe
 

Destaque (20)

[2012] XIX PUGPE - Projeto Amadeus
[2012] XIX PUGPE -  Projeto Amadeus[2012] XIX PUGPE -  Projeto Amadeus
[2012] XIX PUGPE - Projeto Amadeus
 
E o que danado é o PUG-PE?
E o que danado é o PUG-PE?E o que danado é o PUG-PE?
E o que danado é o PUG-PE?
 
XIX PUG-PE - Pygame game development
XIX PUG-PE - Pygame game developmentXIX PUG-PE - Pygame game development
XIX PUG-PE - Pygame game development
 
Lp script pug-pe
Lp script pug-peLp script pug-pe
Lp script pug-pe
 
Palestra Institucional PUG-PE
Palestra Institucional PUG-PEPalestra Institucional PUG-PE
Palestra Institucional PUG-PE
 
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPEMini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
Mini-Curso de Python dia 21/03 (Segunda-Feira) no II Workshop de SL do CIN/UFPE
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Com vocês, Django!
Com vocês, Django!Com vocês, Django!
Com vocês, Django!
 
Tdd not sure if testing or developing
Tdd  not sure if testing or developingTdd  not sure if testing or developing
Tdd not sure if testing or developing
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
TDC2016SP - Flask para Web
TDC2016SP - Flask para WebTDC2016SP - Flask para Web
TDC2016SP - Flask para Web
 
TDC2016SP - Luiza Labs - Migrando .NET p/ Python
TDC2016SP - Luiza Labs - Migrando .NET p/ PythonTDC2016SP - Luiza Labs - Migrando .NET p/ Python
TDC2016SP - Luiza Labs - Migrando .NET p/ Python
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Python, A pílula Azul da programação
Python, A pílula Azul da programaçãoPython, A pílula Azul da programação
Python, A pílula Azul da programação
 
Devcommerce 2016: Migração plataforma Magazine Luiza e seu laboratório de in...
Devcommerce 2016: Migração plataforma Magazine Luiza e seu  laboratório de in...Devcommerce 2016: Migração plataforma Magazine Luiza e seu  laboratório de in...
Devcommerce 2016: Migração plataforma Magazine Luiza e seu laboratório de in...
 
NoSQL com Cassandra e Python
NoSQL com Cassandra e PythonNoSQL com Cassandra e Python
NoSQL com Cassandra e Python
 
Peça seu código em casamento: Votos, Tópicos e TDD
Peça seu código em casamento: Votos, Tópicos e TDDPeça seu código em casamento: Votos, Tópicos e TDD
Peça seu código em casamento: Votos, Tópicos e TDD
 
Python e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMMPython e Cadeias de Markov GHMM
Python e Cadeias de Markov GHMM
 
Pug
PugPug
Pug
 

Semelhante a E dá para desenvolver webgames com Django?

Platinum Arts Sandbox - Game Maker
Platinum Arts Sandbox - Game MakerPlatinum Arts Sandbox - Game Maker
Platinum Arts Sandbox - Game Maker
flisolmaringa
 
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
 
1ª madrugada de testes net coders coding dojo
1ª madrugada de testes net coders   coding dojo1ª madrugada de testes net coders   coding dojo
1ª madrugada de testes net coders coding dojo
Priscila Mayumi
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)
Luiz Nörnberg
 
LabMM 3: Documentação de planificação
LabMM 3: Documentação de planificaçãoLabMM 3: Documentação de planificação
LabMM 3: Documentação de planificação
Carlos Santos
 
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
Carlos Santos
 

Semelhante a E dá para desenvolver webgames com Django? (20)

Aquecimento Global Game Jam Curitiba 2014
Aquecimento Global Game Jam Curitiba 2014Aquecimento Global Game Jam Curitiba 2014
Aquecimento Global Game Jam Curitiba 2014
 
Unite 2014 - Usando a Unity em Game Jams
Unite 2014 - Usando a Unity em Game JamsUnite 2014 - Usando a Unity em Game Jams
Unite 2014 - Usando a Unity em Game Jams
 
graoJS - A full stack MVC NodeJS framework
graoJS - A full stack MVC NodeJS frameworkgraoJS - A full stack MVC NodeJS framework
graoJS - A full stack MVC NodeJS framework
 
It's all about the game
It's all about the gameIt's all about the game
It's all about the game
 
Platinum Arts Sandbox - Game Maker
Platinum Arts Sandbox - Game MakerPlatinum Arts Sandbox - Game Maker
Platinum Arts Sandbox - Game Maker
 
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
 
Yo! Geradores modernos com Yeoman!
Yo! Geradores modernos com Yeoman!Yo! Geradores modernos com Yeoman!
Yo! Geradores modernos com Yeoman!
 
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
 
Programação Orientada a Gambiarra
Programação Orientada a GambiarraProgramação Orientada a Gambiarra
Programação Orientada a Gambiarra
 
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
 
1ª madrugada de testes net coders coding dojo
1ª madrugada de testes net coders   coding dojo1ª madrugada de testes net coders   coding dojo
1ª madrugada de testes net coders coding dojo
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)
 
LabMM 3: Documentação de planificação
LabMM 3: Documentação de planificaçãoLabMM 3: Documentação de planificação
LabMM 3: Documentação de planificação
 
Unity3d dev in
Unity3d dev inUnity3d dev in
Unity3d dev in
 
Html5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsawHtml5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsaw
 
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
 
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
 
Horizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localHorizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer local
 
JavaScript Firme: Módulos com RequireJS e BDD com Jasmine
JavaScript Firme: Módulos com RequireJS e BDD com JasmineJavaScript Firme: Módulos com RequireJS e BDD com Jasmine
JavaScript Firme: Módulos com RequireJS e BDD com Jasmine
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
 

E dá para desenvolver webgames com Django?

  • 1. E Dá Para Desenvolver Webgames com Django? Guilherme Medeiros http://frenetic.com.br @frenetic_br
  • 4. Entendendo Jogos
  • 5. O Que É Um Jogo? ● O jogo é um desafio – Composto por um conjunto de regras ● Pode ser multi-jogador ● Pode ser em tempo real ● Pode ser saudável ● Pode precisar de objetos reais e imaginação
  • 6. Paciência ● Um único jogador ● Regras simples ● Baseado em turnos ● Precisa do uso de um baralho ou de um computador ● É mais divertido se jogado durante o expediente
  • 7. Biziu-biziu ● Jogo multiplayer ● Só tem uma regra – Para provar que jogos podem ser simples ● Não precisa de objetos, basta ter pessoas ● É um grande desafio ficar em silêncio ● O perdedor vai ter um orifício explodido – Olha a imaginação ai ● Todo mundo se diverte ao gritar BOOOM
  • 9. Regras nem sempre são regras ● Alguns jogos possuem regras mutáveis – Na verdade, isso é coisa de estilão ● Nestes casos a maioria dos jogadores opta por aceitar ou não a “estilada”
  • 10. Jogos nem sempre são divertidos ● Bom, jogos são divertidos. – Só quem perde é que não gosta ● O jogo da “cumadi fulô”
  • 11. Jogos nem sempre são saudáveis ● FutePorrada – Porradobol, lapadobol ● Pedra-papel-tesoura-porrada – O bom é ganhar com a pedra quando o n00b usa a tesoura ● Xadres russo – 5 minutos de boxe, 1 gole de vodka e 5 minutos de xadres. Repete até
  • 13. Tudo começou a um tempo atrás ● Nerds queriam jogar Xadrez à distância – Forum BBC – Xadrez via email – Xadrez via ICQ – Xadrez via programas – Xadrez via websites.
  • 14. E ai a idéia cresceu ● Damas na web (pros n00bs) ● Jogo da velha ● MUDs – Parou sua evolução no Telnet, mas é o pais dos jogos de RPG ● The Waving Hands (spellBinder)
  • 15. E categorias de webgames se formaram ● Jogos de estratégia ● Ogame, Travian, Planetarion, Ikarian, GuerrasKhan – No Brasil: Meteorus ● Jogos de RPG ● GreenDragon, MafiaWars, BaraFranca, F1Race ● Jogo de 'ville' ● Farmville, cityville, zooville ● Tem mais, mas eu esqueci :D
  • 16. Webgames e dispositivos ● No navegador – Html, CSS, Js, json – Plugins do flash ● No mobile – App dedicado a plataforma – Site adapdato para navegadores móveis
  • 17. App mobile é webgame? WTF?! ● Você quer o simples e funcional – Requisições http estão na sdk de qualquer plataforma – Todo mundo sabe como funciona http – Não precisa escrever sockets e datagramas – Fica mais fácil no lado do servidor. Afinal, um servidor http é MOLESA com Django ● E no servidor você só se preocupa com a API
  • 18.
  • 19.
  • 20.
  • 21. Jogos e o Tempo Real ● Simulado – Auto refresh da página – Requisições AJAX de tempos em tempos ● Tempo Real, mas bem real mesmo – WebSockets
  • 22. Que diabé websocket? ● É um socket de internet ● Uma conexão full duplex ● Entre o navegador web e o servidor web – Na verdade qualquer cliente que fale HTTP ● Utiliza o protocolo HTTP para estabelecer a conexão ● Após a conexão, a troca de dados é em tempo real
  • 23. Browser Quest ● Jogo open source desenvolvido pela Mozilla para demonstrar o uso de websockets + html5 no desenvolvimento de um RPG. – http://browserquest.mozilla.org – http://hacks.mozilla.org/2012/03/browserquest/
  • 24. MAS CADE O DJANGO?
  • 25. Django ● Python ● Um conjunto de bibliotecas e facilidades ● Amplamente testado ● Uma comunidade forte ● Tem um monte de artigo no google – E no StackOverFlow ● Plugins e bibliotecas feitas pela comunidade ● É fácil pra [insert palavrão aqui]
  • 26. É bom mesmo? ● O objetivo do Django é fazer com que o programador se preocupe em desenvolver a lógica do código e não as classes básicas – Urls amigáveis – Multi banco de dados (sem escrever sql) – Controle de sessão – Painel de administração – Formulários inteligentes – E muito mais!!!1!!111!umonzeonzeum!
  • 27. Django-Wars ● O principal objetivo desta palestra – Um clone do jogo Mafia Wars ● Feito em Django ● Desenvolvido para ser um tutorial de como desenvolver um webgame em Django – Ensinando a pensar cada etapa – Ensinando a programar cada etapa
  • 28. Django Wars ● Tutoriais em: – http://blog.frenetic.com.br/django-wars/ ● Código fonte em: – https://github.com/frenetic/django-wars ● Ainda não foi concluído – Mas falta pouco! ● Precisa de feedback!!!! – Que tal entrar no grupo do PUG-PE no google e discutir comigo?
  • 30. Quero desenvolver um jogo para aprender – Django – Como desenvolver um jogo – Aprender a ficar rico :D ● Que tal desenvolver um jogo da velha multiplayer??? – É um jogo simples – As regras são faceis de implementar – É fácil encontrar alguém que queira testar (jogar) com você – -DJANGO DA VELHA!
  • 31. AJUDA NUNCA É DEMAIS
  • 32. Um social webgame ● Django faz! – Com uma pequena mãozinha ● Django-social-auth ● Django-social-registration ● Django-facebook-connect ● Django-facebook-oauth ● Tem mais bibliotecas, só escolher uma
  • 33. Websocket de Forma Fácil ● Pusher – http://pusher.com/ – Para quem quer se preocupar apenas com a lógica da aplicação – É de confiança ● Getglue usa ● SlideShare usa ● Codr.cc usa
  • 36.
  • 37. É SÓ ISSO =/ ● Mas a gente pode conversar mais AGORA! – Perguntem!!!!! ● A gente pode conversar mais já já – No coffee-break a gente troca idéias ● Podemos pensar em algo juntos ● Vocês podem me ajudar com o Django-wars (designer needed) ● Podemos conversar mais tarde – PUG-PE no google groups
  • 38. Eu, eu mesmo, e o Django ● O Django-wars: – https://github.com/frenetic/django-wars – http://blog.frenetic.com.br/django-wars/ – Feedback, preciso! ● Ajuda também :D ● Bjo do gordo o/