F1 racing game?

to cknoll

I don’t how else to explain this.

[quote]Many many many (I dare say ’ All sucessful’) software companies provide download trials of their software without lisencing restrictions.
[/quote]
Full Sail not a software company, it is a education company. It is not interested in releasing any software and never has been.
We spent many meetings with our management on these topics long ago, and it was decided that actual demostrations are fine, but releases are not in our interest and any would be handled on a case by case basis.

[quote]I guess I can’t reiterate enough the utter disappointment that sun went through all this effort to produce something that can’t be used to promote java
[/quote]
Why? It WAS used to promote Java and Java3D at SIGGRAPH 2001 which was ALL it was ever designed to do. Then it just happened to get pulled into several other conferences as well. All else was just positive acceptance within Sun.

There are many more demos out there. And real games. The only people that could lose investment in this thing are the people who made it, but that’s not the case because it was a deliverable, delivered.

I’m sorry you are so disappointed by the lack of access. I WAS disappointed too. But this is so long gone, and I am the only one of the team involved who bothers to discuss it’s state because the rest could careless about it now.

How did this become so important to you, I wonder?

I think it just got a bit hyped out of all proportion.
I wonder how difficult it would be to write another car-race demo thing without license troubles?

Cas :slight_smile:

I tried to post this eariler but somehow that didn’t happen…

The reason that so many of us here are interested in the F1 demo are that WE are not being payed by Sun to produce such a demo… and so spending the time and effort is very risky. If we could point to the tech demo and say to employers - “Look here is proof that what I’ve been telling you will work.” then maybe the idea of doing the next project in Java will be approved.

There are other Java games out there - but in terms of good quality games using recent technology, there is not much. We can’t see a demo of Cosm, and Arcane seems to be mostly OpenGL. There isn’t anything like the Java3D F1 demo out there, that I know of.

Impressive technology demonstrations are a good thing.

As I recall there was a movement within the community here to mark such things among ourselves… not much seemed to come of that, and what I did see was not all that impressive. There is only so much effort that we can apply in our “free” time.

<fx: blows own trumpet>
That terrain demo I did last year still doesn’t seem to have been surpassed even by commercial engines yet - I looked at it again the other day and wondered how I ever managed to do it. It didn’t really receive recognition as being Java because it didn’t use Sun endorsed libraries. That doesn’t make sense. Never mind.

Cas :slight_smile:

Yep… it should have at least been posted on the Swing Connection or should be shown off at a Sun conference. Dunno what’s up with that. When Java gaming gets even an incling of momentum its followed by months and months of silence.

I’m rapidly becomming of the opinion that theres someone up there waves hands vaugly skywards up in management a Sun that seems to think that they can run the entire gaming arm of things on a shoe-string an hype. The staff here do a great job, but so many times important decisions seem to have gone wayward. Not providing a standard set of GL bindings for a start, slow progress on HW accelerated 2d, mutterings and indecision about PS2 dev…

Much like Cas has mentioned, i’m disliking Java the platform but sticking with Java the language, mainly because it so much cleaner than C++, and I can’t stand working with 6+ different String classes or MFC (‘NotMFCString’ anybody?) But unfortunatly I can’t even slightly afford to fork out for a bytecode->native compiler.

[quote]But unfortunatly I can’t even slightly afford to fork out for a bytecode->native compiler.
[/quote]
Don’t forget GNU GCJ. Free and in constant development. Looks like they’ve got 1.4 asserts complete, and the proceeding merge with GNU Classpath is providing things like NIO. Doesn’t do AWT/Swing etc at the moment, which is a bit of a shame, but they’re working on it.

Might be worth a try, just to see if it fits your purposes.

Not doing Swing/AWT is absolutely fine by me :slight_smile:
However, buggering about with command lines and such is a thing of the past and not something I can be bothered to do any more. And I bet the performance of the compiled code isn’t a patch on Jet.

Cas :slight_smile:

Hi Cas,

where can people get hold of your terrain demo?

http://www.java-gaming.org/samplecode/Terrain.zip
last time I looked.

Needs a Geforce and JRE1.4. The mouse and some keys do stuff. ESC is the only important key.

Cas :slight_smile:

I just tested the terrain demo (WinXP, JRE 1.4_01, GeForce2TI), but it crashed:

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x0
Function=[Unknown.]
Library=(N/A)

NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.

Current Java thread:
at com.powersolve.opengl.GL.wglAllocateMemoryNV(Native Method)
at com.powersolve.jglib.AGPMemory.reserve(AGPMemory.java:101)
at com.powersolve.opengl.GLClient.run(GLClient.java:104)
at demo.client.Demo.main(Demo.java:275)

Ooh, bugger, well I’m not entirely sure why it crashed it has to be said, coz it seems to work generally well on any Geforce based system, even horrid Win98.

…unless you’ve got AGP stuff turned off in your BIOS.

…or you’re running a 16 bit desktop which tends to throw it, I didn’t really attempt to code around all sorts of different configurations coz it was just a little hack I was working on to learn 3d graphics.

Cas :slight_smile:

Yeah, I’m running a 16-bit desktop. But in fact I usually run all games in 16 bit screens, too…

One day I might resurrect it and put in a few more things, like some buildings and trees and rocks and stuff, and maybe a menu or something…

…and a 16 bit display option :slight_smile:

Cas :slight_smile:

[quote]<fx: blows own trumpet>
That terrain demo I did last year still doesn’t seem to have been surpassed even by commercial engines yet - I looked at it again the other day and wondered how I ever managed to do it. It didn’t really receive recognition as being Java because it didn’t use Sun endorsed libraries. That doesn’t make sense. Never mind.

Cas :slight_smile:
[/quote]
But isn’t that the one that uses a DLL, and so isn’t actually just Java? I thought it looked really good, until I saw the DLL, at which point I begin to compare it with Nvidia’s demos (or any good OpenGL stuff).

There’s a big difference (whether or not there SHOULD be, and my own personal opinion aside) between “a pure java library that isn’t endorsed by Sun” and “a JNI windows-only DLL that could in theory be compiled on other architectures that isn’t endorsed by Sun”.

Apologies if I’m thinking of the wrong terrain-demo :).

Wellll…

It’s pretty clear that to get decent speed out of a graphics pipeline you need to do some native work. You can’t just write a software renderer and pump pixels onto a BufferedImage for display by the GUI without things crawling to a halt.

Java3D has a native part, but that’s been written by a team of developers employed by Sun using Sun’s money, time and hardware. So the real difference here is just the “endorsement” bit.

Shrug I guess everyone has their own opinion on an issue like that, and rightly so! ;D

OK, so I made myself obtuse.

Much of Java is implemented using native code; although some of the standard library functions are pure Java, many aren’t (and e.g. AWT by definition cannot be).

I am not making a point about native code; I am making a point about native code that ONLY runs on ONE java platform. If a java app runs anywhere that has a byte-code executor (BCE), then it’s definitely java. If it runs anywhere that has a “standard”/“well-supported” BCE, then it seems we should call it java (because the days of “every platform has a BCE” are over. I actually remember once gettting hold of a DOS JVM whilst I was working in IBM. Nowadays, if every “major” platform is covered, that seems to be considered good enough, according to consensus opinion).

The problem here is that Sun doesn’t appear to have a clear definition of how many platforms something has to run on to be “real” Java as opposed to “a C++/ASM program that happens to have used some bits of Java”. Witness the fact that most java developers considered Microsoft’s extended-Java as “not real java” although in an abstract sense it was arguably a perfectly valid form of java, with extra bits (ignoring for the time being the bits that weren’t updated in line with “mainstream” java moving to 1.2 then 1.3 etc).

I suspect that this vagueness is largely because Sun doesn’t wish anyone to start making loud noises about how they in particular (sun) should actively develop (and support) a JVM on every platform.

So, if the terrain demo came with 3 native binaries - one for Win, Unix, and Mac OS, I would personally call it a “java” demo. With only a win binary, it’s a win32 application that only runs on windows. Seeing as that breaks one of the top 3 most fundamental aspects of java - WORM - I find myself convinced by the arguments of the apparent majority: it is a Windows demo.

Personally, I consider it a windows demo, with Java scripting controlling it. It’s a hybrid. If it used Java3D, I’d call it a java demo (personally, but I suspect many people would still call it non-java, as explained below…).

W.r.t. Java3d, I suspect that at least part of why J3D still languishes as a freak that Sun leaves out in the cold (excuse the extreme statements; but J3D has been around for YEARS without getting made mainstream by Sun) is because of the “java trochotomy”. I honestly cannot believe that Java2D is used in more cases that Java3D would be if it were part of the standard libraries - high-precision CAG etc (most of J2D) is used a lot less often in general client-GUI programming than 3D is (or would be, if it were easily available to developers).

What is Java? Java is… [the trichotomy:]
…an assembly language (the bytecode) AND the associated virtual processor architecture
…a programming language (the syntax)
…a common set of libraries (java.*)

(playing devil’s advocate:) Java3D can never be truly part of Java because to call it “java” would either mean modifying the byte code to allow for 3D-hardware interaction, or would mean that Java-defined-as-bytecode was no longer a valid definition. Witness that Sun has historically moved Java away from anything that is hardware-specific (AWT ceded in favour of Swing).

Shrug. Maybe I’m just pissed-off because 90% of my machines, running up-to-date JVM’s, can’t run a given program because they’re unix, linux and Mac OS. I can even run almost all non-graphical java programs on an Acorn, without recompilation or additional bug fixes, so not being able to run something on mainstream platforms is a major annoyance, considering this is one of the advantages of java.

[quote]Witness the fact that most java developers considered Microsoft’s extended-Java as “not real java” although in an abstract sense it was arguably a perfectly valid form of java, with extra bits
[/quote]
Well, it included instructions that aren’t part of the Java Language and added new opcodes that aren’t part of the Java Platform, therefore breaking platform independance. It also completely broke the license agreement MS had with Sun, but hey. :wink: I have to say I’m one who doesn’t consider it “real Java” either. If they just added a com.microsoft.* package I suspect there’d be no problem. It was the “embrace and extend” policy that did them in.

[quote]So, if the terrain demo came with 3 native binaries - one for Win, Unix, and Mac OS, I would personally call it a “java” demo. With only a win binary, it’s a win32 application that only runs on windows.
[/quote]
Ah, I get you now. ;D Yeah, I guess the problem is that it wasn’t developed as an application but as a technology demo. Once Cas decided there was reason to continue with his little OpenGL binding he called it LWJGL, packaged it up with audio, input and vecmath support, and the rest is rapidly becoming history.
I guess this all adds to the suggestion that Cas needs to port it to LWJGL so it’s up-to-date, maintainable, more widely available and more useful as a learning experience. ;D

Re: Java3D and what Sun consider “standard” libraries, I think Sun really dropped the ball on this one. They’ve kept adding things to an already over-burdoned API. There are a number of APIs that should never have made it into core - what they needed was a proper profile system from year dot. There was an excellent article doing the rounds a while back that put forward an excellent case for moving to Java3 and fixing all the things that have gone wrong over the past few years. Alas, it’s too late for that I fear!

(All views expressed are my opinion, YMMV, IANAL, WWJD, LOTR etc.)

[quote]So, if the terrain demo came with 3 native binaries - one for Win, Unix, and Mac OS, I would personally call it a “java” demo. With only a win binary, it’s a win32 application that only runs on windows.
[/quote]
I disagree.
You are only making things vague (you have to support 3 platforms instead of one to call it java?).
For me, java doesn’t have to be everything but native. Java is not only about platform independance.
Maybe there are ‘official rules’ about what’s java and what is not but really, I couldn’t care less.
One of java’s niceness is that you can quite easily integrate with native stuff. That’s exactly what the terrain tech demo shows.
Also, ‘a native dll scripted by java’ is just crap as I believe the DLL is only the ogl binding.

Let’s stop this ‘pure java’ debate and get stuff done.

Well, I look at it more as an observation that for me as a developer, the Terrain.zip is an excellent technology demo for what can be done with Java. As a user of an application, it’s irrelevant that it’s in Java if it will only ever execute on Windows. Users don’t care about the language an app is written in.

I agree that a debate over “pure Java” is pointless though, as it’s merely arguing over the definition for something.

Charlie out.