Your SlideShare is downloading. ×
E dá para desenvolver webgames com Django?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

E dá para desenvolver webgames com Django?

1,875
views

Published on

Apresentação para o XX encontro da comunidade pernambucana de Python (PUG-PE). …

Apresentação para o XX encontro da comunidade pernambucana de Python (PUG-PE).
A palestra trata sobre a possibilidade de desenvolver jogos para web utilizando o framework Django.
Para isso, introduzo o conceito de jogos, com pequenas definições e exemplos comuns tornando fácil a assimilação de mecânicas de jogos.
O principal objetivo dessa apresentação é apresentar o projeto "Django-Wars", um clone do popular "Mafia Wars", feito em Django, onde o passo-a-passo do seu desenvolvimento serve como um tutorial de como pensar e desenvolver um webgame em Django.

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,875
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. E Dá Para DesenvolverWebgames com Django? Guilherme Medeiros http://frenetic.com.br @frenetic_br
  • 2. TL;DRDá
  • 3. Obrigado ;)Dúvidas???
  • 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
  • 8. SensouZenzouManchaCessou Parou Estilei
  • 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é
  • 12. Jogos e WEB
  • 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. 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
  • 19. 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
  • 20. 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/
  • 21. MAS CADE O DJANGO?
  • 22. 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]
  • 23. É 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!
  • 24. 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
  • 25. 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?
  • 26. OUTROS CASOS DE JOGOS
  • 27. ● 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!
  • 28. AJUDA NUNCA É DEMAIS
  • 29. 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
  • 30. 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
  • 31. Websocket vs Pusher
  • 32. Websocket vs Pusher
  • 33. É 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
  • 34. 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/