java 1.1 compatiable 3d engine?

[quote]We’re evaluating whether to build or buy, and would like to know what’s out there to license.
[/quote]
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.

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.

“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 :(.

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.

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).

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 :slight_smile:

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

[quote]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!
[/quote]
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.

[quote]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.
[/quote]
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.

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 :wink:

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 :stuck_out_tongue:

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).

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?

Bah & humbug! :stuck_out_tongue:

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 :slight_smile:

  • 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 :wink:

[quote]As we’re running a business and hope to generate sales of our downloads from the Java games, this was a no-brainer.
[/quote]
can you give us a link to that site?

Sure:

http://www.crystalsquid.com

:wink:

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

I’d have to agree with the undesirable state of Java on the average machine. We’ve been distributing a Java-based 3D engine (our own using LWJGL 0.7) and, in the process of doing tech support, we’ve discovered many, many, many people either don’t have Java, don’t have Java 1.4, don’t have a video driver besides their default (non-hardware accelerated) driver… don’t be so quick to put down a statement until you’ve been in the trenches dealing with the typical public vs Java 1.4 and modern video drivers.

Sorry if these questions are dumb but…

Do browsers come with a java runtime? And if so, why don’t newer releases of browsers contain the latest java runtime? Surely there must be some general push towards newer technology?

Java do not come with the browser. When downloading Opera you get the option of also include Java. But the java runtime is 3.5 times the size of the browser. So I understand if poeple with slow internet don’t bother including it.

Every major and almost every minor OEM distributor of computer equipment includes the latest Java from Sun with new computers they ship, and all browsers will, by default, use the Java that is installed on the machine.

The only way to end up with no Java on a machine is if you buy Windows XP or Linux in a box, reformat your drive, and install from scratch.

Macromedia’s studies show Java is available on about 90% of machines browsing the net (for comparison, it showed Adobe Acrobat at 80%). These number were gathered with a questionable methodology, but they’re probably in the right ballpark.

Last March, Sun published figures showing Java was on 650,000 machines.

Of course, to the original point of this thread, a significant portion of those machines are still running the 1.1.4ish MS JVM, so any broad-based consumer application will need to limit the features used to the 1.1 set.

Anecdotally, our 3D viewing solutions ( http://www.kaon.com/software ) have been used at dell.com for about 3 years now, and we’ve never had a complaint from Dell about Java availability on client machines.

-Joshua

As a community we’ve been asking Sun for these figures for 12 months, and asking for 2 years for related figures that Sun are known to have and promised to give out.

Almost 2 months ago I asked ChrisM for this or any related data, and he asked for it from internal Sun people, but here we are in Jan 2005 and still nothing has come through.

So, while they’re idling along, please could you provide a ref for this MM study? Poor methodology is fine - right now, with Sun being unco-operative (you would think they’d be shouting this from the rooftops) most of us have zero large-scale reference points, so something is better than nothing, so long as we can corroborate it…