<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Java vs Flash vs Python</title>
	<atom:link href="http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/</link>
	<description>Experimental Videogames (daniel@ludomancy.com)</description>
	<lastBuildDate>Sat, 04 Sep 2010 23:59:20 -0300</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Ezequiel</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-9402</link>
		<dc:creator>Ezequiel</dc:creator>
		<pubDate>Sat, 07 Nov 2009 20:15:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-9402</guid>
		<description>I made the same mistake you did when starting programming in python.

By looking quickly at the code I think the bottleneck is on Field.update(self, surface) (I didn&#039;t even run the code, so I apologize if there is a slower function).

The problems seems to be:

You generate a double list of width*height bools each time you run update (which I guess runs on every frame?). That&#039;s a very costly operation.

Then you run two nested fors, looping through height and width. That&#039;s a no-go in python. For loops are inocent operations on C and probably on Java, but really performance killers on python. 
Generally speaking, you&#039;ll want to rethink the update function and probably other parts of the code too. Replace fors with maps, for example.

And you&#039;ll definitely want to consider using numeric manipulation with numerics.

Finally, Flash is the way to go if you seek browser penetration (Python having 0% :D )</description>
		<content:encoded><![CDATA[<p>I made the same mistake you did when starting programming in python.</p>
<p>By looking quickly at the code I think the bottleneck is on Field.update(self, surface) (I didn&#8217;t even run the code, so I apologize if there is a slower function).</p>
<p>The problems seems to be:</p>
<p>You generate a double list of width*height bools each time you run update (which I guess runs on every frame?). That&#8217;s a very costly operation.</p>
<p>Then you run two nested fors, looping through height and width. That&#8217;s a no-go in python. For loops are inocent operations on C and probably on Java, but really performance killers on python.<br />
Generally speaking, you&#8217;ll want to rethink the update function and probably other parts of the code too. Replace fors with maps, for example.</p>
<p>And you&#8217;ll definitely want to consider using numeric manipulation with numerics.</p>
<p>Finally, Flash is the way to go if you seek browser penetration (Python having 0% <img src='http://www.ludomancy.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-9108</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 16 Sep 2009 16:16:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-9108</guid>
		<description>Wow, I had to stop right at the first paragraph. Why the hell would you have a loop that aruns 655360 times a second? For a game that simple? You really need to rethink it&#039;s design IMHO buddeh.</description>
		<content:encoded><![CDATA[<p>Wow, I had to stop right at the first paragraph. Why the hell would you have a loop that aruns 655360 times a second? For a game that simple? You really need to rethink it&#8217;s design IMHO buddeh.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Benmergui</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-9043</link>
		<dc:creator>Daniel Benmergui</dc:creator>
		<pubDate>Sat, 22 Aug 2009 21:54:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-9043</guid>
		<description>@Just Another Programmer: I was talking about Java, not Javascript :)</description>
		<content:encoded><![CDATA[<p>@Just Another Programmer: I was talking about Java, not Javascript <img src='http://www.ludomancy.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: just another programmer</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-9042</link>
		<dc:creator>just another programmer</dc:creator>
		<pubDate>Sat, 22 Aug 2009 21:51:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-9042</guid>
		<description>Java and Javacript are not the same thing just so you this article should have been listed as javacript not java</description>
		<content:encoded><![CDATA[<p>Java and Javacript are not the same thing just so you this article should have been listed as javacript not java</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Retallack</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-8974</link>
		<dc:creator>Nick Retallack</dc:creator>
		<pubDate>Sun, 02 Aug 2009 05:19:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-8974</guid>
		<description>If you do try python again, look at Pyglet (http://www.pyglet.org/) instead of Pygame.  Pyglet does everything in OpenGL, and you could totally implement this game by rendering a grid of quads instead of editing a bitmap.

Also, as far as browser plugins go, Unity (http://unity3d.com/) is a very fast one that can deliver OpenGL and DirectX.  Blurst.com shows off a lot of games made with it.  You can script it in Boo (a python dialect), JavaScript, or C# (similar to Java).  Again, you could use colored quads =].</description>
		<content:encoded><![CDATA[<p>If you do try python again, look at Pyglet (<a href="http://www.pyglet.org/" rel="nofollow">http://www.pyglet.org/</a>) instead of Pygame.  Pyglet does everything in OpenGL, and you could totally implement this game by rendering a grid of quads instead of editing a bitmap.</p>
<p>Also, as far as browser plugins go, Unity (<a href="http://unity3d.com/" rel="nofollow">http://unity3d.com/</a>) is a very fast one that can deliver OpenGL and DirectX.  Blurst.com shows off a lot of games made with it.  You can script it in Boo (a python dialect), JavaScript, or C# (similar to Java).  Again, you could use colored quads =].</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bertha</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-7686</link>
		<dc:creator>Bertha</dc:creator>
		<pubDate>Tue, 28 Oct 2008 17:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-7686</guid>
		<description>Good post.</description>
		<content:encoded><![CDATA[<p>Good post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JonL</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-5712</link>
		<dc:creator>JonL</dc:creator>
		<pubDate>Thu, 17 Jul 2008 15:23:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-5712</guid>
		<description>Quite so, thanks Daniel =)</description>
		<content:encoded><![CDATA[<p>Quite so, thanks Daniel =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Benmergui</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-5692</link>
		<dc:creator>Daniel Benmergui</dc:creator>
		<pubDate>Wed, 16 Jul 2008 20:39:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-5692</guid>
		<description>Well... there are two different domains in your game, and I think it&#039;s better for you to implement different solutions: the backend and the client.

Java as a client is fast as it comes, and runs in a browser. But the runtimes are sometimes a bit shaky (Night Raveler crashed some configurations of browsers). Also, Java APIs often err on the side of generality, which implies verbose code to do even simple things:).

There are techniques on Flash programming from which you can gain a lot of performance (ie: using BitmapData instead of Movieclips), the runtime is everywhere and is very stable. The language itself is ugly as Java, but with a more concise API. Also, you can publish in sites like Kongregate. The case of Pixelworld is that it&#039;s extremely computation-heavy, but unless you&#039;re doing such a game, Flash is a safe bet. I did not research into Silverlight.


On the other hand, the backend... I wouldn&#039;t use Java if you are trying to do something simple... you can maybe try the Google App Engine, or Ruby on Rails, or plain PHP. Again, Java is made for generality, and more often than not you need to figure out quite a bit of different APIs to do simple server things. I think Flex (an environment that generates flash apps) has some server functionality, but I wouldn&#039;t even touch that functionality with a stick.

Is this useful? :)</description>
		<content:encoded><![CDATA[<p>Well&#8230; there are two different domains in your game, and I think it&#8217;s better for you to implement different solutions: the backend and the client.</p>
<p>Java as a client is fast as it comes, and runs in a browser. But the runtimes are sometimes a bit shaky (Night Raveler crashed some configurations of browsers). Also, Java APIs often err on the side of generality, which implies verbose code to do even simple things:).</p>
<p>There are techniques on Flash programming from which you can gain a lot of performance (ie: using BitmapData instead of Movieclips), the runtime is everywhere and is very stable. The language itself is ugly as Java, but with a more concise API. Also, you can publish in sites like Kongregate. The case of Pixelworld is that it&#8217;s extremely computation-heavy, but unless you&#8217;re doing such a game, Flash is a safe bet. I did not research into Silverlight.</p>
<p>On the other hand, the backend&#8230; I wouldn&#8217;t use Java if you are trying to do something simple&#8230; you can maybe try the Google App Engine, or Ruby on Rails, or plain PHP. Again, Java is made for generality, and more often than not you need to figure out quite a bit of different APIs to do simple server things. I think Flex (an environment that generates flash apps) has some server functionality, but I wouldn&#8217;t even touch that functionality with a stick.</p>
<p>Is this useful? <img src='http://www.ludomancy.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JonL</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-5691</link>
		<dc:creator>JonL</dc:creator>
		<pubDate>Wed, 16 Jul 2008 20:25:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-5691</guid>
		<description>I&#039;m somewhat new to web type programming and I&#039;ve got a question that&#039;s related to this.  I want to make a rather old school type RPG game that will run from a browser and also involve uploading pictures and text files as part of it (yeah...kinda weird, want to make it abit more interactive story).  

I started writing the basic structure in Java, but looking into Flash (both seem to be the most used for Web Apps), it seems like it&#039;d be easier to work with later on, but I&#039;m worried about system performance (as I&#039;ve tried some simple shooting games lag at times, and this post also mentioned the same issue).  Both languages I&#039;m only moderately familiar with, stronger in C/C++ but I was told by my buddy to work in Java as it gives less a headache when making web apps and for backend integration.  Any advice/opinion regarding the coding matter?</description>
		<content:encoded><![CDATA[<p>I&#8217;m somewhat new to web type programming and I&#8217;ve got a question that&#8217;s related to this.  I want to make a rather old school type RPG game that will run from a browser and also involve uploading pictures and text files as part of it (yeah&#8230;kinda weird, want to make it abit more interactive story).  </p>
<p>I started writing the basic structure in Java, but looking into Flash (both seem to be the most used for Web Apps), it seems like it&#8217;d be easier to work with later on, but I&#8217;m worried about system performance (as I&#8217;ve tried some simple shooting games lag at times, and this post also mentioned the same issue).  Both languages I&#8217;m only moderately familiar with, stronger in C/C++ but I was told by my buddy to work in Java as it gives less a headache when making web apps and for backend integration.  Any advice/opinion regarding the coding matter?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Benmergui</title>
		<link>http://www.ludomancy.com/blog/2008/06/24/java-vs-flash-vs-python/comment-page-1/#comment-5680</link>
		<dc:creator>Daniel Benmergui</dc:creator>
		<pubDate>Wed, 16 Jul 2008 04:18:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.ludomancy.com/blog/?p=81#comment-5680</guid>
		<description>Petri makes his games on C++, I think... so this discussion is not something he would be very concerned about :).

I agree on the installer thing... that&#039;s why I&#039;m switching over to Flash.

Even though I like programming in Java, the runtime is a little unstable across browsers, so for the time being, I&#039;ll just use it when raw horsepower is needed (which is rare).</description>
		<content:encoded><![CDATA[<p>Petri makes his games on C++, I think&#8230; so this discussion is not something he would be very concerned about <img src='http://www.ludomancy.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>I agree on the installer thing&#8230; that&#8217;s why I&#8217;m switching over to Flash.</p>
<p>Even though I like programming in Java, the runtime is a little unstable across browsers, so for the time being, I&#8217;ll just use it when raw horsepower is needed (which is rare).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
