Java for a game on Pc/Consoles in 2005?

Ah, we call that an object leak which has a subtly different meaning and solution. Besides we won’t be seeing AWT on PS any time soon I hope. God help us.

Cas :slight_smile:

Thank you.

[quote]Yep, wouls be nice. Ofcourse so would PS3 specs… ;D
[/quote]
Oh yes. :wink: I’m still wondering how to make technical design decisions today (your game’s architecture) with a PS3 in mind - when there are basically no informations on it for the public…

When I mentioned memory leaks I was referring to the leaks you get in the C version after porting the Java version - because as you say Java cleans up for you. Lots of places where the object just goes out of scope (fine in Java) but in C++ thats a leak.
Sorry if I wasn’t clear :slight_smile:

btw: for releasing a game for PS3 launch - don’t bother. We rushed to get a game out for (near) PS2 launch, and tbh, even though we did sell a fair amount (proportionally), it paled into insignificance w.r.t. a PS1 game at the time. You would do better writing a PS2 game as the PS3 will probably be backwards compatible anyway, and there will be some 70+ million PS2s out there. Remember also that EA, Square, Sony, etc. will all have products ready to ship at launch - you will be fighting for a slice of a very small pie. Big pies good :slight_smile:

  • Dom

[quote]btw: for releasing a game for PS3 launch - don’t bother. We rushed to get a game out for (near) PS2 launch, and tbh, even though we did sell a fair amount (proportionally), it paled into insignificance w.r.t. a PS1 game at the time. You would do better writing a PS2 game as the PS3 will probably be backwards compatible anyway, and there will be some 70+ million PS2s out there. Remember also that EA, Square, Sony, etc. will all have products ready to ship at launch - you will be fighting for a slice of a very small pie. Big pies good :slight_smile:
[/quote]
That sounds well.

I’m currently observing some friends’ game project which will need good CPUs (2 GHz and higher) to handle the AI, real time (3d) animation, and so on.
A PS2 or any other console isn’t powerful enough to handle this. The team says when a publisher asks for a console version they’ll name “next generation”, ie PS3.

Still, if for sure the PS3 won’t have Java, I can’t even suggest to the crew to use Java as a Scripting Engine. :wink:

Okay,

So I CAN tell you that it isn’t for sure it WON’T have Java. Just that there is nothing announceable yet about whether it WILL have Java.

Understand the difference?

If all you are doing with it is scripting then you might be able to get away with a purely interpreted VM. I believe there are some open source interpreted VMs that are quite portable.

Otherwise we do know of one company currently that ported the VM to a console themselves in order to release a game. Thats a lot of work, particularly if the target console is very different from a desktop system like a PC BUT if a company did that its likely terms coudl be worked out with Sun to ship it as part of their app.

+[quote]So I CAN tell you that it isn’t for sure it WON’T have Java. Just that there is nothing announceable yet about whether it WILL have Java.
Understand the difference?
[/quote]
I think so.

You’re basically saying


isNotThereForSure = false
if (! isNotThereForSure) {
  but_cant_be_officially_confirmed_yet
}

But you’re not saying


isThereMaybe = true
if (isThereMaybe) {
  announce_officially
}

[quote]If all you are doing with it is scripting then you might be able to get away with a purely interpreted VM.
[/quote]
I see. Of course I’d like to use more Java components.

In another thread there’s some mention on sheets which show the productivity improvement of game crews using Java compared to some ancient languages. Any chance your trainee could scan them for us forum guys here? :slight_smile:

[quote]Otherwise we do know of one company currently that ported the VM to a console themselves in order to release a game. Thats a lot of work, particularly if the target console is very different from a desktop system like a PC BUT if a company did that its likely terms coudl be worked out with Sun to ship it as part of their app.
[/quote]
OK. My observed project focuses clearly on PC. It would be fine however to give a vision to a potential publisher’s question for a (PS3) console option.

[quote]+In another thread there’s some mention on sheets which show the productivity improvement of game crews using Java compared to some ancient languages. Any chance your trainee could scan them for us forum guys here? :-).
[/quote]
Yes sorry, icam VERY remiss on this. I can only beg over-work. Im working on our big thing for GDC this year (a bombshell I think), plus finishing the networking chapter for Shawn’s book, and dealing with soem life issues.

As soon as I can remember to actually take the sheet with me over to Kinko’s at the end of a day I’ll get it scanned to PDF and up, I swear.

[quote]Having said that: if the market’s there, Excelsior USA have every reason to produce a cross-compiler.

There is no reason why even today a PS2 game could not actually be coded in Java if Excelsior produced a compiler for it and someone wrapped the PS2’s functions with a JNI interface.

My experiences of Jet are that it has a particularly good memory overhead compared to the standard JVM and performance at least the equal of C++. It is, truly, the best of both worlds. You get the rapid development and test cycle of Java and then you get the other advantages of C++ when you cross compile it for the console. (You listening dleskov :wink: ?)
[/quote]
Well, we could of course make a cross-compiler, but we would need a lot of information and technical support from the platform vendor. An OEM agreement with them would be even better. But these are impossible to achieve via front door, because we are a very small company compared to Sony.

Does anyone here has good connections at Sony (or Nintendo)? Can you put them in touch with us?

I recall I have heard some time ago Sony worked with Sun on someting called Java Game Profile…

D.

[quote]Will there be a Jet or GCJ version ready by of 2005, in order to compile your Java game or Java parts of the game to a PS3?
[/quote]
I regret we (Excelsior) do not have plans for PlayStation support at the moment.

Couldn’t care less meself - what’s the point of using a cross-platform language and then having to code directly down to a very platform-specific API?

Cas :slight_smile:

[quote]Couldn’t care less meself - what’s the point of using a cross-platform language and then having to code directly down to a very platform-specific API?
[/quote]
Suppose you are used to program in x86 assembly and your only target is x86 - why would you switch to C (which is much more portable)? Because you would write your programs faster.

For me the main point of using Java is not its cross-platformness, but programmer’s productivity.

It’s not that much faster to develop in… that’s really a little overhyped :slight_smile: Where it comes into its own is in the supporting technologies that come bundled with it and the other bells and whistles like security.

All the complexity from games writing these days (on the client) comes down to telling graphics cards what to do, and if you have to completely rewrite that aspect of it to work across platforms anyway… maybe there’s not such a great saving after all.

I’ll eat my words when you produce a native compiler for PS2 so I can run Alien Flux on it :slight_smile:

Cas :slight_smile:

[quote]It’s not that much faster to develop in… that’s really a little overhyped :slight_smile: :slight_smile:
[/quote]
Not in my case Cas. Im dead serious when I say I produce final bug-free code in what I estimate to be 1/8 the time in Java. If your around for GDC come see the server system I’m just finishing and that I wrote top to bottom single-handed in about 6 months. Last I heard game teams in C were spending many man-years on servers that do a lot less.

Ofcourse your results may be different then mine. every programmer has their own best style of working and performance trade-offs.

I also think it really depends on the compelxity of your task. yes, I agree if all you are doing is pushing pixels around then the savings is porbably somewhat less. Most modern games however DON’T just push pixels around. They are very logically complex peices of software and its here where Java shines in productivity.

Yes I know I still need to get the sheet from the GDC 2 years ago scanned in. It has some numbers that tend to show my experience isnt outlying. Hopefulyl I’ll geta breath before GDC to do that…

I fully agree it’s at least 10x faster to develop server code, but client code is usually about wrestling with OpenGL and getting your head round horrible mathematics for me :slight_smile: Which takes as long in any language for my tired old brain.

Cas :slight_smile:

[quote]I fully agree it’s at least 10x faster to develop server code, but client code is usually about wrestling with OpenGL and getting your head round horrible mathematics for me :slight_smile: Which takes as long in any language for my tired old brain.
[/quote]
This is valid just for small games like Alienflux or my hobby projects, Cas, just for them.
For full price games (=client), Jeff’s absolutely right. Your efficiency gain with Java is enormously, as with most complex applications.

Probably worth looking again at AF and redefining your definition of “small” ;D

I admit it would have taken a while longer in C++ but I’m also fairly certain there are plenty C++ programmers out there who are far more competent at C++ than I am at Java!

Cas :slight_smile:

[quote]Probably worth looking again at AF and redefining your definition of “small” ;D
[/quote]
What I tried to say has been AF’s small compared to a complex fullprice game like, for example, Ground Control II. It needs 20 (or more) people to work full-time for about two or three years, just to release a very first version with bugs and no perfect game tuning.

For a small team (one developer plus one graphic artist you’ve been?) AF is of course a big project.

It’s difficult to make a nice game (which AF definitely is) no matter of its size. It’s an art in both cases.

[quote]I admit it would have taken a while longer in C++
[/quote]
Naturally.

[quote]but I’m also fairly certain there are plenty C++ programmers out there who are far more competent at C++ than I am at Java!
[/quote]
This is a new discussion then and has nothing to do with the “Java is more efficient to program in than C++” ? :wink:

Ah, but I think you’ll find it doesn’t take anywhere near that manpower. You’ll find typically no more than 3-4 fulltime programmers on a game, and one of those will probably be dedicated to tooling. There are obviously exceptions but that’s the norm.

Cas :slight_smile:

[quote]Ah, but I think you’ll find it doesn’t take anywhere near that manpower.
[/quote]
The number’s been for the entire game, not “just” the programming, yes.

[quote]You’ll find typically no more than 3-4 fulltime programmers on a game, and one of those will probably be dedicated to tooling.
[/quote]
Let’s say four fulltime programmers plus additional programmers for tools, scripting, etc. They can fully concentrate on programming, in contrast to you having to handle the design, research, project management, testing, sell management, etc.
So they’re at minimum 4+ times as many as you’ve been and the “Java efficiency factor” will be huge. :wink:

[quote]I’ll eat my words when you produce a native compiler for PS2 so I can run Alien Flux on it :slight_smile:
[/quote]
See my post in another forum.