E dá para desenvolver webgames com Django?
-
Upload
guilherme-caraciolo -
Category
Technology
-
view
1.904 -
download
0
description
Transcript of E dá para desenvolver webgames com Django?
![Page 1: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/1.jpg)
E Dá Para Desenvolver Webgames com Django?
Guilherme Medeiroshttp://frenetic.com.br@frenetic_br
![Page 2: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/2.jpg)
TL;DR
Dá
![Page 3: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/3.jpg)
Obrigado ;)Obrigado ;)Dúvidas???
![Page 4: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/4.jpg)
Entendendo Entendendo Jogos
![Page 5: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/5.jpg)
O Que É Um Jogo?
● O jogo é um desafio● O jogo é um desafio
– Composto por um conjunto de regras
● Pode ser multi-jogador
● Pode ser em tempo real
● Pode ser saudável● Pode ser saudável
● Pode precisar de objetos reais e imaginação
![Page 6: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/6.jpg)
Paciência
● Um único jogador● Um único jogador
● Regras simples
● Baseado em turnos
● Precisa do uso de um baralho ou de um computadorcomputador
● É mais divertido se jogado durante o expediente
![Page 7: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/7.jpg)
Biziu-biziu● Jogo multiplayer
● Só tem uma regra● 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● O perdedor vai ter um orifício explodido
– Olha a imaginação ai
● Todo mundo se diverte ao gritar BOOOM
![Page 8: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/8.jpg)
Sensou
ZenzouZenzou
Mancha
Cessou
ParouParou
Estilei
![Page 9: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/9.jpg)
Regras nem sempre são regras
● Alguns jogos possuem regras mutáveis● 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”
![Page 10: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/10.jpg)
Jogos nem sempre são divertidos
● Bom, jogos são divertidos.● Bom, jogos são divertidos.
– Só quem perde é que não gosta
● O jogo da “cumadi fulô”
![Page 11: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/11.jpg)
Jogos nem sempre são saudáveis
● FutePorrada● 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é
![Page 12: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/12.jpg)
Jogos e WEB
![Page 13: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/13.jpg)
Tudo começou a um tempo atrás
● Nerds queriam jogar Xadrez à distância● Nerds queriam jogar Xadrez à distância
– Forum BBC
– Xadrez via email
– Xadrez via ICQ
– Xadrez via programas
– Xadrez via websites.
![Page 14: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/14.jpg)
E ai a idéia cresceu
● Damas na web (pros n00bs)● 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)
![Page 15: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/15.jpg)
E categorias de webgames se formaram
● Jogos de estratégia● Jogos de estratégia● Ogame, Travian, Planetarion, Ikarian, GuerrasKhan
– No Brasil: Meteorus
● Jogos de RPG● GreenDragon, MafiaWars, BaraFranca, F1Race
● Jogo de 'ville'● Jogo de 'ville'● Farmville, cityville, zooville
● Tem mais, mas eu esqueci :D
![Page 16: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/16.jpg)
Webgames e dispositivos
● No navegador● No navegador
– Html, CSS, Js, json
– Plugins do flash
● No mobile
– App dedicado a plataforma
– Site adapdato para navegadores móveis
![Page 17: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/17.jpg)
App mobile é webgame? WTF?!
● Você quer o simples e funcional● 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 – 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
![Page 18: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/18.jpg)
![Page 19: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/19.jpg)
![Page 20: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/20.jpg)
![Page 21: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/21.jpg)
Jogos e o Tempo Real
● Simulado● Simulado
– Auto refresh da página
– Requisições AJAX de tempos em tempos
● Tempo Real, mas bem real mesmo
– WebSockets
![Page 22: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/22.jpg)
Que diabé websocket?
● É um socket de internet● É 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ãoconexão
● Após a conexão, a troca de dados é em tempo real
![Page 23: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/23.jpg)
Browser Quest
● Jogo open source desenvolvido pela ● 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/– http://hacks.mozilla.org/2012/03/browserquest/
![Page 24: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/24.jpg)
MAS CADE O DJANGO?
![Page 25: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/25.jpg)
Django● Python
● Um conjunto de bibliotecas e facilidades● Um conjunto de bibliotecas e facilidades
● Amplamente testado
● Uma comunidade forte
● Tem um monte de artigo no google
– E no StackOverFlow– E no StackOverFlow
● Plugins e bibliotecas feitas pela comunidade
● É fácil pra [insert palavrão aqui]
![Page 26: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/26.jpg)
É bom mesmo?
● O objetivo do Django é fazer com que o 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– Controle de sessão
– Painel de administração
– Formulários inteligentes
– E muito mais!!!1!!111!umonzeonzeum!
![Page 27: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/27.jpg)
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 pensar cada etapa
– Ensinando a programar cada etapa
![Page 28: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/28.jpg)
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!– Mas falta pouco!
● Precisa de feedback!!!!
– Que tal entrar no grupo do PUG-PE no google e discutir comigo?
![Page 29: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/29.jpg)
OUTROS CASOS DE JOGOS
![Page 30: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/30.jpg)
● Quero desenvolver um jogo para aprender
– Django
– Como desenvolver um jogo– 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– As regras são faceis de implementar
– É fácil encontrar alguém que queira testar (jogar) com você
– -DJANGO DA VELHA!
![Page 31: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/31.jpg)
AJUDA NUNCA É DEMAIS
![Page 32: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/32.jpg)
Um social webgame
● Django faz!● Django faz!
– Com uma pequena mãozinha
● Django-social-auth
● Django-social-registration
● Django-facebook-connect
● Django-facebook-oauth● Django-facebook-oauth
● Tem mais bibliotecas, só escolher uma
![Page 33: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/33.jpg)
Websocket de Forma Fácil
● Pusher● Pusher
– http://pusher.com/
– Para quem quer se preocupar apenas com a lógica da aplicação
– É de confiança
Getglue usa● Getglue usa
● SlideShare usa
● Codr.cc usa
![Page 34: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/34.jpg)
Websocket vs Pusher
![Page 35: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/35.jpg)
Websocket vs Pusher
![Page 36: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/36.jpg)
![Page 37: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/37.jpg)
É SÓ ISSO =/
● Mas a gente pode conversar mais AGORA!● 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
![Page 38: E dá para desenvolver webgames com Django?](https://reader034.fdocumentos.com/reader034/viewer/2022052315/556252fdd8b42a6c368b5111/html5/thumbnails/38.jpg)
Eu, eu mesmo, e o Django
● O Django-wars:● 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/● Bjo do gordo o/