Would like some feedback again

Thanks all for the nice comments and feedback :slight_smile: :slight_smile: :slight_smile:

[quote]Very cool, hard to see anything. Additive everywhere is quite bad
[/quote]
yes, I know the current blending is a problem because many colors are washed out to total white. I haven’t succeed in getting the alpha channel working like I want it to work (see another thread about masking I recently posted on).

[quote]Now…if you could just get the camera to sit 1 inch off center (UDLR) you can see what you are shooting
[/quote]
I can make an offset in the camera so that the camera is hovering slightly above the ship although I think making the objects more clear will be more important to see what you’re shooting.

[quote]is that the speed that i was supposed to have with the j2D version?
[/quote]
Yes, approximately. One difference is that you now have control over the speed, though

[quote]I’m getting flashbacks to Cosmic Tunnels
[/quote]

[quote]These colors … LSD
[/quote]

[quote]Quite “trippy”
[/quote]
Trying to come up with a name for the game, maybe
“Cosmic Trip” would be a one? ;D

2 fps :o, no sound, not reactive to button pushes.

Config: Matrox G400 (newest driver), 700 Mhz Athlon, 384 Mhz, W2K. LWJGL installed and works great.

That’s weird.
The LWJGL demo’s work ok for you and this little game doesn’t???

You’re obviously not getting hw accelleration. Is your desktop at 24bit color perhaps? (try turning it to 16bit).

Hmmmm… :-/

I uploaded a small update to the game:

  • Camera movement is now not so jerky when you hit the side of the playfield.
  • Camera position is a bit higher
  • Quick’n dirty © hack to get rid of jerkyness caused by AudioClip when constantly firing. This is just temporary until I got OAL in place.
  • Some graphics are larger (play fire, homing missiles)

Thanks to Web Start, only the code (I think about 48Kb) is dl’edv, not the music, sfx, gfx,lwjgl etc :slight_smile:
But, on my machine, it was only updated the second time I ran it after I uploaded the jar (also thanks to Web Start???)

This be the error

An error occurred while launching/running the application.

Title: Move GAGA
Vendor: Move GA
GA
Category: Unexpected Error

Unexpected exception: java.lang.IncompatibleClassChangeError

Hmmm… on my machine at work it starts, loads the textures etc and then exits for no apparent reason (no error message, no nothing)…
:-/

Does it work on anyone’s machine???
I don’t get it. I tested it on my PC at home and it worked although I had to try it twice for the automatic update to work.
Now at work it simply stopped working, with no errors. And at capt.goatse’s PC one error message, EgonOlsen’s PC another error (which made no sense) and hangs his machine.

pfffft…
:-/

Anyways, I’ll try to see if I can fix it when I get home.
If not, then not. :-[

[quote]Does it work on anyone’s machine
[/quote]
Works as advertised…

[quote]Works as advertised…
[/quote]
Aha.
In other words: ‘Write-once, maybe-it-runs-somewhere’

This sucks :-/

Welcome to the world of games development :confused:
At least in this case it’s probably our fault, and likely one that’s to do with how you select a screen mode. What’s your code to select a mode?

Cas :slight_smile:

I certainly hope so. ::slight_smile:
Here’s the code:


    public static void main(String[] arguments) {
            GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();          
          //NameDialog dialog = new NameDialog(env);
          //while (name == null || name.length()==0) name = dialog.name;
          //dialog = null;
      client = new HSClient();
          contactServer = false;
          
        int err = 0;
        GameWindow game = new GameWindow();
        try {
            game.start(640, 480, 16, true);
        } catch (Exception e) {
            err = 1;
            e.printStackTrace();
        }
        System.out.println("Game Ended.");
        System.exit(err);
    }

which calls the following, which is code from the BaseWindow class from the examples:


    protected void createGLWindow(int width, int height, int bits, boolean fullscreenflag) throws Exception {
        fullscreen = fullscreenflag;
        try {
          int mode = -1;
          DisplayMode[] modes = Display.getAvailableDisplayModes();
          for (int i = 0; i < modes.length; i ++) {
            if( modes[i].width == width && 
                modes[i].height == height && 
                modes[i].bpp >= bits) {
                  mode = i;
                  break;
            }       
          }          
          
            Display.create(modes[mode], fullscreenflag);
            gl = new GL();
            gl.create();
            glu = new GLU(gl);
            Keyboard.create();
            Keyboard.enableBuffer();
            Mouse.create();
            //Mouse.enableBuffer();
            
            resizeGLScene(Display.getWidth(), Display.getHeight());
            
            initGL();
        }
        catch (Exception e) {
            throw new Exception("Problem initialising ", e);
        }  
    }
    
    protected void start(int width, int height, int bpp, boolean fullscreen) throws Exception {
        long frameTime = 0;
        
        timerRes = Sys.getTimerResolution();
        if (timerRes == 0) {
            throw new Exception("There are no timers availible!");
        }
        
        try {           
            createGLWindow(width, height, bpp, fullscreen);
            
            do {
                /* The frameTime is how much time it takes to draw a single frame.
                 * We use this so we can animate things in real time.
                 * 
                 * Say you want to move an object 100 pixels every second and it 
                 * takes 0.10 seconds to draw a frame. Pixels per second 
                 * multiplied by the frame time equals the amount of pixels to move 
                 * per frame. or 100 * 0.10 = 10; */
                frameTime = Sys.getTime();
                /* Reset the counter, so we can find out how long it takes to draw a 
                 * frame */
                Sys.setTime(0);
            } 
            while (!loop((float)frameTime / (float)timerRes));
            
            System.out.println("Loop ended.");
            
            killGLWindow();
        }
        catch (Exception e) {
            throw new Exception("Problem starting loop", e);
        }
    }

Why would this all of the sudden stop working on my desktop at work and at my co-worker’s pc? It still worked yesterday on both…

Like I said, it just quits. I return to desktop. The program doesn’t even exit normally (no ‘Game Ended.’ in the log, no error, no nothing). The complete VM seems to just stop after having loaded all textures without an apparent reason.

The only big thing I changed the hack that the AudioClips are not static anymore which prevents the hic-ups when shooting, but also causes the sample to be loaded for every instance of a PlayerFire object.
(This was meant as a temporary hack until I successfully avoided using AudioClip).

Greetings,
Erik

In a desparate attempt to get it working again at a lot of pc’s (like my own desktop at work), I undone the hack that fixed the stutters when shooting…

I can’t test it here at home because here it always worked anyway…

Erik

You aren’t checking for available stencil, alpha, and depth bits I notice. Because we have no way of knowing reliably or easily what combinations of A/D/S there are with each display mode, we manufacture all the possible values and ask you to find one that works by attempting to change to each display mode you want in turn.

In other words, you bail out as soon as you attempt to create the display because you’ve probably picked a duff combination of A/D/S which isn’t available.

Cas :slight_smile:

Hmmm…
I just found what it is. At work when I start it outside web start, I get:


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 org.lwjgl.opengl.CoreGL.blendEquation(Native Method)
      at Actor.draw(Actor.java:283)
      at Universe.draw(Universe.java:107)
      at Universe.update(Universe.java:61)
      at GameWindow.drawGLScene(GameWindow.java:243)
      at BaseWindow.loop(BaseWindow.java:183)
      at BaseWindow.start(BaseWindow.java:170)
      at GameWindow.main(GameWindow.java:424)

So for now I removed the gl.blendEquation() from my Actor class and now it works again.
I guess something (maybe the video driver) doesn’t like gl.blendEquation()…
Also strange that in web start this error is not logged…
I’ll upload the change tonight when I get home.

Agh! You’re the second person that hasn’t read the manual about glBlendEquation!

glBlendEquation is part of the imaging subset in OpenGL and it’s an optional extension. You have to check for the existence of ARB_imaging before using it. And seeing as it’s for doing 2D operations on pictures I think it’s very unlikely that you should be using it in the first place!!

Cas :slight_smile:

And on a related note, I think we should catch people doing this in the debug build and throw an OpenGLException instead of crashing the VM :wink: Pretty simple to do in a macro.

Cas :slight_smile:

problem is that 99% of all lwjgl users (and programmers) have a bad habit of using the release build dll

Welcome to the real world of internet games deployment! I should think there’s call for an article on how to deploy a game. It’s probably more important than all the other aspects of the game put together. I mean, you can get a suprising number of mingers to pay for 3D solitaire but I bet that no-one will pay up if it doesn’t install and run.

Cas :slight_smile:

some WIP screenshots 8)

www.mycgiserver.com/~movegaga/sc5.jpg

www.mycgiserver.com/~movegaga/sc6.jpg

www.mycgiserver.com/~movegaga/sc3.jpg

www.mycgiserver.com/~movegaga/sc4.jpg

Bah! I always get really annoyed when someone spends, like, 2 weeks on a game and it looks as good as the one I’ve just spent 3 months on!

Cas :smiley: