News for hackers. Stuff that matters.
Re:Quake 1 ported to Flash by tumult on Tuesday November 24, 2009 @10:41PM (#960574)
Given Flash's atrocious performance profile, I'm surprised and impressed that this works at all. That being said, it chews an entire core on my computer to render the game at about 20fps, and the audio is nearly a half-second latent. Another way of looking at this is that Flash bytecode on a Core i7 today has caught up to half of where native bytecode on a Pentium I was 14 years ago.
Re:Quake 1 ported to Flash by nrr on Tuesday November 24, 2009 @11:49PM (#960648)
Even more bizarre is the fact that this runs on my Turion64 X2-whatever running at 2.0GHz exactly how Quake originally ran on my 90MHz Pentium clone.

I feel like I've just jumped back 13 years.

Re:Quake 1 ported to Flash by petercooper on Wednesday November 25, 2009 @01:01AM (#960719)
In another 13 years there'll be a version written in Ruby that feels the same too.
Re:Quake 1 ported to Flash by dpcan on Wednesday November 25, 2009 @01:28AM (#960749)
in 6 months it will be re-written in JS/HTML5
Re:Quake 1 ported to Flash by barrkel on Tuesday November 24, 2009 @11:15PM (#960610)
What OS / Flash version are you running?

I got 78.2 FPS on 'timedemo demo1', on an i7 920 @ 3600MHz, Flash 10.0.32.18, Firefox 3.5.5, Windows 7 Ultimate 64-bit. It was perfectly smooth. The audio lag (~200ms) seems more likely an architectural latency issue than a performance-related one.

Re:Quake 1 ported to Flash by tumult on Wednesday November 25, 2009 @12:56AM (#960712)
Win7 x64, whatever version of Flash is the current release.

It might have a lower frame rate due to running in Chrome, I don't know. I leave Flash disabled in other browsers due to frequent crashing.

Re:Quake 1 ported to Flash by Plugawy on Wednesday November 25, 2009 @07:58AM (#961032)
Strange. I've tried it on 3 year old mac mini, OSX Leopard, 2gb ram with Firefox. Worked just fine.
Re:Quake 1 ported to Flash by tumult on Wednesday November 25, 2009 @08:47AM (#961090)
It does appear to run without glitches. But your comment indicates that you never played the original Quake. Which ran at 60fps, software-rendered, on a Pentium I, with no audio latency.
Re:Quake 1 ported to Flash by gb on Wednesday November 25, 2009 @12:30PM (#961478)
At half the resolution this is running at though, and the Flash does benefit from quite a speed up if you knock down the viewport size.
Re:Quake 1 ported to Flash by Plugawy on Saturday November 28, 2009 @05:00PM (#965572)
I have to disappoint you - I played original Quake on Pentium 133 running at 38fps, software rendering, without any glitches.

As far as I remember - not many things were running slow at that time - it was either you had the hardware to run stuff, or not.

Re:Quake 1 ported to Flash by jasonlbaptiste on Wednesday November 25, 2009 @01:07AM (#960725)
Talk about nostalgia. I remember being 10 or 11 and playing Quake. I thought it was just absolutely amazing. I had also just gotten into the internet. The curiosity I had back then still exists, which is a good thing. The same feeling that we're just getting started still exists, even though things are so much more advanced.
Re:Quake 1 ported to Flash by mixmax on Tuesday November 24, 2009 @10:12PM (#960534)
Wow, does that bring back memories.
Re:Quake 1 ported to Flash by rms on Wednesday November 25, 2009 @12:10AM (#960668)
What is preventing a dramatic speedup in Flash performance?
Re:Quake 1 ported to Flash by erik on Wednesday November 25, 2009 @12:43AM (#960704)
My understanding is that the flash bytecode interpreter's performance is reasonable. Unfortunately the actionscript compiler does no code optimization. But this quake demo uses alchemy, which is LLVM based and offers significant performance gains.

The biggest bottleneck is rendering. When displaying flash content, your cpu has to render every pixel of every frame. The flash player vector capabilities are pretty extensive. Supporting image rotations, resizes and alpha transparency can require multiple cpu passes.

The obvious answer to this problem is GPU rendering. Adobe has made some efforts in this direction, but it doesn't look like it will happen any time soon. There are many issues that make this transition difficult. Backwards compatibility, cross platform compatibility, and reliability are a few that come to mind.

Re:Quake 1 ported to Flash by chipsy on Wednesday November 25, 2009 @01:36AM (#960759)
haXe does some additional optimizations over the Adobe compilers; however, the real performance difference in the Alchemy-based code comes from its original nature as C code: it works with bytes, not the AVM2 type system. You can access these special "fast ByteArrays" from both AS3 and haXe - haXe makes it a little more convenient - but in both cases, you're essentially writing C from a language that doesn't have C's features. (Alchemy has some interoperability features, so it's not a total one-or-the-other equation, at least.)

Rendering is the bigger performance culprit, anyway.

Re:Quake 1 ported to Flash by pfedor on Wednesday November 25, 2009 @10:41PM (#962207)
So where's the source code for this port? I couldn't find it.
Re:Quake 1 ported to Flash by chaosprophet on Wednesday November 25, 2009 @08:49AM (#961092)
In addition to other reasons mentioned, Flash is also single threaded, so a lot of developers use pseudo-threading to get around this which is where a lot of lag creeps in.
Re:Quake 1 ported to Flash by bep on Wednesday November 25, 2009 @11:12AM (#961311)
Re:Quake 1 ported to Flash by est on Wednesday November 25, 2009 @02:59AM (#960819)
Re:Quake 1 ported to Flash by carbocation on Wednesday November 25, 2009 @01:00AM (#960715)
42fps on timedemo demo1 in FF 3.5.5 / Win7 Home Premium on a laptop i7 720. Felt perfectly smooth though.