Java in 2004

Discussion in 'Game Development (Technical)' started by tentons, Mar 1, 2004.

  1. tentons

    Indie Author

    Joined:
    Mar 1, 2004
    Messages:
    664
    Likes Received:
    0
    I love Java, but I don't make games with it. Yet. C++ could learn a lot from it (and Visual Studio could learn a lot from Eclipse).

    It's taught me a lot about object oriented design, and being an old C programmer, I was stuck in procedural mode. So learning Java really helped force me to begin thinking in objects instead of functions. And, perhaps ironically, that improved my C++ skills a lot.

    I would probably make games with it, but for now there aren't enough "middleware" options (engines/frameworks/etc) for game development. There are plenty for C++, so that's what I'm doing.

    One interesting possibility is to use JNI to hook a C++ engine with Java, and that might prove to be a good thing. But I have to get some revenue flowing before I can do R&D like that.

    I am also interested in exploring managed C++ under .NET, but that kind of rules out simple ports to Mac and Linux, doesn't it?
     
  2. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    In a cruel twist of irony, the Java 1.5beta2 I have installed here won't even run my own damned games - some sort of daft socket error. That'll teach me for using beta software.

    We're looking at donations to buy a Mac for Elias to make the Mac port. That's all the bases covered pretty much. Anyone got a few bucks to donate? Everything gratefully received.


    (Anyone else seen this:
    Code:
    java.io.IOException: Stream closed.
    	at java.net.PlainSocketImpl.available(Unknown Source)
    	at java.net.SocketInputStream.available(Unknown Source)
    	at java.io.BufferedInputStream.available(Unknown Source)
    	at sun.net.www.MeteredStream.available(Unknown Source)
    	at sun.net.www.http.KeepAliveStream.close(Unknown Source)
    	at java.io.FilterInputStream.close(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(Unknown Source)
    	at java.io.BufferedInputStream.close(Unknown Source)
    	at java.io.BufferedInputStream.close(Unknown Source)
    	at com.sun.javaws.net.BasicDownloadLayer.download(Unknown Source)
    	at com.sun.javaws.cache.DownloadProtocol$RetrieveAction.actionDownload(Unknown Source)
    	at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
    	at com.sun.javaws.cache.DownloadProtocol.getResource(Unknown Source)
    	at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
    	at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
    	at com.sun.javaws.Launcher.downloadResources(Unknown Source)
    	at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
    	at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
    	at com.sun.javaws.Launcher.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    


    Cas :)
     
  3. Rod Hyde

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    123
    Likes Received:
    0
    It is an interesting language / platform. In the list below, the cons outweigh the pros, but don't take that as an indictment of the language.

    Pros:
    • as a developer, I find it more productive than C++
    • there's no need to reinvent the wheel
    Cons:
    • write-once run-anywhere is marketing nonsense
    • the JRE download for end users is off-putting. If Sun allowed cut down distributions (maybe they do now) then that would be better
    • JWS is a pain in the butt if you upgrade your JRE

    My overriding need, having limited time, was to find a language that allowed me to be productive. Java fulfilled that need, as I can write Java code around 2 to 3 times quicker than I can normally write C++. However, I've recently switched from Java to Python (using C/C++ where I need more speed) and found my productivity has improved - possibly up to a factor of 10 over C++.

    If Python proves to be too slow then there's always Jython, which will allow me (amongst other things) to compile my Python code into Java bytecode, or if I feel the need to target .NET, IronPython.

    --- Rod
     
  4. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    WORA did turn out to be marketing nonsense, mainly because of bugs and performance deficiencies. MacOS Java2D is still unusably slow. A couple of years ago we realised that it wasn't going to happen unless we made that LWJGL library do the work for us. By the end of the year we'll have WORA so long as 'A' stands for MacOS X, Win32, and Linux. Which covers all the major bases for indies. I am reasonably confident the palmsized gadget market will be able to run with LWJGL in 24-36 months time too.

    Cas :)
     
  5. cliffski

    Moderator Original Member

    Joined:
    Jul 27, 2004
    Messages:
    3,897
    Likes Received:
    0
    we use some JWS stuff at work, and Ive downloaded other stuff at home. personally i find it an unstable buggy mess, and would rather bathe in rotting beans than run a game or app that uses it.
    Its hard enough assuming people have directx, java is a nightmare...
     
  6. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Not in my experience - it depends if you want to write applets (and therefore rely on the rubbish that doesn't work properly) or target Java 1.4+ and use LWJGL :)

    Cas :)
     
  7. oNyx

    Original Member

    Joined:
    Jul 26, 2004
    Messages:
    1,212
    Likes Received:
    0
    WORA would be really nice. Well, it's more like write once check for showstoppers anywere, but in most cases it just works (unless you did something silly and/or used BufferStrategy which is unfortunately somewhat relaxed under windows).

    1.4.2 works pretty well imo. I also want to add something to Rod Hyde's pro and con list.

    Pro:
    #one click download and install
    #automatic updating
    #you can write games/applications which are really secure. There can't be a virus, trojan, adware, spyware, registry enties and no broken uninstallers which trash a whole directory without checking (one of Sierra's uninstallers did that - duh)

    And for the cons:

    Downloading DirectX, drivers, service packs is also off putting and the JRE is even smaller than those ati/nvidia graphic drivers.

    JWS works pretty well since 1.4 (1.5 is somewhat broken, but it's beta right now).
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer