Squareheads

Ok, I updated my Nvidia drivers to 53.03 and now the demo works. Excellent work Tom, it plays really smoothly. I couldn’t get fullscreen to work though, it crapped out when I tried.

Damn drivers. It’s a wonder that PC games work so well most of the time!

Glad you finally got it working :slight_smile:

I’m getting a weird texture and a BSP hole:

http://www.mycgiserver.com/~movegaga/sq.JPG

I’m getting this yellow texture + BSP holes everywhere I think should be a sky box.

[quote]I’m getting this yellow texture + BSP holes everywhere I think should be a sky box.
[/quote]
Yes. Got some issues with sky shaders at the moment. It will be fixed. Until then, just try to ignore it :slight_smile:

The previous version worked in windowed mode, but with the latest version, I get:


java.lang.NullPointerException
      at sh.SquareHeads.createWindow(SquareHeads.java:216)
      at sh.SquareHeads.initLwjgl(SquareHeads.java:174)
      at sh.SquareHeads.main(SquareHeads.java:1294)
      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)

I’m runnning 1.4.2_04 on XP

Funny that the doors open when you shoot at them :slight_smile: Other than that, looks really really great!

Really really good stuff, I get some really good fps too! :slight_smile:

If only I could play for more then 5 secs at a time :expressionless:

it crashes to the menu after a few seconds…

gnah well, still looks really really good :smiley:

Did anybody compare this with Quake 3 yet, performance-wise?

Erik

I’ve done a couple of tests, and the fps is within ±15% depending on where you are and where you are looking.

But it’s not a completely fair comparison as the q3 renderer does a lot more stuff like lighting entities, loding bezier surfaces, tesselating fog surfaces, doing multilayered sky etc. Also, we have vbos now wich improves performance alot.

Still isn’t working here :frowning:

Athlon 1.33, 512ddr, GF2gts 32mb (latest drivers 56.72), WinXP.

I got it working once, out of the 4times I tried, don’t ask me how or why, all I was doing was hammering the copy button on the java console window (to make sure I didn’t miss the error) and it worked! (although, ingame it crashed as soon as I fired after picking up the grenade launcher)

Havn’t managed to replicate this however.
Normally I just get a black framed window, desktop changes to the fullscreen gamma settings, it then bombs out with this :-

javaws-1.5.0-beta
Using JRE version 1.5.0-beta Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Robin Chaddock
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
m:   print memory usage
o:   trigger logging
p:   reload proxy configuration
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
0-5: set trace level to <n>
----------------------------------------------------
GuiGlobal init FileLoader
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:48)
      at sh.Global.init(Global.java:26)
      at sh.SquareHeads.initLwjgl(SquareHeads.java:169)
      at sh.SquareHeads.main(SquareHeads.java:1294)
      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:48)
      at sh.Global.init(Global.java:27)
      at sh.SquareHeads.initLwjgl(SquareHeads.java:169)
      at sh.SquareHeads.main(SquareHeads.java:1294)
      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)
NVIDIA Corporation
GeForce2 GTS/AGP/3DNOW!
1.5.0
GL_ARB_imaging
GL_ARB_multitexture
GL_ARB_point_parameters
GL_ARB_point_sprite
GL_ARB_texture_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_texture_mirrored_repeat
GL_ARB_transpose_matrix
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_window_pos
GL_S3_s3tc
GL_EXT_texture_env_add
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_multi_draw_arrays
GL_EXT_packed_pixels
GL_EXT_paletted_texture
GL_EXT_pixel_buffer_object
GL_EXT_point_parameters
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shared_texture_palette
GL_EXT_stencil_wrap
GL_EXT_texture_compression_s3tc
GL_EXT_texture_cube_map
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_object
GL_EXT_vertex_array
GL_IBM_rasterpos_clip
GL_IBM_texture_mirrored_repeat
GL_KTX_buffer_region
GL_NV_blend_square
GL_NV_fence
GL_NV_fog_distance
GL_NV_light_max_exponent
GL_NV_packed_depth_stencil
GL_NV_pixel_data_range
GL_NV_point_sprite
GL_NV_register_combiners
GL_NV_texgen_reflection
GL_NV_texture_env_combine4
GL_NV_texture_rectangle
GL_NV_vertex_array_range
GL_NV_vertex_array_range2
GL_NV_vertex_program
GL_NV_vertex_program1_1
GL_SGIS_generate_mipmap
GL_SGIS_multitexture
GL_SGIS_texture_lod
GL_SUN_slice_accum
GL_WIN_swap_hint
WGL_EXT_swap_control
GL_MAX_TEXTURE_SIZE=2048
GL_MAX_TEXTURE_UNITS=2
GL_MAX_ELEMENTS_VERTICES=4096
GL_MAX_ELEMENTS_INDICES=4096
UdpReader socket bound at /192.168.0.1:17940

[quote]I’ve done a couple of tests, and the fps is within ±15% depending on where you are and where you are looking.

But it’s not a completely fair comparison as the q3 renderer does a lot more stuff like lighting entities, loding bezier surfaces, tesselating fog surfaces, doing multilayered sky etc. Also, we have vbos now wich improves performance alot.
[/quote]
So this makes the ‘java part’ (as opposed to the accellerated video part), a lot slower than -15% from the C counterpart doesn’t it?
Any optimizations still possible in the java code?

it crashes to the menu after a few seconds…

why???

[quote]it crashes to the menu after a few seconds…
[/quote]
I don’t know the exact reason behind it, but it’s a network problem. The game quits to the menu if the server is timed out. Meaning the client don’t recieve any packets from the server within a 5 second timespan.

The next version will not quit to the menu, but instead show a warning message in game.

What system are you running on?

[quote]So this makes the ‘java part’ (as opposed to the accellerated video part), a lot slower than -15% from the C counterpart doesn’t it?
[/quote]
Kind of hard to tell. I don’t know how much impact the missing features would have on the fps. How much faster would q3 be with vbos? Who knows.

[quote]Any optimizations still possible in the java code?
[/quote]
Sure. I’ve only optimized the level renderer. The entity renderer could be optimized. It currently don’t do any state sorting. It uses opprox 15-20% of the frame time. The bezier collision detection is also very slow, as it generates an insane amount of brushes and planes.

The bezier collision detection is also very slow, as it
generates an insane amount of brushes and planes.

Q3 uses subdivisions 80 for the physics part regardless of the visual subdivision setting. The bounding boxes of the players are axis aligned BBs. The collision detection of player vs patch was optimized several times and now it only seems to kick in whenever you are sliding along a curve.

I just thought it’s a good idea to point that out :slight_smile:

[quote]it crashes to the menu after a few seconds…
[/quote]
i have windows XP
with a
SV: ATI Radeon 9600
CPU: Athlon XP2400+

Don’t count on it. I get the same behaviour but it seems to be caused by the org.lwjgl.opengl.OpenGLException: Invalid operation (1282) stuff (as mentioned before in this thread).
Win XP, ATI Radeon9700pro…maybe it’s a problem with ATI!?

No, it’s more likely that a few org.lwjgl.opengl.util.checkGLError() calls are needed to narrow down what function is being called with the wrong parameters or at the wrong time.

Cas :slight_smile:

I’ve got the same problem. :’(

My specs are something like his:
Windows XP
Athlon 1800+
ATI Radeon 9500

:frowning:

first time I got round to trying it (after meaning to for ages).

and



java.lang.IllegalArgumentException: InputStream cannot be null
      at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
      at trb.util.XMLDocument.<init>(XMLDocument.java:28)
      at sh.Menu.createMenuGui(Menu.java:125)
      at sh.Menu.init(Menu.java:82)
      at sh.SquareHeads.runMenu(SquareHeads.java:324)
      at sh.SquareHeads.main(SquareHeads.java:1358)
      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)


I’m running

1Ghz Athalon
XP Pro
Geforce2 GTS

Still the screen shots look good!

Regards,
Dan.

New version up which tries to fix some of the reported problems.

First off I’ve removed drawRangeElements alltogether. They seem to cause a native crash on some nvidia cards. In particular those with the latest drivers. This I hope will fix the “it craps out before the menu is shown” bug.

I’ve tried to fix the “It returns to the menu after a few seconds bug”, by ignoring OpenGL errors. Hopefully the errors are not critical and the game will keep on ticking.

So if you’ve had any of those problems, please try again and report back :wink: