Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (525)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (592)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Should I use Java 1.5 already?  (Read 4467 times)
0 Members and 1 Guest are viewing this topic.
Offline baegsi

Senior Newbie




Java games rock!


« Posted 2004-10-21 06:52:16 »

Hi there,

I'm excited about the new features as propably most of you and would like to use it right away in my next game project. But I'm not sure if this is a good idea. I would not want to have users download a new Java version when they have installed 1.4 already, I think that would be hard to understand for most of them. I think it is going to take quite a while until most users will have upgraded to the latest version.

A different approach would be to embed it, but that would add another 15MB to the download size. Maybe I could throw away unused classes, but I'm not sure how much this would save.

What do you do? Do you already use Java 5?

Offline Bombadil

Senior Devvie





« Reply #1 - Posted 2004-10-21 07:52:59 »

Yes.
I've been waiting a long time for generic collections and other things in Java so naturally I'm using Java 1.5 the day it came out. (Smart IDEs like Netbeans, JBuilder, IdeaJ, etc support 1.5 since some time so it's a pleasure to use.)

I've to add however that I'm not earning my living with Java development (yet?) so it's a simpler decision.
Still, even in case you depend on customers using a JVM, it depends on several things:
1) You create a game looking (and playing) great so that hardly anybody would like to miss it - voila: they'll download Java 1.5 with pleasure!
2) Your game's data will be (much) larger than the JRE, so you can bundle the 10-12 MB of the JRE 1.5 easily.
3) You're developing a game as hobby project and it won't be finished until 2005+X you could of course use Java 1.5 now. ;-)

Well, we're the developers, we've got the power .... uhm ... we've got the possibility to show the users more reasons to use Java 1.5...


PS: With smart tools like Toby's "backwards compiler" and JBuilder's equivalent it's possible to compile Java 1.5 source codes to JVM 1.4 one.
Until of course you use all those new nice lib classes like System.out.format() etc.
PPS: Is it possible to use these classes in older JVMs, too? (Probably not).
Offline Herkules

Senior Devvie




Friendly fire isn't friendly!


« Reply #2 - Posted 2004-10-21 09:35:46 »

Also have my first uses of Tiger already. Not generics, but the ability to refine the returntype of an overloaded method....

HARDCODE    --     DRTS/FlyingGuns/JPilot/JXInput  --    skype me: joerg.plewe
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #3 - Posted 2004-10-21 10:25:19 »

Quote
Also have my first uses of Tiger already. Not generics, but the ability to refine the returntype of an overloaded method....


IMHO, *this* is the thng Sun should have been shouting about in 5.

malloc will be first against the wall when the revolution comes...
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #4 - Posted 2004-10-21 10:28:15 »

Quote
Hi there,

I'm excited about the new features as propably most of you and would like to use it right away in my next game project. But I'm not sure if this is a good idea. I would not want to have users download a new Java version when they have installed 1.4 already, I think that would be hard to understand for most of them. I think it is going to take quite a while until most users will have upgraded to the latest version.


In theory, many of them should have it by now, because it downloads automatically in windows-update style.

In practice, JAVA 5 IS NOT YET RELEASED. (c.f. the other thread where people discovered that telling webstart to download 1.5+ fails - because Sun hasn't put the java 5 download on the web yet!)

So...I would wait at least as long as it takes for Sun to make it available (!), and then wait another 3-4 weeks for windows users to get around to clicking "yes" on the "auto-update java now?" icon on the desktop.

By then, you should find a large number of people have java 5.

Or...you can join the underground movement of people who refuse to use 5 in protest at generics Tongue. Although you might be very lonely there Wink.

malloc will be first against the wall when the revolution comes...
Offline baegsi

Senior Newbie




Java games rock!


« Reply #5 - Posted 2004-10-21 10:53:47 »

Quote

So...I would wait at least as long as it takes for Sun to make it available (!), and then wait another 3-4 weeks for windows users to get around to clicking "yes" on the "auto-update java now?" icon on the desktop.


All right, I could live with that because our next game will take some time until completion. Still, users without dsl will think twice about downloading 15MB...

What about embedding the VM and being independent of local installations?

Quote

Or...you can join the underground movement of people who refuse to use 5 in protest at generics Tongue. Although you might be very lonely there Wink.


So far I'm pro generics  Wink (but still playing around)
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #6 - Posted 2004-10-21 11:12:11 »

Quote


All right, I could live with that because our next game will take some time until completion. Still, users without dsl will think twice about downloading 15MB...


Please don't bring up that argument in this thread - go find one of the threads dedicated to it Smiley. I was primarily a dialup user until only a year or so ago, and even now often am (in fact from tomorrow lunchtime for a couple of weeks onwards I will be dialup-only), and it's much less of an issue than people make out, IF you know it's a one-off cost. You have to download stuff to play games, so you set the download going before you go to bed, then disconnect in the morning. Or any of a number of different ways of slowly streaming it.

Quote

What about embedding the VM and being independent of local installations?


Do you embed an OS with your game, too? (rhetorical question Wink)

Please don't. Unless you make it the second (or, preferably, last) option on the page so that only people who really really want it click on that particular link istead of the webstart link which is what almost everyone wants.

Embedding a VM is a stupid idea in general, IMHO. You're forcing people to download a VM (which most people already have -  so you're massively wasting their time) and then once it's downloaded if its a new VM they didn't have they STILL have to download the ****ing thing to play any other games that need that version.

Worse, if you update your game, they have to download the VM a second time. Stupid. Stupid stupid stupid. You end up spending ages working on an endless series of workarounds to new problems thrown up by your previous workarounds, all because you wouldn't just let the user download java on their own, if they didn't have it already (which would probably put them in the minority).

Use webstart. That's what it's there for.

malloc will be first against the wall when the revolution comes...
Online princec

« JGO Spiffy Duke »


Medals: 422
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #7 - Posted 2004-10-21 11:53:10 »

Embedding a VM is a great idea if you actually want to make any money off of small games...

Cas Smiley

Offline baegsi

Senior Newbie




Java games rock!


« Reply #8 - Posted 2004-10-21 11:54:19 »

Quote

Please don't bring up that argument in this thread - go find one of the threads dedicated to it Smiley.


Uups, looks like I missed some discussions here... Smiley

Quote
You have to download stuff to play games, so you set the download going before you go to bed, then disconnect in the morning. Or any of a number of different ways of slowly streaming it.


Well, not an alternative where I come from (Germany) where you have to pay for your dial-up connection based on online time (unless you have some other deal)...

But I get your point. From the developer point of view your remarks make perfectly sense. The business view might be different and I'm not sure we have the same kind of customer in mind. Especially webstart. It's great for testing a game. But then I have to download it again when I want to own it. I suppose a major part of users want to download it only once and then maybe unlock it by registering. But I suppose this is the case for most users, I'm not aware of any current statistics so I might be wrong and spending to much thought on a negligible minority.
Offline baegsi

Senior Newbie




Java games rock!


« Reply #9 - Posted 2004-10-21 11:59:36 »

Quote
Embedding a VM is a great idea if you actually want to make any money off of small games...


I saw that AF is doing this and that the download is still only about 11MB. How much could you rip off the VM?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Mithrandir

Senior Devvie




Cut from being on the bleeding edge too long


« Reply #10 - Posted 2004-10-21 12:45:57 »

As usual with these releases, don't ever deploy something on a .0 release. Start using and coding it, but don't send it out into the wild. Wait for the _01 release after they've fixed up all the fubars that they didn't catch until a huge group of "testers" tried it out once it had gone final.

The site for 3D Graphics information http://www.j3d.org/
Aviatrix3D JOGL Scenegraph http://aviatrix3d.j3d.org/
Programming is essentially a markup language surrounding mathematical formulae and thus, should not be patentable.
Offline Giddy

Senior Newbie




Java games rock!


« Reply #11 - Posted 2004-10-21 12:48:45 »

And don't use Java5 if you want your game to run on Macs

http://weblogs.java.net/blog/invalidname/archive/2004/10/why_mac_develop.html
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #12 - Posted 2004-10-21 14:21:52 »

Quote
Embedding a VM is a great idea if you actually want to make any money off of small games...


Ah, now I thought you'd come to believe that it's more vague and wooly than that? That the benefit of embedding today, close to 2005, is a lot less and shrinking all the time, (depending on market)?

Just to be clear, as it stands today, I would not say you *mustn't* embed a VM, just that it should not be the primary download choice. And that it's a lot of work, and a lot of hassle, and a lot of extra D/L bandwidth (although all those are workaroundable - the question is are there other things you could be spending that time on that would improve your sales more, like doing more marketing?). So, "in general", it's a bad route to go down. If you have the resources to do it without blinking, great. Do it. But most of us have enough to do already just getting our games finished, bug-fixed, and online.

malloc will be first against the wall when the revolution comes...
Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #13 - Posted 2004-10-21 14:26:21 »

Quote

Well, not an alternative where I come from (Germany) where you have to pay for your dial-up connection based on online time (unless you have some other deal)...


Well, we've had unmetered online access in the UK for 5 years now, and I had assumed it had got to most of europe by now too. However, the dialup I have to use is also metered (because it's with a laptop, no fixed location).

But...that just SCREAMS "don't embed the VM" because embedding the VM only increases the amount of downloading for the user.

(even on broadband, I have not bothered playing a couple of java games that were ONLY distributed with an embedded VM - I simply couldn't be bothered to wait that long, with all my b/w tied up.

malloc will be first against the wall when the revolution comes...
Offline sillysoft

Junior Devvie


Projects: 1


Waaaaaaaaaaaah!


« Reply #14 - Posted 2004-10-21 20:34:12 »

Quote
In theory, many of them should have it by now, because it downloads automatically in windows-update style.

Wow! This is the first I have heard of this. I think that is awesome. I have been concerned that 1.5 wouldn't become widespread for a long while yet, but this will definitely speed things up a lot.

Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #15 - Posted 2004-10-21 21:29:31 »

Quote
And don't use Java5 if you want your game to run on Macs

http://weblogs.java.net/blog/invalidname/archive/2004/10/why_mac_develop.html


I was going to add this, but you beat me too it Smiley

Java 5 for Mac won't likely be available until halfway into 2005, and it will very likely require an OS upgrade for Mac users.  So the Mac market for Java 5 programs is still about a year off.

Offline blahblahblahh

JGO Coder


Medals: 1


http://t-machine.org


« Reply #16 - Posted 2004-10-21 22:09:24 »

Quote

Wow! This is the first I have heard of this. I think that is awesome. I have been concerned that 1.5 wouldn't become widespread for a long while yet, but this will definitely speed things up a lot.


*In theory*.

In practice, there are big bugs with the system (like it not downloading updates when it should) and I've several times seen it refuse to download an update I *knew* was available.

So...people may already have started turning it off. Or it may not allow 1.4 -> 1.5 upgrades. Or something stupid like that.

And...I think it uses the webstart download, so it too isn't available yet (at least, it hasn't popped up on any of the windows PCs around here yet).

malloc will be first against the wall when the revolution comes...
Offline baegsi

Senior Newbie




Java games rock!


« Reply #17 - Posted 2004-10-22 05:14:09 »

Quote
PS: With smart tools like Toby's "backwards compiler" and JBuilder's equivalent it's possible to compile Java 1.5 source codes to JVM 1.4 one.

Yes, I'm aware of them. But how good are the results? I do not want to introduce new problems because of backward compiling. And how about performance? Any experience so far?

Offline Bombadil

Senior Devvie





« Reply #18 - Posted 2004-10-22 07:02:51 »

Quote

Yes, I'm aware of them. But how good are the results? I do not want to introduce new problems because of backward compiling. And how about performance? Any experience so far?

JBuilder's 1.5 to 1.4 compiler I used a little while with good results - no benchmarks however. Until I started to use new 1.5 classes, too. Hence I'm using J2SE 1.5 now, which isn't problematic because my (hobby) game project won't be finished this year anway.

About Retroweaver: Since the author Toby is participating in this forum, too, maybe he knows some case history. Toby, are you reading?
Offline rreyelts

Junior Devvie




There is nothing Nu under the sun


« Reply #19 - Posted 2004-10-29 15:55:04 »

Quote
Yes, I'm aware of them. But how good are the results? I do not want to introduce new problems because of backward compiling. And how about performance? Any experience so far?

You should have no problems "backwards compiling". If you're concerned about using 1.5 only features, Retroweaver will warn you if attempt to use classes, methods, or fields that are only available in 1.5. Even the unusual cases work well - for example, several people have been successfully using Retroweaver with native compilers (gcj, Jet) and obfuscators (ProGuard).

Performance is just not an issue. The transformations are all done at compile-time and perform the same work that has to be done in 1.5. Of course, rather than taking my word for it, you could just try it yourself.

I don't know why some people are afraid of even attempting to try Retroweaver. It seems like I've seen enough of that, that I'll probably put up a "testimonials" page containing reports from happy users of Retroweaver. For example, Resin and ScheduleWorld both use Retroweaver. The most common feedback I get for Retroweaver is "Retroweaver Rocks!"

God bless,
-Toby Reyelts

About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #20 - Posted 2004-10-29 20:12:45 »

The question that keeps coming to my mind is "if it's that simple*, why didn't Sun do it?" (e.g. javac -target 1.4)

Have you tried selling Retroweaver to Sun Smiley ?


*by "simple" I don't mean to imply it was a peice of cake (I don't know maybe it was), just that one guy came up with Retroweaver in what appeared to be a very short amount of time.  Something that Sun surely had the resources to do on their own.

Offline cfmdobbie

Senior Devvie


Medals: 1


Who, me?


« Reply #21 - Posted 2004-10-29 21:13:44 »

Interesting about that MacOSX issue!  Putting end-user deployment concerns aside for the moment, is it possible to develop 5.0 applications on OSX?  The linked article seems to imply that it isn't, but that can't be right.

There must be a free-to-download beta or something, surely?

Hellomynameis Charlie Dobbie.
Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #22 - Posted 2004-10-29 21:39:08 »

You have to pay to get access to the OS X 10.4 betas*, and the Java 5.0 beta that can be installed with it.  If you are in a rush and aren't concerned with the ethical issues, you can download a developer preview of OS 10.4 that is quite old and was given out at the Mac developers conference earlier this year, but you will still need to find a way to get the Java 5 beta.  I think it is possible that you can do all this legally if you find a (paid subscription) ADC member that has  some sort of "credits" that they can transfer to you if you become a (free) ADC member.  I don't know much about that though.

That being said... you might be able to hack the Linux/PC versions to compile Java 5 code on the Mac - after all the compiler is written in Java and most of the class files don't require native code.  The only problem would be if the compiler itself required Java 5... but you might be able to run it through Retroweaver to get it to run on the Mac's pre-installed Java 1.4

*There is actually a "deal" they have now where you pay $500+ and get a 1-year ADC membership WITH Tiger (OS 104) pre-releases and some presentations about Tiger development, and it entitles you to the final release when it is available next year.

Offline rreyelts

Junior Devvie




There is nothing Nu under the sun


« Reply #23 - Posted 2004-10-29 23:14:11 »

Quote
The question that keeps coming to my mind is "if it's that simple*, why didn't Sun do it?" (e.g. javac -target 1.4)

There's an entire thread on this matter over at Sun's forums, http://forum.java.sun.com/thread.jsp?forum=316&thread=503547

The gist of it is that Neal Gafter (Sun's used-to-be compiler writer) said that Sun refuses to support -source 1.5 -target 1.4, because there is no specification that addresses it. Neal also explicitly expressed support for Retroweaver.

It seems like half the people that I talk to about Retroweaver actually try it and say, "Retroweaver Rocks!". The other half stand around trying to figure out why Retroweaver can't possibly work. Meh.

God bless,
-Toby Reyelts

About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #24 - Posted 2004-10-31 00:08:44 »

Quote
The gist of it is that Neal Gafter (Sun's used-to-be compiler writer) said that Sun refuses to support -source 1.5 -target 1.4, because there is no specification that addresses it.

Well bloody hell... why don't they write the darn spec!

I think I'm going to try to integrate Retroweaver into my build process, but only for the Mac version of my application.  The Windows and Linux versions will require 1.5.  We will be bundling the VM on Windows anyway, though sadly it will be a private install only used for our apps.

Offline fire_ant16

Senior Newbie




GTA: san andreas is the worst game!!


« Reply #25 - Posted 2004-11-03 01:33:38 »

yeah its the best for aussie use only. cuase all you americans can't afford to upgrade.

go and buy a gameboy you poor homeless idiotic loserest badestly worstly devilish demonic horridly stupidlessly losers!!!!! (please don't report me, i didn't mean it!)

ur the best ever
Offline cfmdobbie

Senior Devvie


Medals: 1


Who, me?


« Reply #26 - Posted 2004-11-06 14:39:36 »

Alrighty, what am I missing here?

1  
2  
3  
FileInputStream is = new FileInputStream(path);
ObjectInputStream ois = new ObjectInputStream(is);
Map<Integer> map = (Map<Integer>)ois.readObject();


Quote
Unsafe type operation: The cast from Object to parameterized type Map<Integer> will not
check conformance of type arguments at runtime


How do I stop this warning occurring?  Or are Generics incompatible with Serialization? :-/

Hellomynameis Charlie Dobbie.
Offline Absolution

Senior Newbie




Java games rock!


« Reply #27 - Posted 2004-11-18 18:27:59 »

I think if someone had 1.4, they'd probably be willing to get 1.5 since a lot of 1.4 users probably downloaded it at some point.   The rest are still stuck in 1.1 and will just leave when your site doesn't work.
Offline rreyelts

Junior Devvie




There is nothing Nu under the sun


« Reply #28 - Posted 2004-11-18 20:08:55 »

Quote
How do I stop this warning occurring?  Or are Generics incompatible with Serialization? :-/

I don't know if there's any way to stifle that warning, but there's no way for you to get around the basic problem. Because of type erasure, the runtime can't possibly know what type parameters an instance of generic class has been instantiated with. All the compiler is doing is telling you that it can't guarantee you that the Map you read out is actually a Map<Integer>. If you're wrong (for example, the Map contains Strings), you'll get spurious ClassCastExceptions, where your code contains no explicit casts. Nothing you can do about that.

God bless,
-Toby Reyelts

About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline scottellsworth

Junior Newbie




Java games rock!


« Reply #29 - Posted 2005-01-04 19:42:43 »

Quote
Putting end-user deployment concerns aside for the moment, is it possible to develop 5.0 applications on OSX?  The linked article seems to imply that it isn't, but that can't be right.

There must be a free-to-download beta or something, surely?


It costs a minimum of $500 to get seed keys for Tiger, which allows you to download the betas for free.  That $500 gives you 5 seed access keys, which you can then give to other people with the free Online membership.

If you have access to Tiger seeds, there are various betas of 1.5, so any developer with 10.4 access and the interest can try out 1.5 on the Mac.

A group of open source projects could certainly pool their pennies to get early access if they want it, but I do not know of that occurring.  Also, if you can get someone with access fired up about your project, they could provide such a seed if they have a spare.  (I have done that in the past.)

Most open source projects just wait until release, then have a flurry of fixes they try to get in place.  I am surprised by this each time.

We will likely find out on 1/11 when Tiger is going to ship.  At that point, you then have to expect some delays for the user base, but developers will likely be running it fairly fast.  I am not interested in violating my NDA, but I will say that the 8A323A prerelease I installed to work with tiger-specific code has been stable enough for me to use the rest of the time.

Scott
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

toopeicgaming1999 (67 views)
2014-11-26 15:22:04

toopeicgaming1999 (58 views)
2014-11-26 15:20:36

toopeicgaming1999 (12 views)
2014-11-26 15:20:08

SHC (24 views)
2014-11-25 12:00:59

SHC (24 views)
2014-11-25 11:53:45

Norakomi (29 views)
2014-11-25 11:26:43

Gibbo3771 (24 views)
2014-11-24 19:59:16

trollwarrior1 (37 views)
2014-11-22 12:13:56

xFryIx (76 views)
2014-11-13 12:34:49

digdugdiggy (53 views)
2014-11-12 21:11:50
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!