LWJGL Engine Test /w FMOD - Windows Only

EDIT: Took out link to save bandwith, enough testing has been done.

Hi guys. The time has come for my engine to stand up to the masses. So far I’ve tested the webstart version on 4 systems and it works flawlessly. Now, I need to check for errors and fps.

Controls
1-9 - Increases the speed (the value in the module itself) of the current module (background music) by one. 1 is default.
0(Zero) - Stops current module
O(Letter) - Pauses/resumes all sound. Note the button is on a timer. It can only be pressed once every half second.
F - Fades from one song to the next (there are two)
A - Increases the bpm of the module by one.
Z - Decrease the bpm of the module by one.
K - Toggles between full screen and windowed mode.
W - Plays a gunshot sound on this frame. This should play VERY fast.
Left Arrow/Right Arrow - Rotate entire screen for crazy explotion fun!

If you guys could, please post the rig you’re using and the fps you receive. It should be displayed in the title screen when you’re in windowed mode. For starters, I get 65-70fps on an Athlon 1800XP with a Radeon 9800 Pro. The high end is when it’s idle, the low end is when I’m in “full spin mode” and holding down an arrow key ^_^;

Known Issues:

-A slight blip in the garbage collector hits around 10 seconds after starting and about every subsequent minute after that. This is fixed with the newest version, but it is not ready for webstart.

-You MUST be running in 16 bit or it will not initialize the display properly. This is a bug and will be fixed.

Information

The graphics/gunshot sound were taken from Half-Life’s SDK. They’re only temporary for this test. The music was composed/tracked by me. The frist tune is a song from Ninja Gaiden- it’s probably wrong since I did it from memory but it makes things crazy. The second is an original tune.

CRS stands for Cho Ren Sha- the greatest and perhaps the least known shooter of all time. Search for it on the web and be enlightened. The engine is the precursor for the sequel of this game. However, I’ve yet to contact the original author of CRS since I don’t speak Japanese. That’s a project for my roomate to do once he gets proficient in it.

Edit:

[b]Fix:

EDIT: Took out link to save bandwith, enough testing has been done.

Put that file in your Java/j2re1.X.X/bin folder

Apparantly there are errors with fmod right now. This should work. I tested things on a clean system the presence of this dll solves the error. The other machines I’ve tested this on all have the dll already in place, so this wasn’t an issue.[/b]

I got this:


800x600x16 Windowed
Error: Cannot initialize FMOD.
org.lwjgl.fmod3.FMODException: Unable to load fmod library
      at org.lwjgl.fmod3.FMOD.nCreate(Native Method)
      at org.lwjgl.fmod3.FMOD.create(Unknown Source)
      at org.jon.crs.Renderer.initSound(Renderer.java:140)
      at org.jon.crs.Renderer.initWindow(Renderer.java:84)
      at org.jon.crs.Renderer.create(Renderer.java:47)
      at org.jon.crs.test.ChoRenSha.main(ChoRenSha.java:225)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
      at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
      at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Win XP, Radeon 9000 Mobility.

Kev

Doesn’t work (WinXP, Java 1.4.2, Radeon 9700pro, Audigy 2):

Java Web Start 1.4.2 Konsole, gestartet Thu Sep 16 20:28:28 CEST 2004
Java 2 Runtime Environment: Version 1.4.2_01 von Sun Microsystems Inc.
Protokolldatei: c:\temp\cslog7.txt
*RENDERER* Creating Renderer...
*RENDERER* Using Globals data: 
*GLOBALS* gameRunning = false
*GLOBALS* isPaused = false
*GLOBALS* fps = 60
*GLOBALS* closeKey = 1
*GLOBALS* pauseKey = 25
*GLOBALS* pauseCooldown = 2.0
*GLOBALS* title = Cho Ren Sha
*GLOBALS* width = 800
*GLOBALS* height = 600
*GLOBALS* bpp = 16
*GLOBALS* fullscreen = false
*GLOBALS* showMouse = false
*GLOBALS* showStats = true
*GLOBALS* minDepth = -500
*GLOBALS* maxDepth = 500
*RENDERER* Mode: 800x600x16 Windowed
Error: Cannot initialize FMOD.
org.lwjgl.fmod3.FMODException: Unable to load fmod library
      at org.lwjgl.fmod3.FMOD.nCreate(Native Method)
      at org.lwjgl.fmod3.FMOD.create(Unknown Source)
      at org.jon.crs.Renderer.initSound(Renderer.java:140)
      at org.jon.crs.Renderer.initWindow(Renderer.java:84)
      at org.jon.crs.Renderer.create(Renderer.java:47)
      at org.jon.crs.test.ChoRenSha.main(ChoRenSha.java:225)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
      at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
      at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Thread.java:534)

Mine no worky either. :frowning:

I got it to start. It showed a window with a black background, then just exited without doing anything else.

Dr. A>

same as dranonymous, black window then closes. I’m using my school’s computer so I’m not sure of all the specs, but I do know its using windows xp professional and their java version is 1.3.1_02. I’m pretty sure the graphics card is crap, probably an Intel card since my game won’t run on it either :frowning: . I would check the webstart console but I don’t know how to get access to it from here so I’ll have to test it on my home pc.

[quote]Mine no worky either. :frowning:

I got it to start. It showed a window with a black background, then just exited without doing anything else.

Dr. A>
[/quote]
Same for me. Dump showed FMOD issue as described above.

-Chris

Fix:

www.funkapotamus.org/crs/fmod.dll

Put that file in your Java/j2re1.X.X/bin folder

Apparantly there are errors with lwjgl’s fmod right now. This should work. I tested things on a clean system the presence of this dll solves the error. The other machines I’ve tested this on all have the dll already in place, so this wasn’t an issue.

[quote]Apparantly there are errors with lwjgl’s fmod right now.
[/quote]
huh? - care to elaborate?

Java doesn’t recognize fmod.dll even though it’s loaded via webstart as a native lib.

Sorry about not elaborating, you seemed to know there were errors with fmod in your previous post. " Do note that I haven’t tested fmod with webstart at all - there are still errors in the code. I actually think that the open(bytebuffer) methods may be faulty - I will check up on it eventually…"

I think your hunch is right. There might be errors with the open(bytebuffer) methods.

When I removed fmod/lwjgl from my system and attempted a webstart, things errored out at the point where I was loading a FMusic_Module via bytebuffer.

This problem is remedied when fmod.dll is placed in the bin folder prior to webstart installation.

52 Frames. Nvidia GeForce 4 / 2.4 Ghz CPU

Dr. A>

It starts, I see a black screen, then everything disappears

bah - found the error. THANKS SUN! grumble
FMOD needs special wizardry hacking loading voodoo thingy because sun in its infinite wisdom decided to make it tricky to load native libs from native code. Fmod now loads like oal does and everything is peachy. You need a new build from CVS. Since I have just committed it, it might take ~ 24 hours to be up to date.

~85 FPS (Radeon 9700 Non pro - P4 2.7)
When I went into fullscreen the rendered stuff seemed to be mispositioned some 20 px to the left and up.

Hm, doesn’t appear to exit the javaw.exe process properly. Tribal Trouble is doing this too… both of you need to look at your cleanup code :slight_smile:

Cas :slight_smile:

Actually - I am betting my money on JWS being the problem.
I have a test (not online atm) that works fine when run locally. When running as webstart it keeps the javaw process around.
Manually doing a System.exit() would probably work - but shouldn’t be needed.

I don’t have the problem with AF or SE but then again I’m not so scared of doing a System.exit() when it’s needed :wink:

Cas :slight_smile:

Actually, in all instances where the program closes, I am using System.exit(). ;D You’re right though, it does close fine outside of webstart.

My closing method hasn’t been updated with anything more significant than System.exit() - that’s something to work on. I’ll have to end things more gracefully, especially on the LWJGL end by destroying the objects I used.

Hi,

i made today a CVS Build (without native.libs) and the fmod error still exists :frowning:

  • jens

no it doesn’t ! :slight_smile:
http://matzon.dk/lwjgl/jnlp/

check NetTest & StreamPlayerMemory
source is in http://matzon.dk/lwjgl/builds/lwjgl-source-0.92.zip (24 hour delay until code shows up in anonymous cvs)