Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Game Development in Mozilla

Posted by Hemos on Wed Jul 05, 2000 06:39 PM
from the better-than-pac-man dept.
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."
This discussion has been archived. No new comments can be posted.
Game Development in Mozilla | Log In/Create an Account | Top | 89 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1) | 2
  • by spectecjr (31235) on Wednesday July 05 2000, @02:58PM (#955330) Homepage
    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 [microsoft.com]
  • Re:So much time, so few ideas by acidrain (Score:1) Wednesday July 05 2000, @03:47PM
  • Re:Be careful... by MindStalker (Score:2) Wednesday July 05 2000, @03:53PM
  • The new icon is bigger. by yerricde (Score:2) Wednesday July 05 2000, @03:57PM
  • Re:Speed by Schnedt McWapt (Score:1) Wednesday July 05 2000, @03:58PM
  • Commodore 64 by linux_penguin (Score:1) Wednesday July 05 2000, @08:21PM
  • Re:Be careful... (Score:3)

    by MindStalker (22827) <jlarsen.fsu@edu> on Wednesday July 05 2000, @03:59PM (#955336) Journal
    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?
  • ::Sheesh:: by Whyte Wolf (Score:1) Wednesday July 05 2000, @09:04PM
  • Re:Z80 by _Wrath_ (Score:1) Wednesday July 05 2000, @10:02PM
  • Re:Cool! by Zaaf (Score:1) Wednesday July 05 2000, @10:08PM
  • M$ Illegally Bundles OS with Browser! by Bongo (Score:1) Wednesday July 05 2000, @11:08PM
  • What would be really interesting to see by Salsaman (Score:1) Wednesday July 05 2000, @11:37PM
  • Bridging the technology gap. by Godwin O'Hitler (Score:1) Thursday July 06 2000, @01:17AM
  • Re:So much time, so few ideas by happystink (Score:1) Thursday July 06 2000, @03:13AM
  • Save a lot of pain and use Shockwave/Flash... by ikekrull (Score:1) Wednesday July 05 2000, @02:20PM
  • Just goes to show.... by kramerj (Score:2) Wednesday July 05 2000, @02:21PM
  • Re:Be careful... (Score:4)

    by PD (9577) <slashdotlinux@pdrap.org> on Wednesday July 05 2000, @02:23PM (#955346) Homepage Journal
    "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 [alphanumerica.com]
  • by AtariDatacenter (31657) on Wednesday July 05 2000, @02:23PM (#955347) Homepage
    I'm wondering how close they are coming towards the original programming structures of Pac-Man. (Yes, I know. But for those who don't, it was programmed in assembler for the Z-80 processor. I have the arcade game.) I've seen a number of vintage game programming books which detail in various ways how the game was programmed. (The different tables and what not.) I'm a little surprised that someone hasn't disassembled and documented the game's code.

    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?

  • by freddie (2935) on Wednesday July 05 2000, @02:24PM (#955348)
    xmlterm [xml.com] - 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.

    [alphanumerica.com]
    Script Editor
    - Another example of mozilla put to good use.

  • by mikpos (2397) on Wednesday July 05 2000, @02:24PM (#955349) Homepage
    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.
  • Thus it began (Score:5)

    by JasonChu (207887) on Wednesday July 05 2000, @02:26PM (#955350)

    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 . . .

  • Re:Be careful... by twjordan (Score:1) Wednesday July 05 2000, @03:17PM
  • hmmm by acidrain (Score:2) Wednesday July 05 2000, @03:17PM
  • Re:Great quotation by vyesue (Score:1) Wednesday July 05 2000, @04:02PM
  • Re:What a stupid idea. by Anonymous Coward (Score:1) Wednesday July 05 2000, @03:21PM
  • Amazing things you can do with Mozilla #327 by outrage98 (Score:1) Wednesday July 05 2000, @03:22PM
  • Re:Why? by Anonymous Coward (Score:1) Wednesday July 05 2000, @04:14PM
  • Re:Original Pac-Man Code by Cuthalion (Score:1) Wednesday July 05 2000, @04:17PM
  • That would be too easy. by darylp (Score:1) Thursday July 06 2000, @03:19AM
  • Re:Be careful... by benmg (Score:1) Thursday July 06 2000, @03:34AM
  • Re:Parallax by Zagadka (Score:1) Wednesday July 05 2000, @04:20PM
  • Re:Why this is "a good thing" by Strog (Score:1) Thursday July 06 2000, @03:45AM
  • quality by purefizz (Score:2) Wednesday July 05 2000, @01:43PM
  • Re:Why this is "a good thing" by hawk (Score:1) Thursday July 06 2000, @04:49AM
  • Re:Z80 by Tom7 (Score:1) Thursday July 06 2000, @05:02AM
  • How to be high tech by webrunner (Score:1) Wednesday July 05 2000, @01:44PM
  • I want my M.U.L.E. by Stavr0 (Score:1) Thursday July 06 2000, @05:41AM
  • hmpt by Mr804 (Score:1) Wednesday July 05 2000, @01:46PM
  • Guys, They are not emulating a C64! by grandmofftarkin (Score:1) Thursday July 06 2000, @05:46AM
  • Great quotation (Score:3)

    by 97jaz (33263) on Wednesday July 05 2000, @01:47PM (#955369)
    Other web-based clones of this game exist on the Internet. Most of these versions were created in one of two ways: using the inconsistent and limited implementations of DHTML in current browsers, or using Java,
    which can be buggy and may result in horrendous lag time.

    Emphasis added

    Because, of course, nothing written using the Mozilla libraries could possibly be buggy...

  • Why? by Anonymous Coward (Score:1) Wednesday July 05 2000, @01:44PM
  • Cool! by Duke of Org (Score:1) Wednesday July 05 2000, @01:44PM
  • by twjordan (88132) on Wednesday July 05 2000, @01:49PM (#955372)
    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.

    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

  • Praise the Lord!~ by soulsteal (Score:1) Wednesday July 05 2000, @01:45PM
  • Re:Why this is "a good thing" by King Babar (Score:2) Thursday July 06 2000, @09:33AM
  • Re:Why? by Anonymous Coward (Score:2) Wednesday July 05 2000, @01:49PM
  • If you love old games... by Redwire (Score:2) Wednesday July 05 2000, @01:49PM
  • This is news? by StevenMaurer (Score:1) Wednesday July 05 2000, @01:50PM
  • Be careful... (Score:4)

    by PD (9577) <slashdotlinux@pdrap.org> on Wednesday July 05 2000, @01:50PM (#955378) Homepage Journal
    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.
  • friggin naysayers (Score:3)

    by gunner800 (142959) on Wednesday July 05 2000, @02:32PM (#955379) Homepage
    (And no, I don't know how to spell "naysayer")

    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!

  • Wrong analogy, bloat by Anonymous Coward (Score:1) Wednesday July 05 2000, @02:38PM
  • Re:meta-computing by acidrain (Score:1) Wednesday July 05 2000, @03:26PM
  • by NaughtyEddie (140998) on Wednesday July 05 2000, @03:27PM (#955382)
    By combining two different technologies from two very different times, we hope to be able to learn something new from in a new way.

    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?

  • I still suck at it by Sabalon (Score:1) Wednesday July 05 2000, @03:30PM
  • For MacHack, the IE team did asteroids in DHTML by sfgoth (Score:1) Wednesday July 05 2000, @03:39PM
  • I bet ... by dbarclay10 (Score:2) Wednesday July 05 2000, @04:52PM
  • Re:Why this is "a good thing" by acidrain (Score:1) Wednesday July 05 2000, @03:40PM
  • Re:Why this is "a good thing" by Bogatyr (Score:1) Wednesday July 05 2000, @03:42PM
  • Re:meta-computing by Pfhreakaz0id (Score:2) Wednesday July 05 2000, @04:57PM
  • Just emulate by / (Score:2) Wednesday July 05 2000, @05:38PM
  • by LS (57954) on Wednesday July 05 2000, @05:44PM (#955390) Homepage
    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.

    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, ...) 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.

    LS
  • Re:friggin naysayers by / (Score:1) Wednesday July 05 2000, @05:47PM
  • Re:Why this is "a good thing" by hawk (Score:1) Thursday July 06 2000, @09:57AM
  • Re:Why this is "a good thing" by basic (Score:1) Thursday July 06 2000, @03:24PM
  • Re:Why? by Anonymous Coward (Score:1) Wednesday July 05 2000, @05:54PM
  • Re:Why this is "a good thing" by SEE (Score:2) Friday July 07 2000, @09:28PM
  • Pshaw... by tunesmith (Score:2) Wednesday July 05 2000, @01:50PM
  • Learn something new? by GenericBoy (Score:1) Wednesday July 05 2000, @01:50PM
  • Re:Great quotation by 97jaz (Score:1) Wednesday July 05 2000, @01:51PM
  • Re:Why this is "a good thing" by Anonymous Coward (Score:1) Wednesday July 05 2000, @01:51PM
  • Re:Be careful... by twjordan (Score:1) Wednesday July 05 2000, @01:53PM
  • meta-computing (Score:4)

    by anticypher (48312) <anticypher&gmail,com> on Wednesday July 05 2000, @01:57PM (#955401) Homepage
    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
  • Temple of Apshai? by brennanw (Score:2) Wednesday July 05 2000, @02:02PM
  • Old computers don't die... by mattkime (Score:1) Wednesday July 05 2000, @02:42PM
  • Vroom by iridium18 (Score:1) Wednesday July 05 2000, @02:44PM
  • Re:Cool! by / (Score:2) Wednesday July 05 2000, @05:55PM
  • Re:Learn something new? by / (Score:1) Wednesday July 05 2000, @05:58PM
  • Z80 (Score:3)

    by Tom7 (102298) on Wednesday July 05 2000, @05:59PM (#955407) Homepage Journal
    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...
  • Re:Be careful... by zeck (Score:1) Wednesday July 05 2000, @06:20PM
  • Re:Why this is "a good thing" by RedWizzard (Score:1) Wednesday July 05 2000, @06:31PM
  • Re:Why this is "a good thing" by Inoshiro (Score:2) Wednesday July 05 2000, @06:34PM
  • by carlfish (7229) <cmiller@pastiche.org> on Wednesday July 05 2000, @06:38PM (#955411) Homepage Journal
    "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
    --
  • Reliability... by chocolatetrumpet (Score:1) Wednesday July 05 2000, @08:09PM
  • Re:Speed by Thr34d (Score:2) Wednesday July 05 2000, @02:08PM
  • Re:Speed by Xiphoid Process (Score:2) Wednesday July 05 2000, @02:08PM
  • Re:meta-computing by Spider-X (Score:1) Wednesday July 05 2000, @02:10PM
  • by Forge (2456) on Wednesday July 05 2000, @02:10PM (#955416) Homepage Journal
    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.
  • Re:Be careful... by tono (Score:2) Wednesday July 05 2000, @02:12PM
  • Copyright by Michael Woodhams (Score:1) Wednesday July 05 2000, @02:15PM
(1) | 2