Jogos, Python e Web

61 views
Skip to first unread message

Roberto Faga

unread,
Oct 31, 2009, 9:11:50 PM10/31/09
to python-gam...@googlegroups.com
Olá pessoal,

Estive avaliando as alternativas para produzir jogos para Web... e
cheguei em uma certa conclusão que existem 3 opções: Silverlight
(suicídio, instável, e a versão livre moonlight é mto pior q a
proprietária), Flash (a mais usada, proprietária) e Java (complexo e
pesado, ng gosta de rodar isso no browser).

Tem HTML5 (c/JS + SVG) que pode possibilitar mta coisa legal ser
produzida... entretanto os navegadores estão longe de suportá-la,
seria inviável fazer um jogo somente com essa tecnologia.

Ou seja, hoje eu teria de utilizar Flash e produzir meu jogo em Flash,
com ActionScript. Daqui a uns 3 anos é uma grande chance de Flash ser
uma tecnologia defasada e eu ver q podia ter feito td com HTML5 ou um
silverlight mais avançado, ou um JavaFX leve. Enfim, é um problema de
se escolher uma tecnologia só de jogos para web.

Então como amante de python vi que tem uma biblioteca para gerar flash
a partir de código python [1], e pensei: seria possível eu codificar
um jogo em pygame (ou pyglet, tanto faz, a ideia das duas é quase a
mesma) e poder exportá-lo para flash??? E aí daqui a 5 anos pode ter
um binding para HTML5!

Tá, eu sei que o projeto parece ser uma viagem total se visto de
longe... Mas o que acham? Alguém sabe se tem alguma inciativa desse
tipo? Alguém tem interesse? (Claro que se eu ver q isso é viável vou
contatar os desenvolvedores, pois acredito ser um projeto
interessante)

[]'s

[1] - PySWFTools - http://pyswftools.sourceforge.net/

Joao S. O. Bueno

unread,
Nov 1, 2009, 12:12:54 PM11/1/09
to python-gam...@googlegroups.com
2009/10/31 Roberto Faga <rober...@gmail.com>:

>
> Olá pessoal,
>
> Estive avaliando as alternativas para produzir jogos para Web... e
> cheguei em uma certa conclusão que existem 3 opções: Silverlight
> (suicídio, instável, e a versão livre moonlight é mto pior q a
> proprietária), Flash (a mais usada, proprietária) e Java (complexo e
> pesado, ng gosta de rodar isso no browser).
>
> Tem HTML5 (c/JS + SVG) que pode possibilitar mta coisa legal ser
> produzida... entretanto os navegadores estão longe de suportá-la,
> seria inviável fazer um jogo somente com essa tecnologia.
>
> Ou seja, hoje eu teria de utilizar Flash e produzir meu jogo em Flash,
> com ActionScript. Daqui a uns 3 anos é uma grande chance de Flash ser
> uma tecnologia defasada e eu ver q podia ter feito td com HTML5 ou um
> silverlight mais avançado, ou um JavaFX leve. Enfim, é um problema de
> se escolher uma tecnologia só de jogos para web.
>
> Então como amante de python vi que tem uma biblioteca para gerar flash
> a partir de código python [1], e pensei: seria possível eu codificar
> um jogo em pygame (ou pyglet, tanto faz, a ideia das duas é quase a
> mesma) e poder exportá-lo para flash??? E aí daqui a 5 anos pode ter
> um binding para HTML5!


5 anos?

exagero né?
é só dar uma idada no html-5 -- euq euria rter tempo pra estudar o
pajamas -- ams achoque pra quem coenhce bem o pajamas, criar um
emulador de pygame/pyglet em html-5 é uma questã de poucos dias.

E também "nao tem suprote nos browsers" é uma frase incorreta - o
correto é "naot em suporte no explorer". Agora, usuário de windows não
usa explorer por opção - pra ele é um programa como outro qualquer:
põe lá um aviso de que "precisa do firefox", e acho que 1/3 a 1/4
deles, se estiver atrásdo jogo abre a página em outro browser.


Bom, em suma-- eu, como usuário de código aberto, sistema 64bit,
tenhoe xperiencas bem ruins com flash - e estou falando só da parte
prática: deixa o sistema mais lento que qualquer outra coisa aqui -
isos sem falar o atraso de 3 anos pra lançar uma versão 64bit

Isso fora a experiência "shaky' de teclado e mouse - nunca vi algo em
falash que tivesse a responsividade que é possível com uma biblitoeca
nativa, ou mesmo com algo feito rotineirametne em javascript.

flash: reconheço que é uma opção, mas pessoalmente _to fora_. . :-)

De repente a getne pensa em uma camada de emulação de pyglet pra
Canvas (html5)! è que ue já to fazendo tanta coisa que tnao to
progredindo em nenhuma delas. ;-(

Roberto Faga

unread,
Nov 1, 2009, 12:46:33 PM11/1/09
to python-gam...@googlegroups.com
Então, na verdade eu estava pensando em contornar problemas com Flash
ou HTML5 (o q estiver disponível).

É possível fazer um jogo com o q chamam de AJAX. Mas suporte
multimidia é mto pobre, pois por padrão video e audio estão fora. Aí
entra o HTML5 com suporte OGG ou o Flash, ou seja, na verdade seria
ideal utilizá-los só para a parte q realmente necessita.

Nenhum navegador ainda tem HTML5 100% [2], mas comercialmente é
inviável falar pro usuário que ele tem q usar o Firefox para ver o
jogo - assim como eu descarto um produto qdo é Windows only (só q eu
represento uma porcentagem mto pequena do mercado né). Por isso pensei
nas duas formas, em detectar o navegador do kra e colocar o mais
apropriado.

Eu pensei no pyjamas tb, preciso estudá-la melhor ainda para ver se
para jogos ela fica bacana. Seria o ideal, pegá-la, fazer algumas
funções para jogos padrão e mais esse esquema de áudio e vídeo.

E se for para estender alguma biblioteca já existente acredito que a
mais viável seja a Cocos2d. Ela já tem uns ports (n sei o quão
funcionais e quão fiéis a cocos2d original) para iPhone [3], Android,
e teoricamente para Web seria mais simples, já q qto mais alto nivel
mais facil de fazer o port né (na teoria pelo menos hehehe)

Vou ver se dou uma estudada melhor nessas opções, vlw por me lembrar
do pyjamas, tinha esquecido que é uma ótima opção hehe.

[]'s

[2] - http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29
[3] - http://www.cocos2d-iphone.org/

2009/11/1 Joao S. O. Bueno <gwi...@gmail.com>:

Igor

unread,
Nov 3, 2009, 4:29:40 AM11/3/09
to python-gam...@googlegroups.com
Se você vai fazer um jogo para Web acho que flash é a melhor opção. A
compatibilidade é bem maior, tem um sdk open source e é bem aceito por
grande parte dos usuários.

O que exatamente você irá fazer?

2009/11/1 Roberto Faga <rober...@gmail.com>:
--
Igor

Igor

unread,
Nov 3, 2009, 4:36:23 AM11/3/09
to python-gam...@googlegroups.com
Ah, eu vi um pouco do pyswftools e pelo que me lembro não dá para
programa em python não. Ele só sabe criar o swf, toda programação
dentro dele era feita em AS.

E respondendo a outro ponto, jogos web são virais, ninguém jogará seu
jogo daqui a 3 anos. Use a tecnologia mais atual e disponível, pois a
chance de ele ter poucos acessos e ficar pra sempre no limbo em 6
meses é alta.

Aliás, se você conseguir terminar um jogo com alguma qualidade isso
por si só já é bastante. Se eu fosse você pegaria o que achar mais
simpático e faria algo logo. A tecnologia no fim não importa, o seu
jogo será julgado principalmente pelo resultado final.

2009/11/3 Igor <igo...@gmail.com>:
--
Igor

Roberto Faga

unread,
Nov 3, 2009, 9:52:09 AM11/3/09
to python-gam...@googlegroups.com
Então, o problema é q eu quero fazer um ambiente q vai criar
jogos...então é inviável usar SDK ou algum programa q faça jogos, só
posso usar bibliotecas. E pra esse ambiente ficar pronto vai demorar
um tempo (é projeto de doutorado isso), pode colocar no min 2 anos
hehe. Por isso a preocupação de saber o q vão usar em 3 anos :)

Na verdade, o SDK q vc diz é o Flex SDK? Eu nunca cheguei a usá-lo
para saber se é viável, acho q preciso dar uma olhada nele hehe.

Vlw pelas dicas
[]'s

2009/11/3 Igor <igo...@gmail.com>:

Igor

unread,
Nov 3, 2009, 1:11:14 PM11/3/09
to python-gam...@googlegroups.com
bom, neste caso sua preocupação faz total sentido.
é o flex sdk sim. ele tem um monte (todas?) de classes do flash e dà
para fazer um monte de coisas visualmente bonitas nele. além disto tem
vários elementos de interace bonitos e já seria prático fazer o
programa e os jogos na mesma plataforma.
--
Igor

Kao Cardoso Felix

unread,
Nov 3, 2009, 4:02:14 PM11/3/09
to python-gam...@googlegroups.com
Pois é, Roberto, eu concordo com o Igor. O Flex SDK poderia sim ser usado para os teus objetivos. Não sei qual a idéia de SDK que tu tinhas para preferir não usar um, mas o Flex SDK é só um conjunto de bibliotecas e ferramentas para desenvolver aplicações em Flash. Complementando o que o Igor já disse, tem muitas classes de Widgets que tu pode usar pra fazer um GUI pra tua aplicação e com o Adobe AIR tu tem a opção de fazer deploy no desktop também.

Eu não vejo o Silverlight dando sinais de que vai ser a próxima grande plataforma na web, então a longo prazo não parece uma grande idéia usá-lo, mas isso é só uma visão subjetiva baseada na minha navegação diária e leituras ocasionais sobre o assunto.

Pelo que eu andei lendo tem muita gente querendo que o HTML 5 funcione, incluindo Google, Apple e Mozilla Foundation, então tem grandes possibilidades de se tornar algo muito interessante daqui uns anos. Fora que tem a parte legal de estar do lado "do bem" dos padrões abertos para Web ao invés de estar preso a alguma tecnologia proprietária :-)

Eu ia sugerir também a Unity3D como plataforma pra jogos na Web, mas como teu objetivo é criar uma ambiente de desenvolvimento não faria muito sentido. Eles tem um plugin próprio deles pra rodar os jogos e a versão que faz deploy na web acabou de virar grátis. É proprietário também, como muitas outras coisas, mas pelo pouco que eu vi é um ambiente muuuuuito bom e muito profissional. Tem outros fatores bem únicos também, como ser em 3D, ter um editor integrado e fácil de usar e, sem contar o silverlight, é a que chega mais perto de poder usar Python tendo o Boo como alternativa para escrever scripts. O suporte a browsers do plugin deles é muito bom, o problema são os SO's: apenas Windows e Mac.

Bom, essa é minha visão geral sobre o assunto, com alguns overlaps com o que já foi dito, eu sei, mas achei que valia a pena dizer. Eu usaria o Flex SDK a curto prazo para teus objetivos sempre cuidando o HTML 5 e vendo se tem jeito de fazer com ele. Acho que o HTML 5 é o que mais tem chances de virar uma plataforma sólida e *realmente* multiplataforma (dizer q o Flash roda no Linux é um overstatement ainda...). E eu não duvido que dê pra resolver o problema de browsers ruins no Windows daqui um tempo fazendo um bundle do browser com o teu app que o usuário simplesmente vai baixar e rodar como se fosse um programa qualquer. Daí esse usuário nem precisa saber que está baixando um browser ;-)

--
Kao Félix

Página pessoal: http://www.inf.ufrgs.br/~kcfelix
Blog: http://kaofelix.blogspot.com

Igor

unread,
Nov 3, 2009, 5:35:22 PM11/3/09
to python-gam...@googlegroups.com
Boa Kao, tinha me esquecido do XULRunner. Se ele rodar HTML5 pode ser
uma alternativa interessante :)

2009/11/3 Kao Cardoso Felix <kcf...@gmail.com>:
--
Igor

Kao Cardoso Felix

unread,
Nov 3, 2009, 7:17:30 PM11/3/09
to python-gam...@googlegroups.com
2009/11/3 Igor <igo...@gmail.com>

Boa Kao, tinha me esquecido do XULRunner. Se ele rodar HTML5 pode ser
uma alternativa interessante :)

Nem eu lembrava dele, eu pensei no Prism e no equivalente do Chrome (que já vem junto com ele) em que tu pega um site qualquer e transforma ele numa "aplicação". Na prática é só um atalho pro browser rodar sem barra de ferramenta, extensões e coisas do tipo só com o site escolhido.

O XULRunner parece uma idéia mais legal ainda :) Pelo menos acho que seria mais fácil de fazer um bundle que usasse ele do que manualmente pegar o Firefox ou a base open source do Chrome pra fazer um browser limpo. Eu suponho que ele suporte tanto HTML 5 quanto o Firefox suporta, não?

David Kwast

unread,
Nov 5, 2009, 11:13:01 AM11/5/09
to python-gam...@googlegroups.com
2009/10/31 Roberto Faga <rober...@gmail.com>

>
> Olá pessoal,
>
> Estive avaliando as alternativas para produzir jogos para Web... e
> cheguei em uma certa conclusão que existem 3 opções: Silverlight
> (suicídio, instável, e a versão livre moonlight é mto pior q a
> proprietária), Flash (a mais usada, proprietária) e Java (complexo e
> pesado, ng gosta de rodar isso no browser).
>
> Tem HTML5 (c/JS + SVG) que pode possibilitar mta coisa legal ser
> produzida... entretanto os navegadores estão longe de suportá-la,
> seria inviável fazer um jogo somente com essa tecnologia.

Da uma olhada no Websvg, ele permite usar SVG em navegadores que não suportam SVG emulando através do Flash. Mas ele tenta se comportar como um SVG mesmo, com DOM, animações e tudo que tem direito. Os eventos são feitos em JavaScript.

Quando todos os navegadores suportarem SVG, você não terá perdido o seu trabalho e não precisará mais desta ferramenta.

http://code.google.com/p/svgweb/

Deste jeito, funcionará em 95% dos navegadores. Vale a pena tentar usar ele.

Um amigo meu (Juca Blues) fez um jogo usando somente o Inkscape. O JS foi feito depois. Não foi testado no SVGWEB, mas aparentemente o SVGWEB suporta mais coisas que o Firefox que o Juca usou para desenvolver e testar.

http://jucablues.blogspot.com/2009/01/uns-10-anos-atrs-um-minigame-meu.html

Roberto Faga

unread,
Nov 5, 2009, 11:23:34 AM11/5/09
to python-gam...@googlegroups.com
Tb tinha pensado no XULRunner tb, mas essa SVG Web me pareceu mto
bacana! Usar SMIL que podem ser vistos em Flash é mto legal mesmo, pq
aí fico em tecnologias livres que usam frontend proprietário se
necessário!

Vlw pela dica td mundo, vou brincar um pouco com essa SVG Web, senão
corro pro flex mesmo :)

[]'s

2009/11/5 David Kwast <david...@gmail.com>:

Roberto Faga

unread,
Nov 5, 2009, 11:29:47 AM11/5/09
to python-gam...@googlegroups.com
Ah, eu sempre vejo um SDK como uma GUI para fazer aplicações, não sei
pq tb hehehe

[]'s

2009/11/5 Roberto Faga <rober...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages