Firefox 3D Canvas FPS Engine
axonis writes "Benjamin Joffe has developed Canvascape - "3D Walker", a simple javascript browser based 3D first person game engine that shows off the capabilities of the Canvas tag found in Firefox, Safari and Opera. " Don't expect much except a proof of concept ;)
Yay, a platform-independent way of senselessly killing innocent people! What's next, "Grand Theft Auto: Firefox <canvas>"?
Creative misinterpretation is your friend.
[In case it's slashdotted, the walkthrough looks like a standard FPS, with an M4 being held].
Then we have the last line of text:
This game is being developed but doesn't have much direction at this time, to make a suggestion email me. The gun is copyright by FarCry but is only here temporarily until I model the weapon set. Sydney Wedding Video and DVD
Wedding Video? Crazy Aussies...
-- Is "Sig" copyrighted by www.sig.com?
Now include a Wiki environment and people can dynamically built and develop on the levels. Looks nice, really.
FYI, Firefox only works from 1.5 onwards (Gecko 1.8), and Opera 8.5 doesn't work (anyone testing 9.0 could tell if it works or not?)
"The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
May I point out that Canvas tag is only supported in Firefox 1.5, and not the current stable release 1.0.7.
This game is being developed but doesn't have much direction at this time, to make a suggestion email me.
I hear Jack Thompson recently had some ideas.
I guess we've found a purpose for those 8 core CPU's we've been hearing about...
Jerry
http://www.cyvin.org/
Its funny to see things popup that have been done before but with standards that never made it....
It's because Opers's implementation of is at very early stage (JS in Opera is very fast). Since Opera helps to standari[zs]e <canvas> you can expect that they will aim for a pretty decent implementation.
And of course this technology will NEVER be used for ads.
And so Java3d takes yet another hit. It's always interesting and amazing to me that games in web browsers using things like java3d never really took off. It's probably all due to the loading times, and the ammount of content you'd have to send via http. I mean, look at modern games, one of the huge differneces is the ammount of memory modern video cards have for textures, hundreds of megabytes of textures. Could you imagine having to put that kind of strain on a webserver? It would simply be imposssible! While certainly neat, this will likely become an novelty. Even for things like demonstrations on websites of products, there's flash out there. But, i digress, yet another thing you can do via javascript hacks. Bravo! let the interoperability headaches abound....
I was just looking at the api and this has applications outside games. Think graphics programs; of course, nothing like Photoshop, but enough to allow doing images in a browser. Why use Dia as a standalone app when you can have a collaborative version in a browser?
It's coming..
> It would take you months to do that in assembler, and half a day to do it in C.
Imprecise. If considering only a specific platform and no existing libraries, you're even completely wrong: Coding ASM is significantly more time-consuming than coding C, but the difference is 3-5 times "only".
Obviously, with C, you get a higher level of abstraction, therefore more reusability, portability, etc.
> Then the C code would end up faster because compiler optimizations are faster than anything a person could hope to do,
Depends on the platform. Hardly anybody is able to optimize for speed a modern x86 processor "by hand", but RISCs and even some CISCs like the 68000 are another story. I have been programming for years as a hobby on the 68000 processor, and I have seen:
* GCC missing completely obvious CSEs: a global array used about ten times in a row, the compiler won't put its address into a register even if it has many spare ones;
* GCC not using the instruction set possibilities (10-byte code instead of 4-byte code, and that spills one more register; bad code related to local variables on the stack; etc.);
* GCC completely messing up a calling convention that should be more optimized ( saves&restores on a register that isn't even changed);
* etc.
Wonder why a number of not-very-powerful embedded platforms, like calculators, are still partly programmed in ASM...
There may be more appropriate compilers for those processors, but hey, GCC is supposed to be portable, and it has (had, they deprecated some useful things like casts-as-lvalues in GCC 4.0) cool extensions that most other compilers don't have.
> and it would be portable too.
If you use external libraries like the SDL, yes. Otherwise, no, not more than ASM.
Hold the space bar so you'll jump continually. Then, while holding the space bar, click on a window that isn't your browser (so the browser will lose focus). Then go back to the browser.
Click on the canvas, and walk around. You've turned into a rabbit.