Game Development in Mozilla
camworld writes "O'ReillyNet has a short article from the Alphanumerica guys about building a classic arcade game using Mozilla:
In a way, this is like connecting a DSL line to a Commodore 64 computer. We're working on rewriting an arcade game from the early 80s using Mozilla technologies. By combining two different technologies from two very different times, we hope to be able to learn something new from in a new way."
The main reason for doing this and a good reason at that is to demonstrate to all those who haven't quite grasped it yet that mozilla is not just a browser. I have spent time trying to talk about the great things you can do with XUL with people and all they talk abotu is how we don;t need another languages to skin with, newsflash, XUL is much much much more than a skinning language
Neither's Internet Explorer then:
Asteroids in DHTML, from Microsoft, done at least 2 years ago
Coming soon - pyrogyra
If you care to read your own link, they apparently added new Javascript functions, now its a matter of Mozilla adding these functions. And please note that these functions will only be accessable from localally stored javascript, making sure that happends is another story.
Could a javascript program look itself up in cache, and call itself to be run again, this time having local priviledges?
"As farAs far as I know, Javascript 1.5 has no capabilities to directly access the information on your harddrive, other than saving cookies and possibly files. as I know, Javascript 1.5 has no capabilities to directly access the information on your harddrive, other than saving cookies and possibly files."
Javascript can do file I/O in Mozilla. Take a look at this link
If tits were wings it'd be flying around.
Question: Will it still have the original cheat where if you fit into the right side of the "T" (which is above where you start) and face up while no ghosts are looking, you can stay there forever without getting caught?
xmlterm - The most advanced gui available? Allows you to switch from gui mode to cli mode within the same window without having to use the mouse. Pretty amazing.
Script Editor
- Another example of mozilla put to good use.
I don't see it as a good thing. There is still no decent graphical browser for X Windows. Our new poster boy, Mozilla, however, is not only a browser, but a newsgroup client, an e-mail client, a replacement for MAME, and, hell, why not an entire OS as well? It's like they're in competition with the Emacs people or something: see who can create the most complete yet unusable operating system that requires another operating system to run.
The whole idea is a little strange, though. Having cross-platform data (HTML) apparently wasn't good enough; now we need cross-platform programs too. Oh, pretty well the whole thing has to be rendered in software? Good! Just as long as every single pixel looks exactly the same in Windows as it does in Linux. That we can be sure that it will not look, feel, or act like any other program on any other platform, a sure-fire way to confuse our customers to no end. Then again, who needs to use programs on different platforms when they can run programs running on this new OS called Mozilla? I can only hope that some day Emacs will be ported to Mozilla, so that we can run an OS inside an OS inside an OS for no apparent reason.
Anyway I'm done bitching. I've got fed up with waiting for a decent, free web browser to appear; it's apparently never going to happen (Konqueror aside; I don't like KDE, OK?), so I've started the arduous task of writing my own. Blah. Mozilla looked so promising at the start, too. At around M8, it was the coolest thing on Earth.
This is certainly an interesting project: Not because it's Mozilla, not because its cross-platform, not because Pac-Man kicks ass (I'd rather it be good ol' Pong, myself), but because this has been what a number of major companies have been looking forward to, or fearing depending on who they are and what they have.
This is something that Microsoft realized too late,and has only recently recovered from. What is it? The movement towards web browsers as a platform. MS passed off the Internet has a fad and only later realized that the future was moving away from the desktop. You don't actually think that IE was "integrated" for added value you, do you? Of course not: it's only there to ensure that their desktop OS marketshare continues to their browser marketshare as they see that this is the platform of the future.
Sun couldn't be happier that the desktop is going, they want all the programs to be hosted on Sun servers like the good ol' mainframe days. However, they are not a major player in this area (HotJava was never designed as a end user browser, and their servers don't care which of the other browsers are being used). Netscape had the lead until MS was able to buy it back, but their merger with AOL could lead to Bad Things as this continues.
Perhaps I'm letting my bias interfere when I assume that Bad Things will happen out of necessity,just because this is AOL, but you can probably see why I feel that way. Chances are that you've probably logged on to AOL at least once, maybe at a relatives house, and been spammed by all those annoying popups. Just imagine going through that every time you want to finish a document under a deadline. That's just one obvious problem that I can think of, but let your mind wander . . .
This is the next frontier, and some have seen it coming for quite some time . . .
Emphasis added
Because, of course, nothing written using the Mozilla libraries could possibly be buggy...
I guarantee that in the coming weeks and months, you will begin to see more and more mozilla based applications come out. I would say that a good portion of what can be done on the desktop can be done in mozilla.
That said, any project that forces people to recognize that what we have here trancends the realm of browser is "a good thing."
Oh yeah, all it takes is a ZillaGL module and you could play quake too!
Tony
Micro$oft Word, Excel, and Outlook are very powerful because they contain scripting languages. That also makes them dangerous. What safeguards are there so that the ability to make a video game out of Mozilla can't be misused to format a million hard drives by remote control?
Anyway, it's not just Mozilla that could be powerful enough to make a video game. Tcl is a language that was designed to be embedded into programs as a scripting language. It's just not that remarkable that Mozilla has a scripting language powerful enough to build whatever you wanted.
If tits were wings it'd be flying around.
So what if this is a silly, pointless thing to do. Not everybody is driven by some relentless urge to advance the state of technology, or to earn a paycheck. Some of us design/code software because we like to.
This sounds fun, and perverse (which many of us consider a good thing), so I like it. If you think it's a waste of time, then go write something productive and stop heckling people who have a different view of what it means to program.
My mom is not a Karma whore!
Did this strike anyone else as a steaming pile of BS?
Why can't they just say: we're doing it for fun, because we have way too much time on our hands?
--
It's a
-- Danny Vermin
I remember when I first heard of DirectX and games being built to run in Windows. I thought, "why slow down a game by running it in Windows when you can run it in DOS". Mind you, this is when I knew little technically. But as computers became more powerful, the small (or not so small, depending on the code) decrease in game speed paid off in interoperability with many video and sound cards, and other hardware.
...) performance may be hit, but when the technology fills out, we will truly be able to run an application anywhere. Windows or Linux, who will care? - mostly developers, but eventually they will be as significant to the end user as the microcode on your CPU.
I think the same is true for XUL/XML, DOM et al. In adding the extra layers (running an application on top of a browser on top of a virtual machine on top of an OS,
LS
There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
This is cool. Bloatware for the hellofit.
:-)
These programmers are building an entire computing environment (XML in a browser) which runs inside of another computing environment (classic OS), and then re-writing a game to show how they can now work entirely inside of Mozilla and never have to leave the browser environment.
This is yet another example of how the computer, the OS, the applications, and the network are all starting to become interchangeable. It goes one step closer to Bill Gates assertion that the browser belongs inside the OS, but it also shows that a sufficiently bloated browser can replace the OS.
Now they just have to write some compilers and libraries in XML, and we'll never have to leave our browser environments again. Ooops, that's emacs. Sorry.
the AC
Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
I can pretty much say for sure that it won't be programmed in the same way as it was for the Z80. I've recently tackled Gameboy programming (also a Z80), and I can't see why anyone would want to duplicate the "style" of assembly programming for the Z80. It's fun when you're doing it for a real machine, but senseless to simulate.
For example, the Z80 only has ONE general purpose register ("A"). All loads and stores (even literals) have to pass through this register, so there tends to be a lot of register dancing that would be completely silly in a modern architecture.
Second, you want to go to great pains to avoid tables larger than 256 bytes, and they must be powers of two (or sums of powers of two). This is because there's no multiply instruction, and no 16-bit add; you have to simulate that yourself (with just the one A register, again).
You're also constantly at battle with the limited ROM/RAM of the hardware, switching banks (if you're lucky) to get around the 65k address space. Unheard of in a "modern" scripting language.
They may go with a "character data" and "background/sprite data" scheme like used on the nintendo and gameboy (and possibly similar to the way the Pac-Man arcade game worked); this seems to be a sensible way to go about making games with high graphic redundancy. But with the (comparably) high memory requirements that XUL has, it's probably simpler and more appropriate to just draw everything programatically.
My guess is that this will just be another everything-is-a-string javascript hack. Not that there's anything wrong with hacks...
"This just proves that Mozilla is too bloated as well."
When the Mozilla project started, the requirements were that the resulting software be highly portable, compliant with a whole slew of web standards, and be a superset of the functionality of Netscape Communicator. Thus, it was doomed to be bloated before it even began. It was doomed to be bloated because that's what people WANTED it to be.
To quote JWZ (although he was referring to the pre-opensource Mozilla), "Mozilla is big because your needs are big. Your needs are big because the Internet is big. There are lots of small, lean web browsers out there that, incidentally, do almost nothing useful. If that's what you need, you've got options..."
Mozilla's solution to its own bloat-by-design was, IMHO, rather elegant. It took stock of the what it was required to implement, and then used those technologies to build other components. This isn't anything particularly new, of course emacs invents itself from its lisp interpreter.
To fulfil its goal of standards compliance, Mozilla had to understand HTML, XML, Javascript, DOM and CSS. To maintain a suite of applications (browser, mail/news, html authoring tool) across widely differing platforms, it needed its own flexible, cross-platform UI and Networking libraries.
So Mozilla's self-reinvention as a platform, rather than an application was the result of necessity, and some pretty good thinking from the designers rather than just bloat for the sake of bloat. It was actually the most efficient way that it could perform the task it had been given.
Charles Miller
--
The more I learn about the Internet, the more amazed I am that it works at all.
Ahh the good old games. I remember when games had to be optimized and tweaked and seriously hacked in assembly in order to run on the slow desktops of the 80s. The biggest problem with those games is that they don't run too well on faster machines.
Correction they run extremely well and so fast that on the right hardware the game will be over before you realize it has started. My saving grace was a program named atslow. It would slow down your systems apparent performance to a level that let those old games be usable.
Recodeing a classic, any classic, inside Mozilla should have the same effect. The low resolutions and simple movements of older games are such that they can be run on modern hardware in even the slowest programing tools. Even Java and qbasic work.
This project should be a whole lot of fun. I'll definitely want to run through this code. Now howsabout building crazy climber as a kpart or a bonobo object so that we can embed it inside the calculator or make it a VIgore easter egg.
--= Isn't it surprising how badly I spell ?