Comments on: Quake port to Flash has been released http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/ The greatest Quake 1 Singleplayer site on this planet. Tue, 09 Aug 2011 22:15:18 +0000 hourly 1 By: Spirit http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-2649 Spirit Wed, 22 Sep 2010 14:02:46 +0000 http://www.quaddicted.com/?p=981#comment-2649 The biggest problem (for me) is that it is not free. Imagine if you could only run Java with a proprietary non-free interpreter or be forced to use a specific C# compiler. The biggest problem (for me) is that it is not free. Imagine if you could only run Java with a proprietary non-free interpreter or be forced to use a specific C# compiler.

]]>
By: David Bandel http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-2648 David Bandel Wed, 22 Sep 2010 12:53:36 +0000 http://www.quaddicted.com/?p=981#comment-2648 There's really no logical reason to *hate* flash. If it has some problems then they are no more numerous or debilitating than the problems of any other medium for this type of content delivery. It's fast, client-side, and has lots of support on the web. Lots of support resources.. what more could a developer ask? AS3 is a high level language akin to Java or C#. I would imagine it's the "must build a brand new game engine from scratch in ASM to make a game worth bragging about" idiots who have a problem with Flash. So what if it bypasses some of the learning curve associated with graphics programming and completely circumvents the need for much in the way of game engines? Tools that make the job better and easier to do are bad? No... People who hate flash are bad. There’s really no logical reason to *hate* flash. If it has some problems then they are no more numerous or debilitating than the problems of any other medium for this type of content delivery.

It’s fast, client-side, and has lots of support on the web. Lots of support resources.. what more could a developer ask? AS3 is a high level language akin to Java or C#.

I would imagine it’s the “must build a brand new game engine from scratch in ASM to make a game worth bragging about” idiots who have a problem with Flash.

So what if it bypasses some of the learning curve associated with graphics programming and completely circumvents the need for much in the way of game engines?

Tools that make the job better and easier to do are bad?

No…

People who hate flash are bad.

]]>
By: Spirit http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1922 Spirit Mon, 30 Nov 2009 14:40:35 +0000 http://www.quaddicted.com/?p=981#comment-1922 Weee, seems like I completely screw up then. Sorry. :-) Weee, seems like I completely screw up then. Sorry. :-)

]]>
By: Baker http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1920 Baker Mon, 30 Nov 2009 11:53:14 +0000 http://www.quaddicted.com/?p=981#comment-1920 Source code was released and an SVN exists: http://github.com/mkr3142/QuakeFlash Source code was released and an SVN exists:

http://github.com/mkr3142/QuakeFlash

]]>
By: Baker http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1904 Baker Sun, 29 Nov 2009 11:51:36 +0000 http://www.quaddicted.com/?p=981#comment-1904 There was no intent to do anything against the license with that. It installs all the shareware files and the shareware license agreement says the files can be hosted provided they are in a compressed format. It never worked out because the 6-7 shareware maps aren't very popular for multiplayer and most established players refused to play with such a limited set of maps. One idea was to add custom maps to the set of independent downloads, but Todd Hollenshead when I inquired about this said it was not permitted. And that was the end of the idea to include custom maps. And the shareware maps didn't have wide player appeal or usefulness. There was no intent to do anything against the license with that. It installs all the shareware files and the shareware license agreement says the files can be hosted provided they are in a compressed format.

It never worked out because the 6-7 shareware maps aren’t very popular for multiplayer and most established players refused to play with such a limited set of maps.

One idea was to add custom maps to the set of independent downloads, but Todd Hollenshead when I inquired about this said it was not permitted.

And that was the end of the idea to include custom maps. And the shareware maps didn’t have wide player appeal or usefulness.

]]>
By: Spirit http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1903 Spirit Sun, 29 Nov 2009 08:58:45 +0000 http://www.quaddicted.com/?p=981#comment-1903 Baker, sorry. I meant http://www.quakeone.com/freequake/en.html Baker, sorry. I meant http://www.quakeone.com/freequake/en.html

]]>
By: Baker http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1899 Baker Sun, 29 Nov 2009 02:51:26 +0000 http://www.quaddicted.com/?p=981#comment-1899 Eh? Can't leave this weird and wrong comment untouched ... "Which is why Baker’s SyncQuake (or what it was called) ain’t legal and never took off." That was purely GPL, no shareware data. I never liked it, lost interest in it and never talked about it. There was no attempt to make it "take off". It was and is absolutely legal. Eh? Can’t leave this weird and wrong comment untouched …

“Which is why Baker’s SyncQuake (or what it was called) ain’t legal and never took off.”

That was purely GPL, no shareware data. I never liked it, lost interest in it and never talked about it. There was no attempt to make it “take off”.

It was and is absolutely legal.

]]>
By: Bad Sector http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1898 Bad Sector Sun, 29 Nov 2009 02:50:22 +0000 http://www.quaddicted.com/?p=981#comment-1898 You don't watch Mythbusters do you? :-P http://www.youtube.com/watch?v=hBj6PonX14A You don’t watch Mythbusters do you? :-P
http://www.youtube.com/watch?v=hBj6PonX14A

]]>
By: dreadlorde http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1895 dreadlorde Sat, 28 Nov 2009 22:53:51 +0000 http://www.quaddicted.com/?p=981#comment-1895 You can't polish a turd. You can’t polish a turd.

]]>
By: Bad Sector http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1892 Bad Sector Sat, 28 Nov 2009 17:17:55 +0000 http://www.quaddicted.com/?p=981#comment-1892 @dreadlorde: A bad programmer doesn't need a language to encourage him write bad code, he can do it in any language. A good programmer doesn't care what the language encourages, he'll write good code in any environment. @dreadlorde:
A bad programmer doesn’t need a language to encourage him write bad code, he can do it in any language. A good programmer doesn’t care what the language encourages, he’ll write good code in any environment.

]]>
By: s_a_j_t http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1885 s_a_j_t Sat, 28 Nov 2009 04:17:29 +0000 http://www.quaddicted.com/?p=981#comment-1885 Dave - Glad to see you agree with me. I do pointless stuff for fun too :-) --Anonymous Dave – Glad to see you agree with me. I do pointless stuff for fun too :-)

–Anonymous

]]>
By: dreadlorde http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1881 dreadlorde Fri, 27 Nov 2009 22:56:49 +0000 http://www.quaddicted.com/?p=981#comment-1881 Dave: My age doesn't matter. I wouldn't have done a web port because it's useless, just like QuakeLive. Java/C++/C# all suck just as much, if not more than flash; as they all encourage bad programming design and make things 100x more complicated than they need to be. 'Do one thing and do it right'. Dave: My age doesn’t matter. I wouldn’t have done a web port because it’s useless, just like QuakeLive. Java/C++/C# all suck just as much, if not more than flash; as they all encourage bad programming design and make things 100x more complicated than they need to be.

‘Do one thing and do it right’.

]]>
By: Bad Sector http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1880 Bad Sector Fri, 27 Nov 2009 21:06:01 +0000 http://www.quaddicted.com/?p=981#comment-1880 I saw this a couple of days ago and i had a hard time focusing my thoughts for a while. I was very impressed by it. Having tried to write a few engines in Flash for games (i don't really like Flash - i prefer Java for the much superior and faster VM - but sadly the whole webgames network is built around it and anything other than Flash is a dead-end if you want to distribute your games), i was always considering this kind of 3D in Flash nearly impossible. This port (and the Doom and Hexen ports also) are made using Alchemy, a C/C++ compiler that writes Flash bytecode. Alchemy requires Flash Player 10 because it uses some AVM2 opcodes which are available only there and allows much faster memory accesses. When i was making RayFaster 2 (http://www.badsectoracula.com/peponi/rayfaster2/ this one) FP10 wasn't yet released so i used the Flash Player 9 API. Until i had RF2 to a point where it was possible to proper render the world, items, walk around and have some sort of interaction FP10 had already been released. I don't use the Flash IDE (i don't even have it), but i use haXe, an opensource compiler that creates (among other stuff) SWF files and uses a Java-like language. Its a 100% programming environment (no timeline nonsense). When FP10 was out, haXe quickly added the new API *and* an API for accessing the new opcodes (it basically maps the API to a single instruction per API call). Some people reported that it was much faster so i decided to check it with RF2's code. However since i was using mostly the FP9 API and i used the FP10 opcodes only in a few placed i didn't saw any real improvement. So i thought that doing real 3D in Flash would be impossible (speed-wise) without support from the VM itself. I knew that Adobe had ported Quake using Alchemy before, but at the video it looked a bit slow and in a small resolution. So i totally didn't expected the performance at the above SWF and this is why i was so impressed. I was at work when someone gave the URL for it to me and when i saw it, i was saying repeatedly for a while stuff like "this isn't happening", "this is impossible", etc - one of my coworkers asked me what is wrong and i couldn't explain :-P. Basically i was trying for weeks in endless days and nights to get a little more performance from AVM2 to draw a few extra pixels (framebuffer access - no calculations - is *the* slowest operation in FP9) and i used a 256x192 resolution doubled to 512x384 (later i used 640x480 again with double 320x240 resolution but added some "HUD" borders around to touch less pixels). And then this came and shuttered everything :-P. Now, of course, since it *does* exist it proves that it isn't impossible to do better (and in normal resolution) 3D in Flash. So my next step was to revisit the memory API in haXe that allows the use of AVM2's Alchemy opcodes. Well after using only these instructions to fill the framebuffer i actually managed to fill a whole 640x480 framebuffer with 24bit color texture mapped horizontal spans with about 100 parts per span (sub-spans) four times at about 60 fps. Now it doesn't look as impossible as before, but it feels like i'm programming at a level a bit higher than assembly (i have a huge memory array which i can only access using these opcodes and i have comments with structure layouts and offsets for each structure element...). But on the other hand haXe doesn't try to be C/C++ and fits with the player's event-driven model much better (i think Alchemy breaks the code in steps and uses a timer to execute it as if it had the whole process as its own). Also the haXe compiler generates faster bytecode than Adobe's compiler so i might even be able to get faster results than Alchemy. Anyway, i still consider this port a very impressive thing and i'm thankful for its existence because otherwise i would still think that doing better 3D (or even just not using double pixels) was impossible in Flash :-) Of course i still wish Java was in Flash's place and i could use JOGL. Although in the meanwhile i would be grateful if Adobe added some OpenGL ES support in Flash... I saw this a couple of days ago and i had a hard time focusing my thoughts for a while. I was very impressed by it. Having tried to write a few engines in Flash for games (i don’t really like Flash – i prefer Java for the much superior and faster VM – but sadly the whole webgames network is built around it and anything other than Flash is a dead-end if you want to distribute your games), i was always considering this kind of 3D in Flash nearly impossible.

This port (and the Doom and Hexen ports also) are made using Alchemy, a C/C++ compiler that writes Flash bytecode. Alchemy requires Flash Player 10 because it uses some AVM2 opcodes which are available only there and allows much faster memory accesses.

When i was making RayFaster 2 (http://www.badsectoracula.com/peponi/rayfaster2/ this one) FP10 wasn’t yet released so i used the Flash Player 9 API. Until i had RF2 to a point where it was possible to proper render the world, items, walk around and have some sort of interaction FP10 had already been released.

I don’t use the Flash IDE (i don’t even have it), but i use haXe, an opensource compiler that creates (among other stuff) SWF files and uses a Java-like language. Its a 100% programming environment (no timeline nonsense). When FP10 was out, haXe quickly added the new API *and* an API for accessing the new opcodes (it basically maps the API to a single instruction per API call). Some people reported that it was much faster so i decided to check it with RF2′s code. However since i was using mostly the FP9 API and i used the FP10 opcodes only in a few placed i didn’t saw any real improvement.

So i thought that doing real 3D in Flash would be impossible (speed-wise) without support from the VM itself. I knew that Adobe had ported Quake using Alchemy before, but at the video it looked a bit slow and in a small resolution.

So i totally didn’t expected the performance at the above SWF and this is why i was so impressed. I was at work when someone gave the URL for it to me and when i saw it, i was saying repeatedly for a while stuff like “this isn’t happening”, “this is impossible”, etc – one of my coworkers asked me what is wrong and i couldn’t explain :-P.

Basically i was trying for weeks in endless days and nights to get a little more performance from AVM2 to draw a few extra pixels (framebuffer access – no calculations – is *the* slowest operation in FP9) and i used a 256×192 resolution doubled to 512×384 (later i used 640×480 again with double 320×240 resolution but added some “HUD” borders around to touch less pixels).

And then this came and shuttered everything :-P.

Now, of course, since it *does* exist it proves that it isn’t impossible to do better (and in normal resolution) 3D in Flash. So my next step was to revisit the memory API in haXe that allows the use of AVM2′s Alchemy opcodes.

Well after using only these instructions to fill the framebuffer i actually managed to fill a whole 640×480 framebuffer with 24bit color texture mapped horizontal spans with about 100 parts per span (sub-spans) four times at about 60 fps. Now it doesn’t look as impossible as before, but it feels like i’m programming at a level a bit higher than assembly (i have a huge memory array which i can only access using these opcodes and i have comments with structure layouts and offsets for each structure element…). But on the other hand haXe doesn’t try to be C/C++ and fits with the player’s event-driven model much better (i think Alchemy breaks the code in steps and uses a timer to execute it as if it had the whole process as its own). Also the haXe compiler generates faster bytecode than Adobe’s compiler so i might even be able to get faster results than Alchemy.

Anyway, i still consider this port a very impressive thing and i’m thankful for its existence because otherwise i would still think that doing better 3D (or even just not using double pixels) was impossible in Flash :-)

Of course i still wish Java was in Flash’s place and i could use JOGL. Although in the meanwhile i would be grateful if Adobe added some OpenGL ES support in Flash…

]]>
By: Spirit http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1879 Spirit Fri, 27 Nov 2009 16:47:03 +0000 http://www.quaddicted.com/?p=981#comment-1879 Relax Dave. I too wholeheartly hate Flash (Silverlight thankfully is niche). And I too think this is pointless. Seeing this as a tech demo is kinda cool but apparently not even the source is available. So fuck it. :) From what I know you are not allowed to use Quake's Shareware data to do anything useful with it. Which is why Baker's SyncQuake (or what it was called) ain't legal and never took off. Relax Dave. I too wholeheartly hate Flash (Silverlight thankfully is niche). And I too think this is pointless. Seeing this as a tech demo is kinda cool but apparently not even the source is available. So fuck it. :)

From what I know you are not allowed to use Quake’s Shareware data to do anything useful with it. Which is why Baker’s SyncQuake (or what it was called) ain’t legal and never took off.

]]>
By: Dave http://www.quaddicted.com/other-quake-news/quake-port-to-flash-has-been-released/comment-page-1/#comment-1876 Dave Fri, 27 Nov 2009 15:06:42 +0000 http://www.quaddicted.com/?p=981#comment-1876 Really impressive technical demos. My reading of the page marred only by the inevitable anonymous trolls casting doubt and hatred purely because they couldn't do any better themselves. s_a_j_t - some people just like making ports for fun, doesn't need to have a point. Friend of mine once ported Elite to Basic - why? Why not? dreadlorde - you're either under the age of 15 or over the age of 50. Either way shut up. What would you have them write a web port in? Javascript? Please... You could be a Java advocate of course, but Java people are a very strange breed who think the whole world would be better in Java; the whole [largely non-techy] world meanwhile looks upon those people saying "Pity the fools... [a la Mr T.] what is this Java none-sense anyway? Nevermind I don't care." Really impressive technical demos. My reading of the page marred only by the inevitable anonymous trolls casting doubt and hatred purely because they couldn’t do any better themselves.

s_a_j_t – some people just like making ports for fun, doesn’t need to have a point. Friend of mine once ported Elite to Basic – why? Why not?

dreadlorde – you’re either under the age of 15 or over the age of 50. Either way shut up. What would you have them write a web port in? Javascript? Please… You could be a Java advocate of course, but Java people are a very strange breed who think the whole world would be better in Java; the whole [largely non-techy] world meanwhile looks upon those people saying “Pity the fools… [a la Mr T.] what is this Java none-sense anyway? Nevermind I don’t care.”

]]>