Index | FAQ | Search | Memberlist | Usergroups | Profile | Log in to check your private messages | Log in | Register

Flash Quake Source Code and SVN Goto page Previous 1, 2, 3, 4, 5, 6 Next

| Inside3d Forums Forum Index -> Engine Programming

View previous topic :: View next topic
Author | Message
--- | ---
Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Wed Dec 02, 2009 1:54 pm Post subject: |

Spirit wrote:
According to http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en it is "just" 300MB. I use several apps built with it on Windows so I need it. I always liked those apps so I cannot say bad things. I am very much against it generally because of the patent issues (as in Mono) of course.
If this really is the only thing keeping you from having fun with Flash Quake, I'd say "bite into the foul apple".

Just curious, what .NET apps do you run on Linux?
(Btw, I'm rebuilding my compile procedures step by step for my Vista machine which does have .NET on it. This inconvenience is just causing me to document my work better.)

Back to top |

Spirit Joined: 20 Nov 2004 Posts: 476 |

Posted: Wed Dec 02, 2009 6:41 pm Post subject: |

Spirit wrote:
I use several apps built with it on Windows so I need it.

Computer Hardware Control (nice dynamic cpu clock tool)
Inssider (WLAN thing)
dunno what else
I do not have Mono installed.
_________________
Quake Maps

Back to top |

frag.machine Joined: 25 Nov 2006 Posts: 728 |

Posted: Wed Dec 02, 2009 11:19 pm Post subject: |

Baker wrote:
It is slow and interpreted, runs only on Windows and apps using it take forever to load. That's a future that isn't what I want.

Not willing to start yet another language war and/or to put the thread off rails, but there's something not correct in your phrase above. .NET is not interpreted. That said I must make clear I am not a Microsoft fanboy (I am more a Java fanboy ), and I agree with everything else about .NET being bloated and slow like molasses.
_________________
frag.machine - Q2K4 Project
http://fragmachine.quakedev.com/

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Thu Dec 03, 2009 3:56 am Post subject: |

frag.machine wrote:

Baker wrote:
It is slow and interpreted, runs only on Windows and apps using it take forever to load. That's a future that isn't what I want.

Not willing to start yet another language war and/or to put the thread off rails, but there's something not correct in your phrase above. .NET is not interpreted. That said I must make clear I am not a Microsoft fanboy (I am more a Java fanboy ), and I agree with everything else about .NET being bloated and slow like molasses.

Ironically, Microsoft will eventually go down in history as a company that fundamentally misread the market.
In the same way that the company they displaced in the 1990s, IBM, had misread the market in the 1980s.
IBM had a fundamental belief that mainframes would continue to be the future and that desktops would never mature and they would control that mainframe world, treating them as secondary. They tried to exploit their "monopoly"-like power in the desktop market, eventually making them irrelevant. And pursued a business model with that mindset, eventually relinquishing the market to Microsoft.
Microsoft had a fundamental belief of a desktop-centric world and ignored advances in small devices, treating them as secondary. And this shows in Vista and .NET. Vista was designed in a very application-oriented manner ("Programs and Features" in the control panel --- like people are going to be keeping CDs and DVDs around of a physical library of software to add features off a CD. Talk about unrealistic.) And .NET was their everything, thinking they could use monopoly like power to maintain a desktop monopoly. If it's slow on a desktop and gigantic, how can it be nimble enough to run on any other devices and how could they ever port it to a significantly different platform with that kind of overhead? And their web stuff doesn't even do 80% of the things that free alternatives like PHP do by default.
It's just sad to think of how magnificent their older products were (Windows XP was really incredible, so much so it was easy to take it for granted) and think of the direction they were pointing and then what they did when they got the idea they could just mandate to the market. A few times I have kind of giggled when an application written in C++ in recent Visual Studio.NET needs the user to down some Microsoft run-time library, just like a stereotypical old Visual Basic application.
Maybe I shouldn't have even more derailed the thread (it's all good, when I'm done I'm making something for the tutorial section) but I do remember in the mid-1990s that if you bought something Microsoft it was going to be far better and more organized than anything any other company put out and it was amazing.
Today it is just slop. And they try to push it on people, like putting that FireFox plug-in for .NET 3.5 involuntarily in a Windows update and the thing couldn't be uninstalled.
/End rant! At least probably!

Back to top |

r00k Joined: 13 Nov 2004 Posts: 483 |

Posted: Thu Dec 03, 2009 5:19 am Post subject: |

Quote:
IBM had a fundamental belief that mainframes would continue to be the future and that desktops would never mature and they would control that mainframe world, treating them as secondary

I know I took IBM 370 mainframe programming in college :O !
Micro$oft is a follow look in the yard kinda company. If they kids are doing it then we need to sell to them kids! Apple is a company that make shit happen, yet gets overshadowed. Linux well they dont have a worry yet.
Code for linux in college, sell out to Apple, and get a job at m$ i guess that how it goes, yet i dont think Nintendo runs directx per say

Back to top |

ceriux Joined: 06 Sep 2008 Posts: 969 Location: Florida, USA |

Posted: Thu Dec 03, 2009 5:38 am Post subject: |

the reason apple is overshadowed is because its compatible with just about nothing compared to windows. (my person belief) Windows how ever keeps just trying to spew things out hoping to make money when all they keep doing is fucking things up. when i buy a new pc im getting a copy of XP to keep on it.
_________________
QuakeDB - Quake ModDB Group

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Thu Dec 03, 2009 5:47 pm Post subject: |

Back on topic ... Despite my best efforts, following the Alchemy instructions I can compile the sample Alchemy stringecho.c project and Quake.swf but neither work. The sample project creates a EchoTest.swf that doesn't show a "foo" sprite but just an unanimated blue screen and I imagine that if that isn't working, I don't stand a chance with the compiled Quake.swf failing after the loading procedure.
So I've asked for assistance with getting the sample project to compile and/or the Quake.swf in the Adobe Alchemy forums
http://forums.adobe.com/thread/534033?tstart=0
Adobe Alchemy is a fascinating project. The Windows/Cygwin instructions are "wrong" but under Mac OS X it is very easy to get setup.
But it is frustrating that the sample project in BOTH operating systems isn't working as expected.
Hopefully someone at the Adobe Alchemy forums can help.

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Thu Dec 03, 2009 6:31 pm Post subject: |

Actually ... I think I just compiled it successfully. Only one way to remove all doubt ...

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Thu Dec 03, 2009 7:21 pm Post subject: |

Proof positive: http://www.quake-1.com/docs/flashquake/OpenQuartz.swf

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Thu Dec 03, 2009 10:50 pm Post subject: |

More information: Michael Rennie's Flash Quake is a 2 part compilation process. Stage #1: The engine [difficulty compiling = moderate] Stage #2: Uniting the engine and the game data (single pak0.pak seems to work best) [difficulty compiling = rather trivial once setup]
Now, the engine isn't something that most people are going to mess with. Unless the idea is modding the engine. The "engine" portion is compiled into a quake.swc (think of this as the equivalent of a quake.exe).
This quake.swc "object" (not sure of the Flash technical term) is then a component in the FlashDevelop project that has what looks like a script of events and this is where the game data, the engine and whatever the script does (loading, etc.) is united into a compiled quake.swf.
Speaking of the engine source. I was shocked as to how little the source files are modified to support this. system stuff, input stuff, rendering stuff -- the usual "operating system" specific things.
But most of the rest of it is barely touched at all. I think the total changed source files was 17, which the average WinMerge differences around 6 on average with about half of them being 1 or 2 changes.

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Fri Dec 04, 2009 12:26 am Post subject: |

More documentation / info .... List of files Flash Quake uses to compile ...

Quote:
cd_null.c // No cd support obviously chase.c cl_demo.c cl_input.c cl_main.c
cl_parse.c
cl_tent.c
cmd.c
common.c
console.c
crc.c
cvar.c
d_edge.c
d_fill.c
d_init.c
d_modech.c
d_part.c
d_polyse.c
d_scan.c
d_sky.c
d_sprite.c
d_surf.c
d_vars.c
d_zpoint.c
draw.c
host.c
host_cmd.c
in_null.c // Should really be named in_flash.c
keys.c
mathlib.c
menu.c
model.c
net_dgrm.c
net_loop.c
net_main.c
net_none.c // no network support obviously.
net_vcr.c
nonintel.c // Because no assembly language is used
pr_cmds.c
pr_edict.c
pr_exec.c
r_aclip.c
r_alias.c
r_bsp.c
r_draw.c
r_edge.c
r_efrag.c
r_light.c
r_main.c
r_misc.c
r_part.c
r_sky.c
r_sprite.c
r_surf.c
r_vars.c
sbar.c
screen.c
snd_dma.c // sound is 44,000 khz only in Flash
snd_mem.c
snd_mix.c
sv_main.c
sv_move.c
sv_phys.c
sv_user.c
sys_null.c // should really be named sys_flash.c
vid_null.c // should really be named vid_flash.c
view.c
wad.c
world.c
zone.c

A WinMerge shot of differences (some of the files that are marked with differences, like sys_win.c, are not part of the above project):
And just for reference, a shot of the project open in FlashDevelop.
The bin folder is where the compiled QuakeFlash.swf is created, the embed folder is whatever you want bundled into the swf (like pak0.pak) and the "quake.swc" is the compiled "Flash engine" which is created using Cygwin on Windows or terminal in the other operating systems.
As far as I can tell, Adobe Alchemy appears to be something that is the equivalent of causing Flash to be an "X11" type of window system.

Back to top |

frag.machine Joined: 25 Nov 2006 Posts: 728 |

Posted: Fri Dec 04, 2009 1:43 am Post subject: |

Baker, I remember someone was complaining about poor performance when the menu is shown or something like that. If that's the case, I remember that WinQuake suffers from a serious performance hit while the menu is drawn because the dithering layer drawn between the scene and the menu itself. Try to comment it in the source (sorry, don't remember exactly what, but it's not hard to find out) to see if it results in better performance.
_________________
frag.machine - Q2K4 Project
http://fragmachine.quakedev.com/

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Fri Dec 04, 2009 2:17 am Post subject: |

frag.machine wrote:
Baker, I remember someone was complaining about poor performance when the menu is shown or something like that. If that's the case, I remember that WinQuake suffers from a serious performance hit while the menu is drawn because the dithering layer drawn between the scene and the menu itself. Try to comment it in the source (sorry, don't remember exactly what, but it's not hard to find out) to see if it results in better performance.

Yeah that's (the dithering) rather noticeable. In the short term, I'm going to see what can be done, if anything, to raise the frame rate.
I've been thinking about the controls and the possibility of altering this from a WinQuake version to a 3D API version.
Flash 3D API candidate?
http://www.flashsandy.org/resources
http://www.streamhead.com/tutorial-getting-started-with-sandy-3d-and-flashdevelop/
I probably wouldn't be planning on messing with the idea of a 3D accelerated version of Flash Quake anytime soon (6 months?) but at the moment I'm just exploring.
List of things that would make Flash Quake better:
1. Using Flash's download API instead of downloading a huge all-inclusive 8 MB flash. I'm thinking of this as an engine, not as "Quake". So if I say something like the ability to download mods like the Quake Injector, I'm not talking about breaking the license agreement but rather as the Quake engine + QuakeC as it's own platform.
2. Sound volume control. Or at least ON|OFF control.
3. A way to handle mouse movement better.
4. Ability to toggle to full-screen. Without 3D acceleration and using a software renderer this would be bad.
MH has a largely complete OpenGL to Direct3D API mechanism. Part of me wonders about a gl_flashfake.c OpenGL to Flash 3D API mechanism.
I do think something like Flash Quake has quite a long-term future as an engine because I'm not thinking of what it is, but what it could be.
It kind of blows my mind that Michael Rennie created this out the blue and looking at the source code, he really knew what he was doing and has a large amount of familiarity with how Flash works internally.

Back to top |

Team Xlink Joined: 25 Jun 2009 Posts: 320 |

Posted: Sat Dec 05, 2009 10:14 pm Post subject: |

Would it be easy to make this run on flash player 6? I don't think it would but I am still thinking of trying it. _________________

Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!

Back to top |

Downsider Joined: 16 Sep 2008 Posts: 478 |

Posted: Sat Dec 05, 2009 10:36 pm Post subject: |

Team Xlink wrote:
Would it be easy to make this run on flash player 6? I don't think it would but I am still thinking of trying it.

LOL, if you're thinking of trying to run this on the PSP using it's Flash Player 6, which is the only thing I can think of doing with Flash Player 6, then you're fucking crazy.

Back to top |

Display posts from previous:

| Inside3d Forums Forum Index -> Engine Programming | All times are GMT Goto page Previous 1, 2, 3, 4, 5, 6 Next
Page 2 of 6

Jump to:

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2004 phpBB Group