Slashdot Mirror


Quake2 Ported to Java, Play Via the Web

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!"

14 of 326 comments (clear)

  1. If I was Sun CEO... by should_be_linear · · Score: 5, Insightful

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

    --
    839*929
    1. Re:If I was Sun CEO... by TheRaven64 · · Score: 5, Insightful

      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.

      --
      I am TheRaven on Soylent News
  2. Re:Erm, link: by bentcd · · Score: 3, Insightful

    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.

    --
    sigs are hazardous to your health
  3. Quake 2 seminal? by Malc · · Score: 3, Insightful

    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.

    1. Re:Quake 2 seminal? by Antonymous+Flower · · Score: 5, Insightful

      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 :)

  4. Re:Erm, link: by MartinG · · Score: 5, Insightful

    This is a bullshit argument that generally presumes a substandard optimization by the binary compiler.

    No it assumes that the compiler cannot know the most common runtime code paths (which is true). A JIT engine can of course.

    Even with compilers that read seperately collected profiler data (such as recent gcc which can take gprof output) can only work on that one profiler measurement. Lots of software is highly dependent on usage patterns and so different paths will be run depending on how the user uses the software. Only runtime optimisation can take this into account.

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
  5. The Slowness Of Java by Lagged2Death · · Score: 4, Insightful

    Even with 512MB of RAM, Azureus (the hugely popular Java-based BitTorrent client) takes forever to start up, responds sluggishly to user input, and sucks down so much RAM that the Windows PC it's running on is nearly useless for any other task. This isn't simply the nature of BitTorrent - other clients run far more smoothly.

    Maybe there are reasons for this that aren't directly related to Java. Maybe Azureus just isn't very well-written, or maybe it's just feature-bloated. Maybe the Windows JVM just stinks.

    But in any case, the common perception of Java applications as being slow and ponderous is one that Java applications have earned - there are actual reasons, based on real-world experiences, that cause people to feel this way. That has nothing to do with some pig-headed resistance to change.

    Rather than railing against the Java-haters, why not point out some useful, slick, fast Java-based applications? I'd love to see some. Every one that I've tried so far has been a disaster in one way or another. I honestly want to like Java. I like the language, I love the concept - it's the real-world experience with it that I have a problem with.

    1. Re:The Slowness Of Java by FatherOfONe · · Score: 4, Insightful

      "Rather than railing against the Java-haters, why not point out some useful, slick, fast Java-based applications? I'd love to see some."

      Um, you did see what the article is about didn't you? Perhaps you should try it out.

      I have used quite a few Java programs and most perform well.

      --
      The more I learn about science, the more my faith in God increases.
    2. Re:The Slowness Of Java by Anonymous Coward · · Score: 4, Insightful

      A port of Quake 2 that is slower and uses more memory than the native client that was released seven years ago?

    3. Re:The Slowness Of Java by SComps · · Score: 2, Insightful
      Either you don't know one end of a computer from another or you're deliberately spreading FUD.


      Or he might be a normal non-evangelical java junkie that runs it out of the box. Like me. It runs like shit on my sytems too, and everyone else I know that runs it.. runs like shit. Of course they're not going to tweak the VM, the applications or run around in a handful of config files or whatever else you've done to manage to get it to perform reasonably. Fact of the matter is that it works file for you, and doesn't for him (or me et al)

      It doesn't mean he's unable to determine the linear end points on his computer any more than it determines you're able to recognize the difference between your posterior and a pitch fork.

      notice, I was able to state my opinion without backing it up with a bunch of useless output from a console. (which mind you is dubious in that I'm sure you can use vi. You're the kind of person that loves vi right?)

    4. Re:The Slowness Of Java by Alban · · Score: 2, Insightful

      You sound like an armchair general talking about how it is in the trenches (posting as an AC, no less).

      John Carmack is not the greatest programmer, but he is a damn fine programmer. He has shipped tons of games, and shipping games is an incredibly difficult thing. You also have to keep in mind that until quake2 included, he handled almost all major programming tasks (rendering, networking, architecture). Doom is one of the first games I've seen to cleverly use the same client/server architecture whether you are playing a single player or multiplayer game. Carmack is an extremely focused and fast programmer that ships games.

      It is just soooo easy to look at code and call out its flaws. Would you like to release some of your code online for all of us to scrutinize?

  6. Nice to see a full port, not just the game logic by FerretFrottage · · Score: 2, Insightful
    Q2Java 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?

    --
    "Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
  7. Re:Erm, link: by laffer1 · · Score: 3, Insightful

    I fit category 1 and 3 above and I still think java runs very fast for server based code. Running a java servlet container is very fast. A few applications like jedit, intellij idea and limewire seem fast on the graphical front. Someone can write a slow .NET, C++, or objective c app too.

    Java's benefit is its age and portability. Its fairly mature and very fast when running under the server vm for some time. Quick command line apps are best served with C code. Compile C code with g++ instead of gcc sometime. Not only will your code run slower, but it will be larger as well. Likewise time a Visual C++ app vs a .NET gui app starting up. The advantage of Java and .NET is the massive amount of libraries that are guaranteed to be there. The STL in C++ is not implemented consistently across compilers or platforms. My big complaint with java isn't speed, but organization. I find the namespaces cluttered and confusing compared to .NET. Think about it. They have io and nio. Try to write XML code sometime! Oh god. Java is more portable than .NET though. The price is a consistant namespace layout. Maybe someday if Mono matured to a point it was portable and at least .NET 1.0 compatible we'd see a real shift in software development. I'd use c# in bsd for example. Its great for web development compared to the servlet api.

    If your vision of java is applets think again. No one uses java for applets anymore. If you do, you missed DHTML and its recent variants. Client side code is ignorant anyway. Browsers aren't standarized enough for that yet. Java is good for server side code and if written properly, desktop gui applications.

  8. How is it bigotry? by chaboud · · Score: 2, Insightful

    The only reason that this posting is news is that, up to now, Java programs haven't been as fast as C++ programs in the general case. Given the overwhelming experiential evidence, it would seem that the Java bigots are the ones who need to make more of a case than "it is faster because I say so." Quake 2 running on Java is a start. Quake 4 having shipped as full Java would have been a big win. That this post isn't being brushed off as non-news bears out my point.

    This is really the conflation of two orthogonal arguments, though, and we should take care to avoid treating languages and their compilation/execution mechanisms as locked behaviors.

    When the Cell takes over, we'll all be stuck writing for SPEs in straight C.