Undead Arena - Squareheads rises from the dead

Play Undead Arena

Made some changes to Squareheads, one being changing the name. There is also new menu graphics, backgrounds music, (possible) mac support due to lwjgl 0.96 and lit entities.

On the down side it is around 40% slower now, although I don’t know why. The entity lighting has broken some shaders. There might be a bunch of new bugs.

Check it out! It’s likely that I will be another year before a make a new update :’(

For slightly more info, go to http://home.halden.net/tombr/squareheads/squareheads.html

It crashed on me before any window opened…

java.lang.NoClassDefFoundError: com/jcraft/jogg/SyncState
      at trb.sound.OggInputStream.<init>(OggInputStream.java:39)
      at sh.menu.BMainMenu.loopMusic(BMainMenu.java:199)
      at sh.menu.BMainMenu.init(BMainMenu.java:129)
      at sh.SquareHeads.runMenu(SquareHeads.java:406)
      at sh.SquareHeads.main(SquareHeads.java:1462)
      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)

crashes some ~ 10 seconds after playing the game (created server, ran around)

as for the speed decrease, can you confirm it isn’t a lwjgl issue ?

Looks very good!

It worked fine here too, although there were some strange messages in the console:


Unable to add zip D:\compaq\spill\Quake 3 Arena\baseq3\pak0.pk3
java.util.zip.ZipException: The system cannot find the path specified
      at java.util.zip.ZipFile.open(Native Method)
      at java.util.zip.ZipFile.<init>(Unknown Source)
      at java.util.zip.ZipFile.<init>(Unknown Source)
      at trb.io.FileLoader.addZipFile(FileLoader.java:49)
      at sh.Global.init(Global.java:28)
      at sh.SquareHeads.initLwjgl(SquareHeads.java:152)
      at sh.SquareHeads.main(SquareHeads.java:1461)
      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)
Unable to add zip C:\java\sh\src\quartzdm1.jar
java.util.zip.ZipException: The system cannot find the path specified
      at java.util.zip.ZipFile.open(Native Method)
      at java.util.zip.ZipFile.<init>(Unknown Source)
      at java.util.zip.ZipFile.<init>(Unknown Source)
      at trb.io.FileLoader.addZipFile(FileLoader.java:49)
      at sh.Global.init(Global.java:29)
      at sh.SquareHeads.initLwjgl(SquareHeads.java:152)
      at sh.SquareHeads.main(SquareHeads.java:1461)
      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)

Hi,

Runs fine on my machine: AMD 1600 768Mb Ram NVidia Geforce 4 MX 440.

FPS ±100 in 640*480.

All weapon,s behave the same tough. I suppose this is normal…

Cheers Christophe

Seriously impressive, as ever. Gets > 600fps on the Beast I won from Sun. Everything’s ultra slick. Just needs some non-copyright graphics :wink:

Cas :slight_smile:

Here’s some errors, from running from console:

Allways occurs

[quote]java.util.zip.ZipException: The device is not ready
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(Unknown Source)
at java.util.zip.ZipFile.(Unknown Source)
at trb.io.FileLoader.addZipFile(FileLoader.java:49)
at sh.Global.init(Global.java:28)
at sh.SquareHeads.initLwjgl(SquareHeads.java:152)
at sh.SquareHeads.main(SquareHeads.java:1461)
Unable to add zip C:\java\sh\src\quartzdm1.jar
java.util.zip.ZipException: The system cannot find the path specified
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(Unknown Source)
at java.util.zip.ZipFile.(Unknown Source)
at trb.io.FileLoader.addZipFile(FileLoader.java:49)
at sh.Global.init(Global.java:29)
at sh.SquareHeads.initLwjgl(SquareHeads.java:152)
at sh.SquareHeads.main(SquareHeads.java:1461)
UdpReader socket bound at /192.168.2.113:17940
[/quote]
When joining non-existant game:

[quote]java.lang.NullPointerException
at sh.menu.BMainMenu.actionPerformed(BMainMenu.java:925)
at trb.bgui.BImageButton.fireActionEvent(BImageButton.java:179)
at trb.bgui.BImageButton.onMouseEvent(BImageButton.java:119)
at trb.bgui.BScreen.doMouseEvent(BScreen.java:170)
at trb.bgui.BScreen.handleMouse(BScreen.java:111)
at sh.menu.BMainMenu.runMenu(BMainMenu.java:309)
at sh.SquareHeads.runMenu(SquareHeads.java:408)
at sh.SquareHeads.main(SquareHeads.java:1462)
main exit
org.lwjgl.openal.OpenALException: OpenAL error: Invalid Operation (40964)
at org.lwjgl.openal.Util.checkALError(Util.java:53)
at org.lwjgl.openal.AL10.alGetSourcei(AL10.java:862)
at trb.sound.OggPlayer.playing(OggPlayer.java:160)
at trb.sound.OggPlayer.update(OggPlayer.java:205)
at trb.sound.OggPlayer.run(OggPlayer.java:31)
[/quote]
While playing, and crashing out:

[quote]org.lwjgl.opengl.OpenGLException: Invalid operation (1282)
at org.lwjgl.opengl.Util.checkGLError(Util.java:56)
at sh.Q3Level.render(Q3Level.java:311)
at sh.SquareHeads.render(SquareHeads.java:655)
at sh.SquareHeads.runGame(SquareHeads.java:611)
at sh.menu.BMainMenu.joinServer(BMainMenu.java:241)
at sh.menu.BMainMenu.actionPerformed(BMainMenu.java:917)
at trb.bgui.BImageButton.fireActionEvent(BImageButton.java:179)
at trb.bgui.BImageButton.onMouseEvent(BImageButton.java:119)
at trb.bgui.BScreen.doMouseEvent(BScreen.java:170)
at trb.bgui.BScreen.handleMouse(BScreen.java:111)
at sh.menu.BMainMenu.runMenu(BMainMenu.java:309)
at sh.SquareHeads.runMenu(SquareHeads.java:408)
at sh.SquareHeads.main(SquareHeads.java:1462)
main exit
org.lwjgl.openal.OpenALException: OpenAL error: Invalid Operation (40964)
at org.lwjgl.openal.Util.checkALError(Util.java:53)
at org.lwjgl.openal.AL10.alGetSourcei(AL10.java:862)
at trb.sound.OggPlayer.playing(OggPlayer.java:160)
at trb.sound.OggPlayer.update(OggPlayer.java:205)
at trb.sound.OggPlayer.run(OggPlayer.java:31)
[/quote]

“There is no disk in the Drive. Please insert a disk into drive D:”

What the?

Finally got into the arena after hitting the cancel button on that dialog box 50 or 60 times. I turned picked up a new weapon and it crashed.

Breadstick: You need to somehow clear your internet cache. Your getting an old version of the jnlp file. The updated one has “jorbis.jar” as on of it’s resources.

[quote]“There is no disk in the Drive. Please insert a disk into drive D:”
[/quote]
;D That is so funny.

It’s the same as the zip related traces others have pointed out. When I run the game in eclipse I use resources that is spread out in zip’s, pk3, directories, etc. In the final game all is added to a single jar. I forgot to change it so it don’t try too look in all the external resources this time. Even so I thought it would be harmless, as the files is not found and are not added to my FileLoader. However, it seems that if a ZipFile accept files that don’t exist, possibly if it is on a removable device. Every time a file is requested from the non existing zip file, it ask you to insert a disk. Fantastic!!

matzon: There is a bug in the renderer. Something related to drawElements. I usually get a native crash. You only get gl error :slight_smile: I know about the problem, but I don’t know what it is. It’s a nightmare to fix.

cas: Have you tried it on the laptop with the broken perf timer? I use perf as the first option, but fall back on the lwjgl timer if I can detect a broken perf.

Was working great until I switched resolution to 1024x768 from the default…then it just died and left my desktop color gamma all messed up.

In 640x480 FPS was very good. Ranging from 110-230 or so.

Very impressive!

Now I’m off to reboot so I can get my color back :wink:

As soon as i joined a game it crashed but gave no mesage :’(

Worked great here. I really like the detail and special effects on the objects. The arena was a touch dark. Maybe I need to tweak my monitor’s gamma again. Edit/ Just read your notes - brightness slider - but I can’t find it

I wish I’d written it ;D

Alan
NB. As other’s have noted, there were quite a few zip related loading messages in the console.

The brightness slider is in the setup menu. Press “setup” in the main menu and it’s the third option on the left. The slider is red and can be adjusted with the mouse or keyboard.

Got an UnsatisfiedLinkError:

It seems that you packaged the wrong version of one or more dlls.

java.lang.UnsatisfiedLinkError: registerNatives
	at sun.misc.Perf.registerNatives()V(Perf.java:???)
	at sun.misc.Perf.<clinit>()V(Perf.java:522)
	at jrockit.vm.RNI.getRunnableCode(I)I(Unknown Source)
	at jrockit.vm.RNI.trampoline()V(Unknown Source)
	at sun.misc.Perf.getPerf()Lsun.misc.Perf;(Perf.java:???)
	at trb.timer.PerfTimer.<init>()V(PerfTimer.java:17)
	at trb.timer.TRBTimer.init()V(TRBTimer.java:18)
	at sh.Global.init()V(Global.java:19)
	at sh.SquareHeads.initLwjgl(Z)V(SquareHeads.java:152)
	at sh.SquareHeads.main([Ljava.lang.String;)V(SquareHeads.java:1461)
	at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
	at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
	at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Lcom.sun.javaws.jnl.LaunchDesc;Ljava.lang.Class;Lcom.sun.javaws.DownloadWindow;)V(Launcher.java:837)
	at com.sun.javaws.Launcher.executeMainClass(Lcom.sun.javaws.jnl.LaunchDesc;Ljava.lang.Class;Lcom.sun.javaws.DownloadWindow;)V(Launcher.java:797)
	at com.sun.javaws.Launcher.continueLaunch(Ljava.awt.Frame;Lcom.sun.javaws.LocalApplicationProperties;ZLjava.net.URL;Lcom.sun.javaws.jnl.LaunchDesc;Z)V(Launcher.java:675)
	at com.sun.javaws.Launcher.handleApplicationDesc(Lcom.sun.javaws.jnl.LaunchDesc;[Ljava.lang.String;ZZ)Lcom.sun.javaws.jnl.LaunchDesc;(Launcher.java:390)
	at com.sun.javaws.Launcher.handleLaunchFile(Lcom.sun.javaws.jnl.LaunchDesc;[Ljava.lang.String;Z)Lcom.sun.javaws.jnl.LaunchDesc;(Launcher.java:199)
	at com.sun.javaws.Launcher.run()V(Launcher.java:167)
	at java.lang.Thread.run()V(Unknown Source)
	at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)

Mmm - love this game, just need network to run!! - and ofcourse more guns, and to finish it :wink: (I’ve been hoping for that for a loong time :’( )

Thanks, found it now. Even better now I can see where I’m going :slight_smile:

Not my fault :stuck_out_tongue:

Well, maybe it is. You are useing jrockit that has the sun.misc.Perf class but not the native dll used by it. I’m checking if Perf is available by catching NoClassDefFoundError. I’m assuming that if you’ve got the class, it should work. I’ve updated my code to catch everyting, wich would fix this problem. But I won’t bother uploading a new version. Try fixing your runtime.

I tried it on my Intel Integrated Horse Maneure and it played just fine! 30+ fps, which is better than I get with most any other game I try hehe. Keep up the good work! Or at least try to find the time too :wink: I know your work is always good, it’s just a matter of you making time and space to do it!

200 fps in 1280x1024 fullscreen :smiley: