jimgreer
Junior Newbie
Java games rock!
|
 |
«
Posted
2004-07-02 23:20:57 » |
|
I work for a large game developer/publisher and am looking for a java 3d engine for applet-based web games. It must be compatiable with the Microsoft 1.1 VM, and require no plugin downloads. In other words, it must be a pure Java 1.1 engine. Obviously that severely limits the complexity of the scenes its going to render... We're evaluating whether to build or buy, and would like to know what's out there to license. Thanks, Jim Greer
|
|
|
|
|
AndersDahlberg
|
 |
«
Reply #1 - Posted
2004-07-03 10:18:24 » |
|
It must be compatiable with the Microsoft 1.1 VM
...and also compatible with dos/win 3.1 I guess? 
|
|
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
ribot
Junior Member  
Ribot - mobile UI specialist
|
 |
«
Reply #3 - Posted
2004-07-03 12:56:34 » |
|
I can confirm that the jPCT engine works under OS X. A little slow at 8 frames per second, and i'm not sure if it's using OpenGL (textures are dithered and remind me very much of software rendering).
|
|
|
|
EgonOlsen
|
 |
«
Reply #4 - Posted
2004-07-03 16:36:17 » |
|
...and i'm not sure if it's using OpenGL Most likely not, but it's possible. LWJGL works under OS X (albeit i don't know if it's really stable) and so does jPCT's OpenGL support. The webstartable demo doesn't support it though, because it's a bit older (no MAC version at that time) and i don't own a MAC, so i can't test it. BTW: You can resize the window of the demo to gain some speed.
|
|
|
|
nonnus29
Senior Member   
Giving Java a second chance after ludumdare fiasco
|
 |
«
Reply #5 - Posted
2004-07-03 19:33:14 » |
|
|
|
|
|
|
jimgreer
Junior Newbie
Java games rock!
|
 |
«
Reply #6 - Posted
2004-07-03 22:40:31 » |
|
ps - Why does it have to be 1.1 compatiable? Because we're a mass market site that needs to support what most of our users have on their machines.
|
|
|
|
|
oNyx
|
 |
«
Reply #7 - Posted
2004-07-04 00:41:42 » |
|
ps - Why does it have to be 1.1 compatiable? Because we're a mass market site that needs to support what most of our users have on their machines. But at the same time the minimum system requirements go waaaay up. What's the smaller problem if you need to d/l a new JRE or if you need to buy a new pc? What's so great about applets anyways? I've Java disabled in my browser. Why an applet if you can use webstart? 
|
|
|
|
Breakfast
|
 |
«
Reply #8 - Posted
2004-07-05 14:42:55 » |
|
In my experience if you need java 1.1 you might as well be using flash.
I'm pretty sure some security update took out the msvm a little while ago too, but I may have dreamed that.
If you need 3D in an applet without your clients having to download anything you might be better investing in Director- most people have the Shockwave plugin and it's allegedly pretty simple to use.
|
|
|
|
|
freso
JGO Visitor
Java games rock!
|
 |
«
Reply #9 - Posted
2004-07-09 03:03:09 » |
|
I don't know if they would license out their engine, or if it's what you're after, but http://www.runescape.com has a 3D-game in java1.1. You might wanna check it out and check with them if it looks interesting.
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
oNyx
|
 |
«
Reply #10 - Posted
2004-07-10 13:04:01 » |
|
In my experience if you need java 1.1 you might as well be using flash. [...] True. Actually flash would be a better choice. Java 1.1 is just totally outdated. It's slow, insecure and no fun at all. With PCs it's just like that... you need to update some of the software one day. A new Direct X, better drivers, a new JRE, a newer browser. You really need updates if you want get the most performance out of your machine and it isn't benefitical for the user if you don't make updates necessary by using outdated technology. Why? Because he/she will need that update anyways one day and he/she doesn't want less frames, less performance or more traffic. </rant>
|
|
|
|
Flynn
Senior Newbie 
Mutant VM Alert!
|
 |
«
Reply #11 - Posted
2004-07-10 14:07:53 » |
|
Well if Java 1.1 is good enough for EA ... Click Me  G Darc
|
|
|
|
|
blahblahblahh
|
 |
«
Reply #12 - Posted
2004-07-11 10:00:19 » |
|
Well if Java 1.1 is good enough for EA ... Click Me  G Darc Yeah, but EA is *not* a poster child for smart technology decisions - I would submit quite the opposite. c.f. EA's catastrophic history with MMOG's, repeated again and again and again and ... Sure, they're damn good at marketing, and good at making cash cows regularly go "MOOOO!" but...
|
malloc will be first against the wall when the revolution comes...
|
|
|
java
Senior Newbie 
All games rock!
|
 |
«
Reply #13 - Posted
2004-07-11 11:31:44 » |
|
So going bankrupt with 1.4 (because the Average Joe won't install it) is a smarter decision than using 1.1 and making money with it? That would explain the state Java gaming is in at least.
|
|
|
|
|
blahblahblahh
|
 |
«
Reply #14 - Posted
2004-07-11 12:52:33 » |
|
So going bankrupt with 1.4 (because the Average Joe won't install it) is a smarter decision than using 1.1 and making money with it?
Average Joe does install it. Go get some figures if you want to disprove the generally-accepted status quo. Moreover, many average joes already have it. More than 50% of all PC's sold in the last 12 months + already had it. Microsoft has been diverting people to the download site for 1.4 telling them to install it. I would be interested in your revolutionary theory of economics that explains how using a technology that: - isn't supported by the vendor - is full of bugs (including a significant number of showstoppers) - lacks any of the advances in technology since *1997* - is only in use by a minority of what I quite fairly assume to be the typical game-audience (for non-standard niche games markets, tell me the market and we'll go see what the ratio is there...) is equivalent to making money instead of going bankrupt... That would explain the state Java gaming is in at least.
Dumb troll.
|
malloc will be first against the wall when the revolution comes...
|
|
|
EgonOlsen
|
 |
«
Reply #15 - Posted
2004-07-11 13:42:45 » |
|
I don't know if 1.4 is really more widely used then 1.1. I doubt it somehow, but anyway. What i'm always asking myself in such a discussion is, what should be wrong in supporting 1.1 if it's possible? jPCT for example will run under 1.1, will support BufferedImages when used under 1.2+ and can do OpenGL using LWJGL on a current VM. What should be wrong with that? Why should i limit myself and others ot 1.4 if there's no need to?
|
|
|
|
blahblahblahh
|
 |
«
Reply #16 - Posted
2004-07-11 14:57:46 » |
|
I don't know if 1.4 is really more widely used then 1.1. I doubt it somehow, but anyway.
Why? Just "gut feeling"? What i'm always asking myself in such a discussion is, what should be wrong in supporting 1.1 if it's possible?
If yuo think people are saying that is "wrong" then I'd guess you're misunderstanding their ambiguous statements...the point is that it will cost the developer more time, more pain, and (in numerous cases) cost them sales because there will be bugs they can't workaround. And then there's the fact that lots of code just runs unacceptably slow on 1.1 but is fine on 1.3 and 1.4 (try reflection, for starters; RMI is another chokepoint that got fixed...) through no fault of the coder (and there's nothing you can do about it!). So...it's positively *bad* for the developer to use 1.1. However, there are some lucky people whose applications just happen not to be damaged by this, nor would gain from any of the new features added in 1.2, 1.3, and 1.4. I don't think anyone is telling them not to do it - except that they will not be able to hold out forever, sooner or later they will run into situations where they desperately want/need a later version.
|
malloc will be first against the wall when the revolution comes...
|
|
|
EgonOlsen
|
 |
«
Reply #17 - Posted
2004-07-11 15:37:50 » |
|
Why? Just "gut feeling"?
Well, we used to offer some applet games (memory and that kind of "games") on a commercial website and we were logging the VM used by your clients for some time. The result was, that the majority (can't remember the exact numbers anymore) was using the MS VM. But we did that a year ago, so i'm not sure if it's still the case.
|
|
|
|
tom
|
 |
«
Reply #18 - Posted
2004-07-11 21:23:18 » |
|
Here we go again Warning. Possible flamebate ahead  He wan't too make 3d games that works in a browser, with as little hassle as possible for the user. What is his options? 1) Flash/Director. Might be an option. I don't know. 2) Java 1.4 with webstart and LWJGL or Jogl. Allows for state of the art games. But how many has got 1.4 installed? Not enough, and people won't install it just to play casual web games. This is just my opinion, but I haven't seen any proof that I'm wrong. 3) Java 1.2+ applet. No new features compared to 1.1, except for sound (when doing a software 3d game). 4) Java 1.1+ applet. Most people got it. The MS vm does the job well. It's fast enough, and there are few gc pauses. So...it's positively *bad* for the developer to use 1.1. Who cares about the developer? The money comes first. If that means reaching as many people as possible by using java 1.1, then too bad for the developer. It's not a technical issue, it's a business desicion.
|
|
|
|
java
Senior Newbie 
All games rock!
|
 |
«
Reply #19 - Posted
2004-07-11 21:31:24 » |
|
Dumb troll. Thank you for insulting me this way. I'll answer the rest of your post when hell freezes over.
|
|
|
|
|
tom
|
 |
«
Reply #20 - Posted
2004-07-11 21:43:24 » |
|
We're evaluating whether to build or buy, and would like to know what's out there to license. Have a look at Eyeone.com. SpaceCowboy, Chess 3D, Intergalactic Invaders and Burning metal executive edition uses the same 3d engine. Some of the engine features: -max and maya exporters -affine or persp correct texture mapping. -lots of blend modes (add, sub, alpha blending, etc) -mipmapping -it's own skinnable awt components ...and much, much more. I'm sure they are willing to license the engine.
|
|
|
|
blahblahblahh
|
 |
«
Reply #21 - Posted
2004-07-11 22:30:56 » |
|
1) Flash/Director. Might be an option. I don't know.
A very efficient option for developers. Not the best language, sure, but it's quick, easy, and there's lots of cheap talent that knows how to use it. And MM are a heck of a lot better at building consumer awareness than Sun have been (although we know Sun is slowly changing that), so non-tech consumers actually know and like MM products. But how many has got 1.4 installed? Not enough, and people won't install it just to play casual web games. This is just my opinion, but I haven't seen any proof that I'm wrong.
"casual web games" is an interesting market; this is why I keep asking Sun for figures on JRE penetrations. I have seen enough big examples either way to believe it possible that people do or do not generally install 1.4 (IF they have BB; with dialup, I've seen no real evidence that anything more than a small minority will). I don't know, but would love to get actual figures from more than just one small website at a time  . 3) Java 1.2+ applet. No new features compared to 1.1, except for sound (when doing a software 3d game).
Many many many new features. Apart from the whole of Collections (!), and the whole of Swing (!), there were a lot of major performance improvements to the VM - this was when Hotspot was invented! If performance is not an issue with 1.1 code, fantastic. If it is, you can find that 1.2 (or 1.4) is a panacea. On the whole, though, AFAICS people like dom/CrystalSquid know how to do 1.1 fast already (hey, even I've still got some tricks in the bag from my 1.1.4+ days) so perf often seems not to be an issue. Who cares about the developer? The money comes first. If that means reaching as many people as possible by using java 1.1, then too bad for the developer. It's not a technical issue, it's a business desicion.
First rule of business: costs are the only thing you have direct control over. Second rule of business: no-one cares about revenue, they care about profit, and costs are semantically one half of profit. (tongue in cheek; but there are few points you can make about business that are more important than those two).
|
malloc will be first against the wall when the revolution comes...
|
|
|
crystalsquid
Junior Member  
... Boing ...
|
 |
«
Reply #22 - Posted
2004-07-11 23:23:38 » |
|
When we first launched, we used Java 1.4. Out of all the people that went to the game pages, only 25% would manage to play a game. We changed to 1.1 (using tips & advice from the good peeps on this board), and: 1) With software rendering, the 1.1 code was FASTER than the 1.4 stuff, especially with transparencies. 2) Now 75 - 80% of visitors play a game. As we're running a business and hope to generate sales of our downloads from the Java games, this was a no-brainer. We HAD to use 1.1. people just don't/won't install later Java versions (especially given the download size) The JIT compiler does a fine job of optimising the code. Its no C++ (insert flame here), but you can match PS1 speed and have a load more memory to boot. We're currently building a 1.1 software 3D engine, and as I posted on a different thread (about performance of software 3D) we are getting 120k tris a sec out of it, which is plenty good enough for our needs at the moment. We can port from C++ to Java easily (about a week and a half for Traffic Jammer JX) due to the similarities in the languages and our libraries. All in all 1.1 is the only sensible choice if your going for mass market games, and if you've had to program PS1 before (no floats, 2MB mem) its really not that bad  The casual consumer is more interested in just going to a website and playing a game. If they have any problems, they don't try installing or fixing stuff - they leave and don't come back. To a business like ours that equals a lost customer, & I'm sure this is exactly the same reasoning that Jim applies. - Dom
|
|
|
|
|
tom
|
 |
«
Reply #23 - Posted
2004-07-12 03:46:49 » |
|
Many many many new features. Apart from the whole of Collections (!), and the whole of Swing (!), there were a lot of major performance improvements to the VM - this was when Hotspot was invented! Vector and Hashtable will cover must of your collection needs. If you need async versions you can remove the synchronization from the original source code and create your own. Linked lists and sorting I can look up in a algorithm book. No big deal. With Swing you still need to create your own LAF to match the gfx of the game. Might be faster than creating your own components using awt. I don't know. Anyone know how much work it is to create your own LAF? I did a quick test wich rendered a indoor textured level. The ms vm was faster than suns 1.4 vm. The hotspot don't help much when it comes to software rendering. Don't think blitting the int[] image to screen is any faster in 1.4 either. I don't see any performance benefits in 1.4 unless you limit yourself to 2d sprites with bitmap transparency. First rule of business: costs are the only thing you have direct control over. Second rule of business: no-one cares about revenue, they care about profit, and costs are semantically one half of profit. In this case I don't think you'll reduce cost much by limiting yourself to Java 1.4. But you will lose alot of customers, and that will hurt profit.
|
|
|
|
oNyx
|
 |
«
Reply #24 - Posted
2004-07-12 06:48:02 » |
|
>Anyone know how much work it is to create your own LAF? It's alot of work and overkill for most games anyways. What do you need? Some buttons? No need to create a new L&F for that  New scrollbars and new default colors eventually, but that's about as far as it gets. >I don't see any performance benefits in 1.4 unless you >limit yourself to 2d sprites with bitmap transparency. Uhm? 1. bitmask transparency was good enough for 99% of the 2D games... it's hardly limiting and 2. accelerated full alpha is on it's way. So T-8 years for those people who prefer using outdated technology >In this case I don't think you'll reduce cost much by >limiting yourself to Java 1.4. But you will lose alot of >customers, and that will hurt profit. I know it's hard to believe, but a game which performs poorly (like a flash game heh) also means losing a customer and thus profit. It takes less than 10 seconds to judge about a game's performance. I can play Q3 with 85frames, but that 2D game with a tiny screen isn't even able to spit out 20fps? That's absurd. Really. Most people don't have a spare ghz or two for throwing it at oudated software rendering. I mean... it's that whole casual/shareware thing... older hardware. That's your target. By using 1.1 you just substitute one of those factors against another and your statistics can't tell you if it was a good decision or not. What if 60% of your customers are totally put of by the poor framerate? Can you tell? (You can of course benchmark the first 10 seconds of actual gameplay and send the result back to the server).
|
|
|
|
nonnus29
Senior Member   
Giving Java a second chance after ludumdare fiasco
|
 |
«
Reply #25 - Posted
2004-07-12 16:51:01 » |
|
I've run into problems running 1.1 software rendering applet code with the 1.4 jre; probably some threading issures, I don't know.
I agree with Egon and CSquid its a pretty simple thing to abstract away the actual rendering and use what evers available.
Oh and CSquid, the psx was 360,000 tri's a second iirc? Are you getting 120,000 at 640x480 which was psx max resolution?
|
|
|
|
|
crystalsquid
Junior Member  
... Boing ...
|
 |
«
Reply #26 - Posted
2004-07-12 20:49:10 » |
|
Bah & humbug!  360k was the QUOTED figure (no texture as I recall), but it was nigh-on impossible to reach it (unless you had no game logic). We made do with 2-3000 tris drawn a frame at 50/60Hz (about double were processed, but BFC'd etc.). Most games ended up running at 30fps (a few down to 15fps!). Anyway, its not how many you've got but what you do with them that matters  - Dom edit: My figures are at 640x480, tho most PS1 games ran at 240 high to a) save VRAM, and b) not have to use interlace mode cos it sucked 
|
|
|
|
|
Matlu
Junior Member  
Hasta La Victoria Siempre!
|
 |
«
Reply #27 - Posted
2004-08-30 19:49:29 » |
|
As we're running a business and hope to generate sales of our downloads from the Java games, this was a no-brainer.
can you give us a link to that site?
|
|
|
|
|
|
jesmith
Senior Newbie 
Visit Kaon for the best Java 1.1 3D technology
|
 |
«
Reply #29 - Posted
2004-11-04 13:24:44 » |
|
Jim, Take a look at our newly released vSpace product line: http://www.kaon.com/software The Meson platform, which is included with vSpace Master, uses only Java 1.1 features, includes sophisticated 2D and 3D features, and is fully programmable both through its own language, and through Java. It is not a game engine (no collision detection, ballistics, terrain manager, etc.), and we really did not design it with gaming in mind. But you should take a look nonetheless! -Joshua Smith CTO/Alpha Geek Kaon Interactive jesmith@kaon.com
|
|
|
|
|
|