Slashdot Mirror


Sun Pushes Java For Games Market

mysterious_mark writes "Sun has a new initiative promoting Java for game development, according to a story at CNET News." Interestingly, the company is trying to convince game makers that you can make state-of-the-art titles in Java as easily as simpler browser or phone games: "Java also has been used to build a number of simple online PC games, such as card games, but the language can be used to create sophisticated graphics for A-list games, Melissinos said. 'Some people may have the misconception that Java can't do great, high-performance graphics, and that's absolutely not true.'"

7 of 76 comments (clear)

  1. TO the metal by adamy · · Score: 4, Interesting

    It seems lately that most games are using a combination of C to the metal for the heavy ligfting, and Python or some other scripting language for lighter stuff. It seems to me that Java might be a good replacement for the scripting side. Take a game engine that is already portade (Unreal. Doom, Quake) and allow it to be customized using Java may make sense.

    Heavy lifting highly optimized code/ OTOH would still be in C or something else that goes to the metal.

    --
    Open Source Identity Management: FreeIPA.org
    1. Re:TO the metal by gl4ss · · Score: 3, Interesting

      with the change from dos to windows and then with the modern directx's, opengl and sdl people write less and less to the metal themselfs, if at all (afaik most modern games use c++ and then directx for the gfx, sure, 2d games still do lot of the dirty gfx manipulation themselfs but they shouldn't need to really).

      most of the heavy gfx work are supposed to be done by the gfx card and it's drivers, most of the heavy sound stuff are supposed to be done by the soundchip and it's drivers. they can't do game logic, loading, deciding where to look, glue and all that (though, it looks like the cards are pushing to be possible for that too) and that would be pretty fine for coding in java.

      --
      world was created 5 seconds before this post as it is.
  2. Java3D not available on Mac by str0be · · Score: 2, Interesting

    For whatever reason, Sun haven't gotten around to making the Java3D libraries available for the Mac. This is a shame, as Java in the games industry needs all the help it can get, and cross-platform Java3D could have been a real benefit.

  3. I wrote a simple RTS engine in Java... by harborpirate · · Score: 2, Interesting

    A couple of years ago a friend and I wrote a simple RTS engine in Java.

    It was a tile based 2D game. Now, we weren't experts at writing super speedy display code, but we did preload all the images into memory, double buffer the frames, and crop areas of the map which would not be shown before displaying them.

    It got a whopping 8 frames a second. With 1 moving unit on the screen. Needless to say we quickly abandoned the project.

    Machines have gotten faster. The Java display engine is undoubtedly slightly improved. My guess is its still got a long way to go.

    --
    // harborpirate
    // Slashbots off the starboard bow!
    1. Re:I wrote a simple RTS engine in Java... by metalpet · · Score: 2, Interesting

      Obligatory counter-example:
      Frag Island, a veyr impressive quake-like FPS, written in late 1997. ( so quake-like that they ripped off a bunch of quake graphics and let you play in multiplayer in an authentic quake map with an authentic rocket launcher. ID lawyers didn't like, although Carmack was reportedly impressed.)
      You would get more than usable framerates on 320x200. Keep in mind that was on way old 1.1 JIT runtimes. Things have gotten better.

      On a sad note, it seems the page/applet is still dead. I wish they'd have done something with their fast java 3d engine coded over AWT, which looked like nothing short of a small miracle.

  4. MMORPG and server side programming by _wintermute · · Score: 5, Interesting

    Although I think that it remains a very long way off before ID will be developing the 'next big 3d thing' (tm) in Java, there is perhaps room on the server side end of things, particularly as MMORPGs start to garner more attention.

    No matter what the marketeers at Sun tell you, Java will never perform as well as C/C++ and when it comes to creating realtime 3d environments, every bit of speed is crucial. That said, Java has some pretty extensive graphics APIs and hooks into OpenGL and DirectX, which can be useful. For games that are not graphics intensive (and they do exist), Java may well be useful, particularly as you get all sorts of libraries and memory management for free. With JDK 1.4, Java is actually pretty fast on the client-side these days, you mat be pleasantly surprised if your experience is with older versions of Java. Coupled with modern processors (gHz!!) you can end up with a pretty responsive system. But client-side Java was never my cup of tea and it is still not even close to your C++ 3d engine.

    However, many modern games are moving online, and the possiblities of Java are much better here. MMORPGs are interesting because you connect graphical clients with servers. The servers are essentially gigantic rule engines and state machines - client input is taken, processed, perhaps things are stored in databases (this is essentially what you do when you save your character) - . The system may have to integrate with payment engines and credit card processing facilities provided by third parties. None of this stuff is graphical at all, it is all about pure data processing and distributed computing.

    Funnily enough, this architectural model actually coincides with what the Java people call 'Enterprise Applications' and there are incredible facilities in Java to implement this type of application. And the thing is, raw system performance is only part of the story in this type of application, scalability is perhaps more important (the ability to serve a large volume of clients), amny of the limitations of such systems are actually the I/O level of the application, trasmitting through sockets, writing to disk, communicating with the RDBMS. There are also server-specific implementations of the Java Hotspot JIT compiler, with optimisations for the particular tasks required of server applications and the best thing about this is that as the application runs it gets more and more optimised (and as the server is designed to run indefinitely ...) You can purchase or download an Open Source Application Server which will give you things like clustering and failover for free (meaning that you can leverage of this system to provide multiple 'shards' or servers or such things for your game).

    DISCLAIMER:
    I am a server-side Java programmer with a loathing of swing, so I amy be a bit biased.

    --
    technoshamanic resistance within hyper-transgressive ontology
  5. it has been done ! by elrolas · · Score: 4, Interesting

    A couple of years back I played a full 3D game made in Java and using GL4Java to get hardware acceleration: Arkanae (google for it, the site is still there somewhere). It was based on a Java 3D engine named Opale.Soya, which sadly has now disappeared (the original developpers are now doing the same in Python).

    It really convinced me that real 3D games are not just a pipedream. You can really get quite impressive results! And so now a friend and I are working on our own Java 3D engine. It's been a great learning experience sofar (I can recommend it to all 3D newbies).

    Anyway, you could say I'm a believer! :-)