Why it'll take time for good Java games to appear

Kazaa’s not a game!

Most people hate Flash and no-one downloads 10Mb Flash games! At least, no one I’ve ever met :slight_smile:

A killed that awful WildTangent thing on my computer, mainly because I didn’t remember installing it and one day it was just there and secondly because once it was there it never did anything ever again. Huh?

Chris - nearly all the computers in the world are far less powerful and connected than what you’re used to. The majority of the world still has weedy computers and a 56K modem if lucky. And the stats I have gleaned from online publishers is that after 5Mb downloads drastically tail off with a corresponding reduction in sales. Because of the major Java incompatibility issues and general hassle installing it - it’s not transparent, no matter how much you try, the very fact that it even exists is irrelevant to a consumer - you have to ship the entire JRE with your game every time and bundle it in an installer because the game has to be a self contained installable unit which will have no effect on the users system. That’s so crucial and it’s probably worth reading through that internal memo again to let it sink in.

And that means 16Mb downloads. Result - one fiftieth the sales potential.

Now if Java were genuinely and completely modularised and versioned we’d be interested! If it came as a launcher (Webstart) and autopatcher, JVM, and stub library - you could be on to something. If you could get that feature set down to under 1Mb, you have probably got a success story on your hands. It puts the onus of installation on the developer, where it belongs, who would have to ensure the correct versions of packages were supplied with the correct dependencies for a game, and the appropriate stub JVM - and leave the other 10Mb of baggage behind.

Cas :slight_smile:

[quote]Kazaa’s not a game!
[/quote]
I KNOW Kazaa is not a game ::)…

In spite of you not liking Flash games, they seem to have done pretty well with it :wink: Oh, and I’m not talking about having to dl 10MB Flash games…

Again, WT has achieved some impressive penetration… AND what does that say about the WT penetration model if you didn’t remember installing it? They were STILL able to get a large dl onto your computer. We here say “that stinks”, the average user says “hey, thanks for doing that for me so I can play these games!”

You are missing my point Cas. Even though the Flash games that people are dl’ing are not 10Mb, the Flash player is. People had to sit through that dl to get access to the 1-2mb flash games and flash enabled websites. The reasons people will tolerate the pain, across 56K, is because the interface is good enough that it handles the installation of the player and the user dosen’t need to concern themselves with it after that point. The care and feeding is done by the app itself. AND people NEED it to get accss to the content they want. Simple as that. If my daughter wants to play the games at Barbie dot com, then dad better have Flash installed, regardless of the connection.

And with regard to your mention of the non connected gamers, then it is a simple matter of shipping the JRE on the game media. What’s the problem there?

In regard to the Kazaa mention, I was simply pointing out that people are willing to go through painful downloads if the content is compelling enough. Look at PopCap games. You download a simple Java game into a browser and after you are sufficiently hooked, you dowload a “beefier” version and pay for it. And, suprise suprise, their target audience is novice users and 56k. Oh, and they are VERY successful.

Cas - I understand that the world dosen’t have the power rigs that a lot of us here have, but the mainstream systems going into people’s homes are more than adequate for running the Java games people here are building.

-Chris

I belong to that group of people SpaceGhost mentions: I always fell happy if things go automatically. E.g. if Microsoft tells me there are new updates available for me, if Adobe tells me there is a new version of the reader available, if Macromedia tells me theres a new player. Nothing can stop me than to get these things. Newer? Better!! Need it!!!

Typically I’m only one mouseclick and some waiting away from it.

With Java, it is somewhat different…

Collegues of mine, experienced (non-java) software developers, failed to setup a current JRE+Java3D. Maybe they already had an old JRE on the disk and the new Java3D went there or whatever. Sometimes, with personal hands-on help, they managed to uninstall the old things, deleted the directories and than could install things from scratch, sometimes they failed and gave up. In the worst case, I had to explain why their favorite online banking Java-client does not work anymore.

This currently might be the biggest problem. Installing and maintaining Java from the Web just does not work easy enough.
If a WebStart script could reliably install/update a Java installation including additional packages like Java3D, the actual size of the package would be a minor thing.

Of course, when deploying on CD, a JRE can be provided for that single game. But this does not help to distribute Java and, more important, when deploying on CD one of the biggest Java advantages has already been given away.

We try to keep our thing as small as possible so that it always can be downloaded easily. Thats for our game. But I have no clue on how to get a clients machine prepared to run it!

That’s funny, I never had to install Flash - it just seemed to come bundled with my operating system. How strange. Oh - and Flash is 500kb

  • it’s Shockwave which is 4.5Mb - still half the size of Java - and in several years I must admit I’ve not actually come across anything that requires it: its success is largely hype, Flash has done far, far better - and guess why? Because it’s tiny.

Now don’t take this the wrong way - but this argument sounds remarkably like the bickering between a husband and wife ;D It’s not going anywhere and it’s not achieving anything because nobody is listening to anyone else. A 3rd party - invaluable in pointless intermarital squabbles to pour the cold light of reason from another perpective on the situation - would be saying, “Why are you arguing when your goals are the same?” All I can hear from Sun is a constant whiny noise: just excuses and reasons not to do something or why it can’t be done or other people being successful at it because they’ve stuck to the only thing Java’s good at. There’s no can-do attitude. I don’t hear any “Sure, the VM’s massive - we are going to make it a tenth the size.” There’s no “Wow, that OpenGL stuff really seems to get results. Perhaps we might officially support OpenGL to prepare us against the onslaught of .NET and DirectX.” I don’t hear, “Aha, so you need structs to efficiently access native buffers! Why didn’t we think of that? We’ll get it in the language ASAP.” And remarkably I still don’t hear “Oh, so the VM is too large to deploy in its entirety so you’re not going to use it at all. Hey tell you what, we’re going to relax the licensing restrictions to allow you to cut out all the stuff you don’t want to deploy. (Like, publicly, not just between you and me)” As for the trouble getting a hires timer into the core Java spec - that should have been a “Yessir of course sir why didn’t we think of it sooner I’ll just go and iron my hands etc.” but instead we’re faced with stony silence.

Remember - can do attitude is what you need. M$ are pissing all over Sun from a great height and it’s entirely down to Sun coming up with excuses instead of just saying, “Sure, we’ll do that. It won’t hurt a bit.”

Cas :slight_smile:

Hi,

I believe that java-gaming.org is a great resource for all java developers. What I don’t understand is that how you all put up with rude, offensive, paranoid and psychotic posts like this one:

[quote]If you don’t want to be here then go away, frankly I’m tired of hearing this. Fine if you feel you can do it better in C or C++ then do it and stop coming here. This is a Java site not a C programmers “why you should give up on Java site”.

Troll, troll, troll. Well you got a bite from me take it and run.
[/quote]
And this guy’s supposed to be a full member?! Listen here, I’m a professional Java developer for 5 years and I’m the first to admit that this language is beautiful, but still with great flaws.

If criticism can’t be expressed in this forum, then what? We all live happily in this utopia of Java being the perfect language? Well, it’s not. It’s light years behind C++ and if we bring some issues forward, then maybe Sun will take them under consideration.

You wanna talk real world? Try to make a PS2 title with Java. So instead of calling serious people who want to discuss Java’s flaws over C++, trolls (and you do it, whenever such opportunity arrives), you should sit down and just do it.

Sure, Sun needs to do something to avoid being overrun by M$ but I don’t know if they should concentrate on making it tenth the current size. I don’t think that’s possible and still call it J2SE.
A one time 10Mb download is not really a big problem if it’s worth it. Currently, it’s not worth it.
My videodrivers are 15Mb (ugh :P), and I need them so I d/l them and I will d/l the updated drivers too that will probably be even larger, like everyone else with the same videocard does.
I think Sun needs to make their VM worth the download or even make it a necessary download by supporting, even funding projects that will put the VM in a better position.
Things like an online banking tool requiring Java2 so that banks distribute the VM with it on a CD.
Maybe we should submit our games to games magazines for inclusion (together with a VM) on the coverdisk (in my country, the most bought games magazine has a section on the coverdisk with submissions from readers). The latter I will actually try to do.

Of course Sun needs to do move faster, but we should also try to be a little bit more constructive.

Is there a RFE for structs? It’ll get my vote.

Never mind structs, I’m waiting for a type-safe enum…

[quote][…]A one time 10Mb download is not really a big problem if it’s worth it. Currently, it’s not worth it.
My videodrivers are 15Mb (ugh :P), and I need them so I d/l them and I will d/l the updated drivers too that will probably be even larger, like everyone else with the same videocard does.[…]
[/quote]
well that’s the big idea.

if u set up your comp… u need direct-x, wich is goddamn huge. u need your drivers (the detonator is quite huge too). and tons of other stuff.

every x month u have to update something of that… dx cuz the new game requires it, the new detonator cuz u have performance issues or glitches in your favorite game.

we just have to get the ppl get in groove updating their vm every x month too :slight_smile:

i usually do it like this:
"hey check this " - “hmm… doesnt work”
“wich os do u use?” - “98x blabla”
“oh… then u use the crappy ms vm wich is full of bugs and security holes… u should update quickly . btw u should upgrade it from time to time… it gets improved and enhanced continiously :)” - “thx”

that workes quite well :slight_smile:

~9-10mb is imo ok. most ppl wont even use a download manager for such a tiny file :>

[quote]I belong to that group of people SpaceGhost mentions: I always fell happy if things go automatically. E.g. if Microsoft tells me there are new updates available for me, if Adobe tells me there is a new version of the reader available, if Macromedia tells me theres a new player. Nothing can stop me than to get these things. Newer? Better!! Need it!!!
[/quote]
well i belong to the group of ppl who like to know exactly what is downloaded at any given time. and wich server get a request from my comp.

sending any data from my comp without my knowledge/permission is a bad thing and decleared as spyware/homephone-ware per my definition.

there is only one way to do it right imo.

user starts the setup… java version/available check is performed… if java isnt available or the version number is to low, u’ll get to a dialog, wich asks to d/l the latest version (please restart the installer after jre install blabla…).

as seen on tv, or to be more presicly… as seen in dx game setups :slight_smile:

ppl will get used to upgrade it from time to time and it’s our “job” to get em that far :wink:

@cricketMan

i guess zparticle took that just a bit too personally :wink:

oh and btw… “WildTangent” IS spyware.

it hook into your system… it gets then startet every time u boot up… it connects to wildtangent servers whenever it wants to… and it sends some data without asking u.

that is serious shit.

if java gets this way i’ll quit coding in java. in addition i will smack it down in any discussion for trojanzing our systems

period.

Damn right WT is spyware. I don’t even remember asking it to be installed and it just sort of sneaked its way in somehow. I think I just wanted to try a game demo out, which didn’t work. Imagine how annoyed I was by some bit of crap suddenly sat in my system tray unexpectedly. Successful? A very suspicious success if you ask me.

And wrt. drivers, Direct X, etc. etc - I hate to piss on the bonfire but hardly any users download stuff this big that does “nothing”! Only weirdos, nerds and developers like us do that. Fortunately, our benevolent friends Microsoft regularly autopatch their bugs, but most importantly, they ship their O/S with all the necessary drivers in the first place!!!. Retail games, a market so pointlessly up its own arse there’s little to recommend it any more, conveniently ship everything necessary on a CD. But the average Joe does not have to download anything to try a game demo out! He’s got a 3-5Mb investment in waiting and that’s it - install, run it later on, buy it or uninstall it down the line - and no other part of the system is affected in any way.

Cas :slight_smile:

Right, I’ve made a formal RFE to add “structs” to the Java language. They’re not a direct copy of C structs because of a number of semantic differences.

When it goes public in about 3-4 weeks time hopefully depending on how “snowed under” :stuck_out_tongue: the RFE team are I want every single one of your asses down to JDC to put two votes in for it. There’s a thousand members on this board so we could go straight to the top in 1 day 8)

Cas :slight_smile:

[quote]hardly any users download stuff this big that does “nothing”!
[/quote]
Well, that’s the problem isn’t it? Not the size, but that it doesn’t do anything. If it’s 1Mb people still won’t download it if it doesn’t do anything!

[quote]Only weirdos, nerds and developers like us do that
[/quote]
Well, we have to start somewhere ;D

[quote]conveniently ship everything necessary on a CD.
[/quote]
Except videodrivers, which are likely to need replacement if you have them from the windows CD (I run win98, which obviously doesn’t have detonator drivers on them).

[quote]He’s got a 3-5Mb investment in waiting and that’s it - install, run it later on, buy it or uninstall it down the line
[/quote]
Hmmm. 3-5Mb? That’s a very tiny game demo. I never d/l game demo’s because they’re always way too large to suck them through a dial-up connection.
When I want game demos, I get a magazine with a coverdisk. It usually has up to date direct-x stuff too and game patches and such, so if there are java games worth it, the VM will be there too.

Furthermore, many people play java games at work where there’s usually a high bandwith connection. Just clicking ‘yes’ to do the one time d/l of the java plug in is not at all a problem.

But again: it has to be worth it!
Which is largely up to us, not just Sun.
They have to start moving faster and get the technology right and their issues settled.

[quote]When it goes public in about 3-4 weeks time hopefully depending on how “snowed under” the RFE team are I want every single one of your asses down to JDC to put two votes in for it.
[/quote]
Cool, let us know when it went public and I’ll vote for it.

[quote] Oh - and Flash is 500kb - it’s Shockwave which is 4.5Mb - still half the size of Java - and in several years I must admit I’ve not actually come across anything that requires it: its success is largely hype, Flash has done far, far better - and guess why? Because it’s tiny.
[/quote]
Flash and Java applets may have done better than Macromedia Director (Shockwave Studio) for silly webapps, but I would guess that many more games that get sold on CDs in stores are created using Director than both Java and Flash combined. The question is whether Sun should focus its gaming efforts on getting Java into the retail game industry or on helping shareware and amateur developers who only distribute their games online.

A 3D modeller who went to the same interactive writing course as me was able to create an interactive 3D game demo in a week using just Macromedia Director, a few lines of Lingo code and a Director plugin for Maya that also seemed to include the Havok physics engine. Just writing an exporter for Maya that supports all features (particle systems, animations etc.) and an importer to Java would probably have taken me much longer than that. This has made me quite positive to the approach of the JGP to include common productivity features such as physics engines and character animation libraries.

To me, the real challenge and opportunity seem to be to make the gaming libraries portable and extensible enough (real open source would probably be ideal) to allow them to adapt to AAA title requirements. I would guess that this is the greatest problem for both Director and Java3D in their current forms.

Java3D actually provides a very good example of the direct consequences of failure to solve the problem of extensiblity and portability as the whole library is useless to anyone who requires portability to MacOS X, access to modern rendering features or whose performance is blocked by the library’s internal architecture or a bug (like what happened to Jacob Marner’s benchmark). Sun may be able to solve the first two issues by changing Java3D, but developers may need some sort of access to the source to handle the risk of show stoppers in the form of bugs and other internal issues in the library. Maybe it would be a good idea to develop an open source scenegraph architecture on top of LWJGL?

Well, I’ve been hinting about that for a while :slight_smile: C’mon, someone can figure it out…

The shareware games industry is every bit as important to Sun as the retail games industry, for two reasons:

  1. The shareware games industry is in its infancy and undergoing an unprecedented and massive expansion. Strike while the iron is hot. Right now I see people diversifying into Blitz Basic (excellent tool), Allegro (excellent API), SDL (excellent API), Visual Basic (wOOt), and even Delphi in order to increase their game output productivity - but almost no-one except us freaks are standing by Java because it’s too difficult to get the results we want and relies on all these complex external hazards.

  2. Where does a professional games developer cut his teeth these days? Working at MacDonalds? Writing database queries? No! It’s writing a shareware game! That’s what I’m doing! That’s what Jeff Minter did! (Recently) That’s what John Carmack did! Why is OpenGL so popular these days? Don’t kid yourself - it’s because of Carmack!

Cas :slight_smile:

Webstart is installed on those same machine that will be required to run LWJGL. Its a bundled feature of JDK1.4. I currently base my whole system around WebStart because it works well and by virtue of my market having to have JDK1.4, I’m assured that they would also have to have WebStart.

In terms of actual demo size - most game demos that I see people downloading in large numbers are 60MB+. Hell there are over 50k downloads of the recent 3DMark and its over 177MB in size! If something is good enough, there are sufficient number of people out there willing to download it or find a friend with broadband and a CD burner and get it from him. A demo of 5MB or so in size is VERY tiny and if its 3D I’m curious how much texturing you’re doing.

Back at my old job for a game company doing R&D, we looked at this issue specifically. We wanted to know if it was feasible to build real games for dial up connections and our conclusion was that it was impossible to build full games with the constraints we were given because the content pipeline from the artist and musicians would just eat it up. The smallest thing we were able to pump out was about 30 or so megs (a real game with lots of levels and such). After we demoed it to our executives they shelved it - not because it was Java based (they liked the idea of hitting all the PC platforms and getting the additional SKUs), but because it was not viable (we however had the fallback of a retail market). So long as people are downloading large quantities of 100+ MB demoes, I’m not specifically worried about download size. (Splinter Cell demo is 1 level and is larger than 100MB).

The new crew I’m working with who have a commercial interest in what they could possily do with LWJGL have already done the research and concluded that in the US (other countries may have excessive phone fees that make this untrue), there are enough gamers who have fast connections alone to make viable the creation and electronic distribution of game content. So right now my task is to make sure that real games can be done with the LWJGL moreso than try to squeze a game into a box of floppies. Personally I think that’s no longer necessary, and the sales figures on CPUs over the past 5 years in after market (upgrades) suggest that today’s PC gamer has at least an 800MHz and a GeForce 2 level video card. When they correlated those numbers with specific configurations sold my Dell and Gateway it sounds of truth.

That’s all completely true Gregory, but you’re only looking at one small expensive end of a very big market (the high-risk end). Go to http://www.dexterity.com or http://www.garagegames.com for a look at another segment of the market, and that’s the segment I’m most interested in because I have the greatest chance of making a living and enjoying myself at it.

If you get anything serious going wrt. LWJGL game development, there’s a programmer and artist for hire here :-*

Cas :slight_smile:

[quote]That’s all completely true Gregory, but you’re only looking at one small expensive end of a very big market (the high-risk end). Go to http://www.dexterity.com or http://www.garagegames.com for a look at another segment of the market, and that’s the segment I’m most interested in because I have the greatest chance of making a living and enjoying myself at it.
[/quote]
Ok Cas… not to drag the point out…but I will :wink:

So I went to GarageGames and checked out the downloads. The DEMO versions ranged from 2.5mb - 12+mb. The full versions are much larger. Now, given your arguments for people not doing big downloads, how should you expect to make money if people won’t do the big downloads? :slight_smile:

Ah, but you will make money! You see if peoplel want the content of Orbs on the GG site, they will suffer through the 12.6MB dl that the DEMO requires. I maintain that as more compelling content becomes available for Java, people will be willing to “suffer” through the download of the JRE. Or it will just be on your system when installed through a commercially distributed CD-ROM game.

-SG

Chris, check out Dexterity. The downloads I saw range from about 400KB to about 8MB. Most are in the range of 2-3 megabytes, however.

The demos I tried out were fantastic. Check out Aargon, Fitznik or Penguin Puzzle. Any of these are possible to do in Java, but if distributed with the JRE would be ten times the size.

All else being equal, if two games have the same functionality, graphics, sound etc but one is ten times the size of the other, guess which one people will download?

Personally, when choosing which demos to try, I weighed the size against the look of the game. The ones that looked really good or were highly rated I tolerated having a download size of 3-5MB. I didn’t download anything larger than this at all.

Such is the behaviour of a person on a 56K connection - AND I use a download resumer AND my Internet calls are free AND I have lots of free time to download things.

BTW, is there a link to the famous LawAndOrder game? Read about it, but cannot find material.