O documento discute o desenvolvimento de webgames usando o framework Django para Python. Ele explica o que são jogos, exemplos de jogos simples, a evolução dos jogos na web, e como Django facilita o desenvolvimento de jogos online, incluindo um tutorial e código-fonte de um jogo de exemplo chamado Django Wars.
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/
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!
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
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/