Forgot your password?
typodupeerror
Quake First Person Shooters (Games) Java Programming Entertainment Games

Quake2 Ported to Java, Play Via the Web 326

Posted by Hemos
from the keepin-it-old-school dept.
casemon writes "Quake2 fans unite! Thanks to German software developer ByTonic software, you can now play Quake2 via the web with Jake2 a java port of ID Softwares seminal Quake2. ByTonic claims performance is similar to original C version. From the Jake2 website; "Jake2 is a Java 3D game engine. It is a port of the GPL'd Quake2 game engine from idSoftware. To use the Jake2 engine you need either the data files from the original game or from the demo version available for download from ftp://ftp.idsoftware.com." You actually don't need to get the data files, they've set it up to automatically download the 38Mb demo assets using WebStart. Just click the Play Now button and away you go. Most features supported, even multiplayer server!"
This discussion has been archived. No new comments can be posted.

Quake2 Ported to Java, Play Via the Web

Comments Filter:
  • Erm, link: (Score:5, Informative)

    by medgooroo (884060) on Monday November 28, 2005 @08:48AM (#14127851)
    http://www.bytonic.de/html/jake2.html [bytonic.de] just thought it might be, you know, handy?
    • Too sad that the idSoftware server is slashdotted and I could not download the data from the webstart program =o(
    • Re:Erm, link: (Score:3, Informative)

      It is awesome what they have did!

      I have a real good computer (memory, processor and video card) but I must tell you, the game runs really fast, you dont have the feeling of running a java application with all those 3 dimensional objects flying around you. You cant tell thats a program being interpreted.

      Great job folks! The Java community has only to earn with this proof of concepts works :)

      I have been there [livejournal.com]
      • Re:Erm, link: (Score:3, Insightful)

        by bentcd (690786)
        You cant tell thats a program being interpreted.
        Java programs don't get interpreted on modern VMs, they get JITed. In some cases, this can result in more effecient code than a precompiled binary such as one created by a C compiler.
        • Re:Erm, link: (Score:2, Informative)

          by gcauthon (714964) *

          Java programs don't get interpreted on modern VMs, they get JITed

          Question, how does the Java program get "JITed" without getting intepreted first? Does the VM use ESP to read the mind of whoever wrote the program?

          This argument is so old and ridiculous. The only benefit of JIT is that it prevents having to reinterpret the same piece of code over and over if it's executing a loop or procedure multiple times. JIT just makes Java an efficient intepreter rather than a crappy one (which it used to be).

  • Works pretty well (Score:5, Informative)

    by Anonymous Coward on Monday November 28, 2005 @08:52AM (#14127865)
    I saw it at swing sightings. I tried it with the original game files and didn't notice any difference in speed with the original binaries.
    And this with a not so fast computer: PIII 800, TNT 2, 384 MB RAM.
    Anyway if you wanna see benchmarks with older computers look at their web.
    • I remember buying Quake 2 from the store and at the time the fastest thing I had to play on was a Pentium 233 MHz with 64RAM and a 3Dfx Voodoo 2 video pass-thru card.

      Performance wasn't exactly on par with what everyone else was bragging about on the popular review sites at the time, but fair and good enough to play, which for me was around 20-30fps at 640x480.

      I think an 800 MHz CPU would've been 2 to 3 times faster than what the game was originally made for.

      If I recall, the fastest CPU on the market then at
  • by should_be_linear (779431) on Monday November 28, 2005 @08:59AM (#14127901)
    ... I would give this guy research lab and resources to create java-based DirectX library. For game developers, it would be just great to write once and sell on Windows on Linux on Mac on Playstation (don't know about XBox). Even without Sun's support, it would be great fot 3rd party to sell such engine/framework.
    • ... I would give this guy research lab and resources to create java-based DirectX library. For game developers, it would be just great to write once and sell on Windows on Linux on Mac on Playstation (don't know about XBox). Even without Sun's support, it would be great fot 3rd party to sell such engine/framework.

      You'd have to give it away for free to make *anyone* throw away their well-tested-and-working C++ engines for a Java Version. No matter how fast it is, the java=slow paradigm is burned to deep into
    • by TheRaven64 (641858) on Monday November 28, 2005 @09:21AM (#14128047) Journal
      Java already has an OpenGL interface (presumably what this is using). I don't know what this guy is using for sound (although the Java Media Framework might work), or input, but presumably all of the pieces are already there. What Sun really needs to do is market Java better as a game development platform. Add some code for loading models as OpenGL display lists, and a few other convenience methods and start plugging the platform better. Oh, and relax the licensing so I can run Java on my FreeBSD box without jumping through hoops.
      • Java already has an OpenGL interface (presumably what this is using). I don't know what this guy is using for sound (although the Java Media Framework might work), or input, but presumably all of the pieces are already there.

        Yes, probably JOGL [java.net] for the OpenGL. For sound, core Java can handle raw PCM, and JOAL [java.net] (Java Bindings for OpenAL) can sit on top of that. Java Media Framework is useless and effectively dead. Input can be handled by JInput [java.net].

      • Still, there are things that needs to be addressed:
        - Multiplayer should allow voice and webcam communication.
        - There should be Servers and bandwidth available for Multiplayer games.
        - All parts of this library must be able to run on Windows/Linux/Mac/Playstation (including JRE and SPU support on PS3)
        - There should be new graphic instructions in Java JRE (based on OpenGL API) that directly maps to OpenGL driver and don't need RMI layer.
        - There could be "iTunes for games" service that provides all game
      • I don't know what this guy is using for sound (although the Java Media Framework might work), or input, but presumably all of the pieces are already there.

        https://joal.dev.java.net/ [java.net]joal for Sound according to his site.

        https://jogl.dev.java.net/ [java.net]jogl for OpenGL

        http://www.lwjgl.org/ [lwjgl.org] Light Wieght Java Game Library

        Man this guy is good, he won't even let you copy paste his web text.
        Seriously, good work, Are you aware Q3 has been liberated?

        • Man this guy is good, he won't even let you copy paste his web text.

          I suspect that's a Firefox incompatibility (or if you prefer, the result of coding to IE's broken renderer), as it works fine in IE.
    • ... I would give this guy research lab and resources to create java-based DirectX library. For game developers, it would be just great to write once and sell on Windows on Linux on Mac on Playstation (don't know about XBox). Even without Sun's support, it would be great fot 3rd party to sell such engine/framework.

      Since almost everyone already has a good OpenGL library, including Java, why not just write for that and deploy on everything that supports it, and give people a research lab and resources to maint

  • Yes, but does in run (Score:2, Interesting)

    by Kj0n (245572)
    in Firefox [slashdot.org]?
    • I don't konw about firefox, but it doesn't do anything in Mozilla (just asks what to do with the jnlp file). So I put in "java", which just crashed the browser instantly. So after a little web searching apparently there's a "javaws" program? But blackdown-jdk-1.4.1 doesn't have any such thing. Sigh.
  • works on a mac (Score:2, Informative)

    by Anonymous Coward
    Runs great on my 1.2 GHz G4 with 640 MB of RAM in OS X 10.4.3. Running the web start version downloads a file which starts up as a separate java program.

    This is the coolest use of Java I've ever seen.
  • Quake 2 seminal? (Score:3, Insightful)

    by Malc (1751) on Monday November 28, 2005 @09:20AM (#14128040)
    No, I don't think so. Perhaps if you were born after 1985. Wolf 3D and Doom were the seminal games, or perhaps even Ultima Underworld, although nobody seems to remember that one. There were many games in the genre making it appear tired and unoriginal long before Quake 2 came along with a bit more of the same.

    I've played Quake 2 than all the rest put together, but that doesn't make it seminal.
    • by Antonymous Flower (848759) on Monday November 28, 2005 @09:32AM (#14128116) Homepage
      Quake 2 was the first game designed for and supporting 3d acceleration out of the box. In this way it is certainly seminal. So much so, in fact, that 3d acceleration is no longer a part of the collective consumer consciousness :)
      • I think what you've described, and the features described by others in their replies are just part of the natural evolution of the same concept. I was bored and fed-up with FPS games before Q2 came along. It sucked me back in for many more years. But that didn't make it seminal as a game. It was more of the same, just with better graphics and more refined controls.

        The advances made at ID Software in computer graphics are impressive. Unfortunately a lot of games are afflicted by an obsession with the gr
    • Re:Quake 2 seminal? (Score:3, Interesting)

      by Chrontius (654879)
      If you consider Quake2 as the first game to really make it while introducing proper mouselook to the masses, yes it is. Duke3D had it, but it was wonkky enough to make me seasick so it never got used. Quake2 gave you the ability to do much more with it than anything prior, even Quake, where it was not really needed and played by the best gamers I know with pure keyboard.
      • Quake2 gave you the ability to do much more with it than anything prior, even Quake, where it was not really needed and played by the best gamers I know with pure keyboard.

        Good Quake1 Capture The Flag players did not use "keyboard only" because all of the volume of a map was available for players to use via the grapple.

        Those who did not use a mouse couldn't keep up with and track the mouse users. They were left in the dust.
    • Wolfenstein 3D and Doom aren't seminal. Marathon was seminal. It was the first one that actually had a story and puzzles to figure out. Wolfenstein and Doom aren't even in Marathon's league when it comes to gameplay.
    • Perhaps he meant Quake 2 was seminal towards id's use of more than brown and green in the color palette.
    • Born in 77.. Quake GL was arguably the first eye-opener to 3D gaming, but Quake 2 was the first full experience with 3D cards. It holds a special place in my heart with Wolf 3D and Doom.

  • dupe (Score:2, Informative)

    by tduff (904905)
    dupe [slashdot.org]
  • Performance myth. (Score:3, Informative)

    by adolfojp (730818) on Monday November 28, 2005 @09:44AM (#14128188)
    Jvm apps can be faster than their compiled counterparts, specially when compared to those made with non specialized compilers like GCC. The "virtual machine = slow" myth is no longer true.

    The real issue is startup time and initial memory consumption. Java is not suitable for applets that run in the background because your basic app will require about 20 megs of RAM minimum to start. Another issue is swing. You can disagree with me, but please wake me up when it gets clear type fonts on windows.

    Cheers,
    Adolfo
    • by Anonymous Coward
      Mustang (Java 6) which is under Open development (not quite open source license) already has wider support for clear type than Microsoft... So you are right its a bit late but people have invested work into that.
      Swing is not slow or bloated, it just can't be compared to the native OS size since it duplicates its functionality so its memory usage seems high in the task manager. Startup time and cold start is improving with every release and building serious client side Java applications is becoming a very re
  • by Numen (244707) on Monday November 28, 2005 @10:03AM (#14128324)
    Can we get a comparison of the Java and .NET ports of this?

    The .NET port can be found at http://www.vertigosoftware.com/Quake2.htm [vertigosoftware.com]
    • Use of unmanaged C++ code inside the the .NET Quake engine makes a comparison a bit slippery. Sure, you could reason that since thats a feature of .NET, that it should count. But then again, they use it so much (C++) that it can barely be called .NET but rather a mere wrapper around a C++ engine.
      • There is a managed version as well, apparently, that's probably the one that should be used for fair comparison. The language feature argument should, as you say, be discounted, since JNI is likewise a feature of Java — it doesn't mean it's fair game to just call native code because of this, though.

        • JNI is likewise a feature of Java -- it doesn't mean it's fair game to just call native code because of this, though.

          I did not scroll down far enough to see they had a managed version. Yes, I could see if Jake2 called C++ code using JNI outside just calling the OpenGL/OpenAL bindings to get performance than that would discount the comparison too. I will have to investigate this "fastjogl".

          The managed .NET code, according to the developers, runs 85% the speed of the original C game. This seems to be appro
  • by Anonymous Coward
    Most users that played Quake2 did not have hardware with builtin 3D acceleration. So the folks at idsoftware improved their already outstanding software rasterizer for Quake2, which provided almost identical rasterizing performance on then-highend machines compared to modern 3d cards at that time.
    If the Java version would do the same, then I would take my java performance prejudices and dump them.
  • by FerretFrottage (714136) on Monday November 28, 2005 @10:30AM (#14128536)
    Q2Java [planetquake.com] was a port of the Q2 game logic and used JNI IIRC to interface with the game engine since 3D graphics support and serious sound support for Java was still nascent if existing at all. I wonder how hard it will be to port my "grapple the head mod" over to this version?

  • by bored (40072) on Monday November 28, 2005 @11:40AM (#14129253)

    I have two points.


    Comparing a static C binary, with a JIT is sort of silly. Logically comparing a JIT with a C binary compiled with profile based feedback optimization is probably more legitimate.

    Secondly, the released Quake engine had a couple of assembly routines. Proving that C wasn't always the best choice, even back then. My understanding is that the versions of quake with assembly loops are roughtly 30% faster than the C only version they are comparing this with.

    In the end these sound like good results, I'm continually amazed at how fast java has gotten. The fundamental arch is pretty much broken for generating fast binaries, and it speaks volumes about the quality of the coders writing the JIT engines that they can make a stack based compilation target run fast on modern processors.



    Oh, one final thing, did anyone see what C compiler they used for those numbers? I'm currious if it was the same compiler ID originally used, or one of the more modern intel compilers?


  • Unplayable on my monitor. Brightness???

I'd rather just believe that it's done by little elves running around.

Working...