I've been following Cas's progress with Alien Flux for some time now (great work, btw ), hoping to use him as a sort of benchmark. I love Java in my day job, developing web apps (well, love all of it minus EJB, grrr) and would very much like to use it for games. I'm taking the plunge Real Soon Now and starting up an LLC to get into the Indie thing for real, and it is decision time.

Well, actually, I've already made my decision and will not be going the Java route just yet. At least, not for anything I plan to sell. The only thing that is keeping me from it is distribution. Yes, I know of Jet, I know of WebStart. Neither of them is the optimal method, IMO. I just can't feel secure that the average "What's a Java?" Joe will be able to get my Java game actually started - either from lack of knowledge or lack of desire to download the JRE + the required extensions (JOGL/LWGL, or whatever). I'm not bashing, and I'm not throwing Java out the door. I love it too much. I'll still be working with it at my day job (until I quit next month), and I hope to do some experimental freeware with it when I find the time. If only I could go the boxed CD route right now, Java would be my baby.

I'm wondering how others feel on this issue at the moment. I see several here who are doing, apparently, hobbyist-type stuff as I have been. I know Cas went the Jet route with Alien Flux, and I've seen Tribal Trouble recently - not sure how they are planning to handle distro. Anyone else considering the move to real Indie work with Java, and if so, how are you planning to distribute?

I intend to reevaluate when I get my first project out the door (fingers-crossed). Just like to see some opinions on the current state of things.

I think that in a perfect world there isn't anything easier than running av Java Webstart app. But in reality it seems to have some issues, especially on non windows platforms, and a lot of people doesn't have a recent JVM version installed.

Hopefully Webstart will will become more and more reliable for every Java release. As of the &#8220;already installed JVM userbase&#8221; I think the best way to increase that is to release a lot of cool games. Remember that every developer who makes a game that seems so interesting that a person takes the time to install a JVM to play it, adds yet another person to the JVM userbase which the whole community benefits from. Anyway, I think you should go with Java Webstart as you might have noticed

Anyone else considering the move to real Indie work with Java, and if so, how are you planning to distribute?

I actually haven't decided yet.Going for the 'JET route' is easiest for the windows uses at the moment, but requires more work from me (ditching AWT code and write my own substitutes :-/).IMHO, Java WebStart will be the best and neatest way to distribute. At the moment the lack of availability of a current JRE on most desktops is a problem but I'm having my hopes up that this will change (Sun is actively working on it).Going for JET for me is just a temporary workaround and not the preferred way of distributing.

Yes, but it has disadvantages too I mean isn't this JVM compiled with your program? That means you're distributing a JVM with every .exe you release doesn't it? Compared to the 'perfect world where everybody got a recent jre + jws installed', this is quite some overhead.And of course it sacrifices portability, so you'll probably have to distribute and maintain an addition bytecode distribution as well.

The only thing that is keeping me from it is distribution. Yes, I know of Jet, I know of WebStart. Neither of them is the optimal method, IMO.

FWLIW, I'd avoid JWS completely, probably at least until 1.5.x becomes stable. JWS has too many non-obvious problems that cannot be fixed by your code - they are bugs that end users have to work around, and you have the chicken/egg problem of "if they can't run my program, how do they get the instructions to tell them how to kick JWS enough that it will run my program?". If they've closed the webpage they downloaded from, they may not be able to go to your website any more (happens often).

OTOH, given how extremely difficult it is to get a single release out there, and to do all the marketing, promotion, re-design (based on the first month or two of feedback/sales/etc), support, etc...I would actually just release JAR files at first. See what happens. If it goes badly, get some feedback from your website visitors (use session-tracking HTTP log analyzers to see if a large percentage of people download the game but never play - this would suggest the requirement of a JVM was a problem). Equally, using similar techniques, you can track fairly easily whether your typical customer actually doesn't have problems with jvm etc.

And if the evidence looks bad, release a JET version. Etc. Coincidentally, this advice is similar to the optimization process - unintentionally (i.e. this is based on business experience, not developer methodologies).

I dunno, never had any real problems with jws on any machine I've tried (5 or 6).Sometimes an update of a new version doesn't start immediately but the 2nd time after you uploaded a changed jar. Nothing serious.

I should also point out with regard to users understanding "what Java is" that the Java technology logo has an 84% brand recognition in the consumer market.....as a technology, not coffee. People may not completely understand why they need "Java" but understand that they just do. PC vendors understand this too.....(wink)

Has anyone seen http://www.puzzlepirates.com/? I heard about them a while ago on the MUD-DEV list, and knew they were using Java. I just checked their FAQ and they include the JRE in the client download. It seems to work for them.

Then again, this is quite a different model from the shareware approach. Encouraging nonetheless

Actually I was already asked by several hardcore gamers and one casual female(!) gamer for more small and cute webstart games. I was kinda surprised that they already had Java installed and I was even more surprised that webstart worked for em

So... yes, I agree with Chris. Players get used to it. Some of 'em already know enough about that topic and they get more each day.

I think we just need some more (free) "guerrilla applications" (wow a new buzzword ) [~a more subtle approach than a so called "killer application"]

This and all belief in JWS is predicated on the belief that Mr. Joanne Average user has a broadband connection. Sure its not required, but its unbearable to use without (for large downloads at least). (EDIT 2 megs is large on dialup!) I don't know any stats but I'm sure at least 75% of internet users are still on dialup. Not to mention what that implies about the same person downloading the latest JRE.

Of course this observation does not apply if you cop the elitest attitude 'If joe blow doensn't even HAVE broadband then he doesn't deserve to play MY game!!!'

I plan to use Java for toy games on the website and use c++/SDL for the real meat.

This and all belief in JWS is predicated on the belief that Mr. Joanne Average user has a broadband connection. Sure its not required, but its unbearable to use without (for large downloads at least). (EDIT 2 megs is large on dialup!) I don't know any stats but I'm sure at least 75% of internet users are still on dialup. Not to mention what that implies about the same person downloading the latest JRE.

Of course this observation does not apply if you cop the elitest attitude 'If joe blow doensn't even HAVE broadband then he doesn't deserve to play MY game!!!'

I plan to use Java for toy games on the website and use c++/SDL for the real meat.

I somewhat disagree with your assessment. Everyone playing WildTangent's games are not on broadband. Everyone playing EA's premiere games are not on broadband. Everyone downloading the ton of content from PopCap are not on broadband. Everyone (you get the picture).

I really believe that the emergence of P2P services over the last 4 years has gone a long way to easing the download pain of the average internet media user. YES there will be those on dialup that can't wait for the game to DL (and there are some on broadband that can't stand to wait either) but as the world moves towards broadband everywhere, this will continue to diminish.

Just look at real world examples of the lengthe that people will go through to get access to content. 2 1/2 million people waited outside of electronics stors for up to 3 DAYS for the chance to buy a PS2 when everyone knew that there were only going to be 500k available at launch in the US. Entertainment content does WACKY things to consumers.

-ChrisM

One more example. Look at SonicBlue. I can send a TV show I recorded to you, over broadband, if you have a SonicBlue player as well. It takes 8+hours for a 1 hour show to be sent. Just because you have broadband dosen't mean content delivery will be fast. Likewise, if the content is good enough and desireable enough, people will wait.

This and all belief in JWS is predicated on the belief that Mr. Joanne Average user has a broadband connection. Sure its not required, but its unbearable to use without (for large downloads at least). (EDIT 2 megs is large on dialup!) I don't know any stats but I'm sure at least 75% of internet users are still on dialup. Not to mention what that implies about the same person downloading the latest JRE.

Of course this observation does not apply if you cop the elitest attitude 'If joe blow doensn't even HAVE broadband then he doesn't deserve to play MY game!!!'

I plan to use Java for toy games on the website and use c++/SDL for the real meat.

I really don't see any connection between having to be on broadband and JWS. JWS actually helps cutting down download times. When I upload a patch or a new version, only the changed parts are downloaded instead of the whole thing. In my case that's often something like a 80kb d/l for a new version instead of like 3Mb. And that really counts since I'm on dial-up too.

I somewhat disagree with your assessment. Everyone playing WildTangent's games are not on broadband...Just look at real world examples of the lengthe that people will go through to get access to content. ...One more example. Look at SonicBlue. I can send a TV show I recorded to you, over broadband, if you have a SonicBlue player as well. It takes 8+hours for a 1 hour show to be sent. Just because you have broadband dosen't mean content delivery will be fast. Likewise, if the content is good enough and desireable enough, people will wait.

Quick note for anyone who's not used dialup in a while: for single downloads (e.g. for any particular game) the big big big problem with dialup doesn't tend to be the speed, it's the fact you get disconnected too easily, and on most ISP's automatically every 1-2 hours. (nb: I recently spotted an ad for an ISP that is now offering to *charge* you extra per month for the priviledge of extending that to 6 hours between disconnects. Clever idea)

OTOH, the speed becomes the dominant issue whenever you have to repeatedly download things for one particular game. E.g. I gave up playing Blizzard games over dialup not because the *games* sucked over dialup but because the "compulsory" patches came frequently enuogh to annoy the crap out of me - and they were BADLY written, so that if you got most of the way through, and lost your connection BAM! Start again; do not pass go. The same applies for JWS games - if the patch is small each time, they work great on dialup. If any of the bits being patched tend to be large on a frequent basis and/or cannot be resumed from previous point, then JWS sucks on dialup (n.b.: I'm not sure if JWS resumes partially complete files?).

As far as many dialup users are concerned, fancy downloading systems suck largely because the vast majority of people who roll their own are lazy gits and don't implement resumable downloads (blizzard, for instance; that was inexcusable). It's stupid, and it just shows yet another reason why you shouldn't re-invent the wheel - you probably won't get it right. dialup users have downloaders already - heck, on my laptop I've even got a great one for linux (better than all the windows ones put together!), as well as three for windows.

So, it makes me tear my hair out if I can't get at some content on-the-road because the connection keeps dying, and the idiot who is offering (whatever it is I'm trying to download) has put it in a feature-poor custom downloader .

And for the love of <insert favoured deity> when are you going to get the auto-updating JVM onto magazine coverdisks!!! It needs a year long campaign to get the JVM out there onto coverdisks of all the major magazines, preferably along with some compelling mainstream content (ie. Yet Another FPS or RTS I suppose).

In fact the JVM needs to be given out on CDs at every possible opportunity! Get it on AOL's install. Get it in a non-computer sunday glossy. Get it at Starbucks as a free coaster (haha!). Get it everywhere. Guerilla marketing.

And for the love of <insert favoured deity> when are you going to get the auto-updating JVM onto magazine coverdisks!!! It needs a year long campaign to get the JVM out there onto coverdisks of all the major magazines, preferably along with some compelling mainstream content (ie. Yet Another FPS or RTS I suppose).

In fact the JVM needs to be given out on CDs at every possible opportunity! Get it on AOL's install. Get it in a non-computer sunday glossy. Get it at Starbucks as a free coaster (haha!). Get it everywhere. Guerilla marketing.

Cas

I agree that cover disks and the like are a great idea, one that we have discussed internally. However, the cost of doing this is UNBELIEVABLE. Anyone want to hazzard a guess as to how much money AOL has spent doing this? I have a figure, but want to see what other people think it is

I agree that cover disks and the like are a great idea, one that we have discussed internally. However, the cost of doing this is UNBELIEVABLE. Anyone want to hazzard a guess as to how much money AOL has spent doing this? I have a figure, but want to see what other people think it is

Excuse my ignorance, but are you talking about having the JVM on an existing coverdisk, or creating and spreading new disks?I can imagine the latter will cost a fortune (c'mon, just tell us how much ), but putting the JVM on already spread coverdisks can't be _that_ expensive can it? I mean if macromedia and the likes can do it...

As an American, Chris should know that marketing is king... if it costs a million dollars to get Java onto ten million coverdisks then it's still money well spent as it's likely to find its way onto another ten million computers.

Cas is right, marketing is king. And now for the big number....AOL spent over 1 BILLION dollars on CD distribution. This netted them 32 million subscribers however.

I think that cover cd distribution is a good idea, but is kind of like flyer distribution in that the amount of people that actually view the cd content is very small compared to the distribution size. BUT, I think that it is still a valuable thing to do

Well, here's the trick: get the JVM installed as part of some compelling content instead of just a thing that does something esoteric and uninteresting. "Play great Java games!" is no incentive; it's vague and has no direct benefit to the potential consumer. But "Play DeathKillZap and slay your online enemies today!" immediately sounds loads more interesting. And if it just happens to install a JVM, it's achieved exactly what we want.

Now, er, lend me a $50k and I'll write you one How about Multiple Injury? (see Chaz's CV on our site if you want to know what MI was going to look like, and of course, that good old terrrain demo was part of it...)

This and all belief in JWS is predicated on the belief that Mr. Joanne Average user has a broadband connection. Â Sure its not required, but its unbearable to use without (for large downloads at least). Â (EDIT 2 megs is large on dialup!) I don't know any stats but I'm sure Â at least 75% of internet users are still on dialup. Â Not to mention what that implies about the same person downloading the latest JRE.

Dial up 1.5 h 25MB downloaded. (majority was WWW so there was a compression, but...)

I have bigger problem if I have to DL exe and some library then update antivirus then discover I need another library... I must say DL JVM and JOGL/LWJGL is in comparison with some programs really easy.

The main problem that I have with Webstart is that itself needs a JRE pre-installed to run. Duh. The whole point would be to have a tiny little plugin app, about 200k say, that did the Webstart bit, and downloaded the VM the first time as well. And not the whole VM either. Might as well leave out AWT if it ain't needed that particular time eh?

The best method for Java itself is still to provide a download link and say that Java version x.y.z or higher must be installed. Additionally there should be a small explanation how to find out if Java is installed and which version. Providing an exe may be a good choice, too, but it doesn't help Java a lot.

Yeah, but at 200KB you could bundle it with just about everything without any worry about the extra bulk.

Quote

This doesn't sound like a good idea. The next app may need AWT and the user will wonder why he needs to download and install something again.

Well, he won't actually have to do anything. He probably won't even notice it taking extra time to start up because he's by definition not played it before. He'd get a message telling him it's getting hold of the latest and greatest technology for him, for free - he'd probably be perfectly happy with that situation.

I think this is the right approach, but it needs some thought on library versioning before it's feasible.

Anyone here tried Maven? It's a very clever build environment for Java applications. Naturally you need a JDK to run it, but everything else it's capable of sorting out for itself. You ask it to do something, it'll download all the libraries required for the task first, then perform the task and tell you how it went. You tell it your project needs a certain taglib from the Struts project and it'll go off to a repository on the web, acquire the right jars and tlds and package them up into your distributable jar file.

the problem is that you don't want people with half-install's of java sitting on their system, which I am sure is why sun enforces this policy. If people could just pick and mix then Java would fail because there would be so many problems from people not being able to run one app because their previous install wasn't complete.

AF, by using LWJGL get's around this problem. It doesn't get java installed onto people's systems but that is up to the publisher.

I must say I am alarmed that the JRE is now 15mb - I used to like the Windows-english only JRE which clocked in at about 5MB. I havn't looked yet, but I wounder how much fat you are allowed to cut off the 15MB to redistribute it?

It's easy to provide people with a "runtime library excluded" and "runtime library included" download. People have been doing this for decades (not just talking java here) and will continue to do so. This way users who already have it installed (and know it) will get the small download and users who don't will go for the full one. Of course I am talking Windows here - non-Windows users generally know enough to get what they need.

I recentally created a windows installer for a java app of mine and I decided not to create an installer with the JRE included. Not because I couldn't - but because I'd prefer to conserve (my) bandwidth. Apps are easier to sell than games anyway (not talking money here) because the goal of a game is to entertain people and consume their time as opposed to making somthing easier therefore saving people time.

Instead of the JRE - I just added a link to Java.com to the person's start menu. So they will hopefully go like this: "hmm looks like a cool app -> download. oh it doesn't work -> what was that link in the start menu? Download Java 1.4+ (required to run) maybe I'll check that out -> a while later -> run's app - all works fine.

When I release my game however, I will certainly bundle the JRE and create two installers. Even for a JWS game (which this will be) you can still have an installer which installs the JRE and pop's a link into their start menu pointing to the JWS file.

Yeah, but at 200KB you could bundle it with just about everything without any worry about the extra bulk.

But this adds an additional layer of complexity. Remember that it has to be a browser plugin and configured to handle webstart files.

Quote

Well, he won't actually have to do anything. He probably won't even notice it taking extra time to start up because he's by definition not played it before. He'd get a message telling him it's getting hold of the latest and greatest technology for him, for free - he'd probably be perfectly happy with that situation.

There are actually users who want to know what is installed on their machines, if it's a larger app. It gets difficult to completely hide the process, because an internet connection and some time is required. And what do you do if the user starts an other Java app locally? It probably won't work, because parts of the JRE are missing.

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