Alien Flux Alpha Test 9

This one’s just for those folks who haven’t got it working yet! Except Charlie who may as well throw his laptop out of the window.

I found what caused the ArrayIndexOutOfBoundsException and various other problems besides. Nothing else has changed much so if it works for you already - you won’t need to try this version :slight_smile:

Windows EXE and Java JAR available.

Ask Elias for Linux native libs.

Cas :slight_smile:

;D

sweetness! that rox :-*

can’t believe I hadn’t tried Alien Flux b4 now ???

managed to complete level 5 after about 5 goes ;D (snufkin was the 1 lone survivor :o)
would have carried on… but a bubble spawned ontop of me back on level 1 >:(

I uploaded the libs for redhat 8 to:

odense.kollegienet.dk/~naur/lwjgl-04102003.tar.bz2

have fun!

  • elias

I’ll add the linux libs to the jar zip this afternoon. First, I’m being forced to go shopping this morning with my wife to buy some new trousers! My ageing crappy black jeans just don’t cut it any more…

Cas :slight_smile:

It works! Visible sprites and everything! Even in high res mode. Nice one Cas.

The only niggle is a pause just before aliens appear; particularly long at the start of levels.

I just scraped onto level 2 on my first go - got a little trigger happy. :slight_smile:

Hurrah! Notice though the next time you play it there won’t be a pause! I’ve got to access the disk sometimes ya know!

Actually I used to load everything in at startup but it took too long, so now I do it bit by bit on the fly.

Want to know what fixed it?

I removed the display list code. I was creating display lists to set up GL state for rendering sprites (enable texturing, blending, etc, that sort of thing) and it seems your drivers are broken and don’t get it right :confused: Glad I had a hunch about it. It’s quite a shameful breakage though! Ought to write to the driver guys and send them a virtual dog turd in a virtual plastic bag.

Still don’t seem to be able to get it working on Matrox G400 that my dad has. Damn damn damn.

Cas :slight_smile:

It’s a “Hurrah” for me too on linux.
Great job!
I must admit that’s the hardest part of this game is to resist the tentation to shoot the blobs! They’re so cute, it’s tempting ;D

Doesn’t seem to lock up like test 8 did. Some things seem to be missing: http://leknor.com/JGO/af-matrox-g450.png

Also, if you’re documenting what problems and work arounds for LWJGL you’re implementing that would be a tremendous resource.

I hope to condense my “wisdom” into a few articles and some code.

It’s interesting that the smartbombs in the HUD are drawing fine - they use exactly the same code as all the other sprites in the game. It’s also interesting that the exhaust trails are drawing fine - again, it’s exactly the same code as all the other particles. I’m honestly at a loss to explain why Matrox cards are drawing wrongly.

Cas :slight_smile:

There is a problem with redefining the controls: When I try to hit one of the buttons to redefine a key or hit the ok button to finish, instead it binds the previously selected one to the left mouse button.

Mmm, yes, that’s not the most polished GUI around, is it…

Cas :slight_smile:

This version still doesn’t work for me. The message is “You need an OpenGL compatible card to run AlienFlux”, but the backtrace says:


Attempting to set displaymode: 800 x 600 x 16 @60Hz
java.lang.Exception: Mode not supported by hardware
        at org.lwjgl.opengl.BaseGL.nCreate(Native Method)
        at org.lwjgl.opengl.BaseGL.doCreate(BaseGL.java:134)
        at org.lwjgl.opengl.GL.doCreate(GL.java:79)
        at org.lwjgl.Window.create(Window.java:170)
        at xap.Game.init(Game.java:457)
        at xap.Game.main(Game.java:246)

I have a GeForce4 TI4200, and it does indeed support 800x600x16@60Hz. In fact, the output from your program, before the Exception, is:


Sorted display modes:
800 x 600 x 16 @60Hz
800 x 600 x 32 @60Hz
800 x 600 x 16 @70Hz
800 x 600 x 32 @70Hz
800 x 600 x 16 @72Hz
...

Which shows that it is clearly a supported display mode!

God bless,
-Toby Reyelts

Same as Leknor here with my MGA 400.
I reach the game screen for the first time but the sprites are not displayed. Partial success …
I guess if the code is the same then there is something different in the sprite pictures.

[quote]I hope to condense my “wisdom” into a few articles and some code.

It’s interesting that the smartbombs in the HUD are drawing fine - they use exactly the same code as all the other sprites in the game. It’s also interesting that the exhaust trails are drawing fine - again, it’s exactly the same code as all the other particles. I’m honestly at a loss to explain why Matrox cards are drawing wrongly.

Cas :slight_smile:
[/quote]
I know nothing about LWJGL or your code, so i’ll state my observation as a question rather than a statement :smiley:

Is it just co-incidence that all the sprites drawn correctly arn’t transformed(rotated) and all the undrawn 1s are?

I’m prolly just stating the obvious though :smiley:

Ok - I’m using Redhat 8 with the Linux .so files that Elias put in here. Now I get a different Exception than before - related to sound. The system is farily current but the sound card is not highend (read that as “cheap sound card”) - I don’t know the brand off hand, but it uses the standard es1371 driver and ac97_codec. This has never had any problems before, so I suspect its something in the linux native code.

Heres the exception:
org.lwjgl.openal.OpenALException: Unable to load function pointers to openal.
at org.lwjgl.openal.BaseAL.nCreate(Native Method)
at org.lwjgl.openal.BaseAL.create(BaseAL.java:100)
at xap.Game.init(Game.java:411)
at xap.Game.main(Game.java:246)
*** Alert ***
Alien Flux
Can’t do any sound! Time for a new sound card.

It might not be able to find the libopenal.so.0 file. Where did you put it? Try putting the lib in a system library directory, like /usr/local/lib, and symlinking libopenal.so.0.0.0 and libopenal.so to it. Remember to do a ‘ldconfig’ after installation.

  • elias

Odd exception for that kind of problem, also strange linking that all three filenames are required (.so, .so.0, and .so.0.0.0). However that does indeed solve the problem. After that everything seems to work fine.

A few other wierdness - Changing the control settings seems to have nuked all control settings. I changed the left button to ‘shoot’ and right to ‘thrust’, that seems to have made all controls except the crosshair movement unusable.

It will be fixed in the next release. Were you not the original bug reporter that found this problem? (the naming of libopenal.so mismatched the expected naming from lwjgl)

  • elias

Env: Celeron 500Mhz/win2k/256MB/G400 16MB/Sun Jdk1.4.1_01

I too have Matrox Milennium G400 and AF does not work properly. I can run the game, but then sprites are not shown. I can play it but must shoot as blind. Another one posted a screencapture here from the same result.

I can see one or two red fluffies at the start for 2 secs(during level 1 scroller text), but then they are dissapeared.

I noticed, that “[x]30Hz framerate” option will give better speed.

Anyway, I have always thought Java cannot run this kind of game in Cel500Mhz or even in 1Ghz with a proper framerate. If I only had a better videocard I could see such Java game in my comp as well. G400 just can’t do well here.