Maze3D - Remote Mobile Control

Check my 1st Xith3D project.

http://opensource.dazoot.ro/maze3d/

The sources will be packed and released in a couple of days.

The documentation is in Romanian, but the CODE snippets and the screenshots should be enough for somebody to understand.

Sigh.

Yet another person who can’t write a working JNLP :frowning:


java.lang.NoClassDefFoundError: net/java/games/jogl/GLEventListener
      at java.lang.ClassLoader.defineClass0(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
      at com.sun.jnlp.JNLPClassLoader.defineClass(JNLPClassLoader.java:307)
      at com.sun.jnlp.JNLPClassLoader.access$100(JNLPClassLoader.java:51)
      at com.sun.jnlp.JNLPClassLoader$1.run(JNLPClassLoader.java:254)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.jnlp.JNLPClassLoader.findClass(JNLPClassLoader.java:247)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
      at com.xith3d.render.jogl.RenderPeerImpl.makeCanvas(RenderPeerImpl.java:143)
      at com.xith3d.render.jogl.RenderPeerImpl.makeCanvas(RenderPeerImpl.java:124)
      at com.xith3d.render.jogl.RenderPeerImpl.makeCanvas(RenderPeerImpl.java:109)
      at ro.dazoot.maze3d.Maze3d.init(Unknown Source)
      at ro.dazoot.maze3d.Maze3d.main(Unknown Source)
      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(Launcher.java:837)
      at com.sun.javaws.Launcher.executeMainClass(Launcher.java:797)
      at com.sun.javaws.Launcher.continueLaunch(Launcher.java:675)
      at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:390)
      at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:199)
      at com.sun.javaws.Launcher.run(Launcher.java:167)
      at java.lang.Thread.run(Thread.java:534)

as you can see
it is a jogl problem !

the reason might be that inside the jnlp the jogl is defined only for os=“Windows”

<resources os="Windows">
            <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>
            <jar href="lib/jogl.jar"/>
            <nativelib href="lib/jogl/jogl-natives-win32.jar"/>
      </resources>

this does not mean i can’t write a working jnlp !
here it is more than ok !

anyway i did an update to the jnlp file and load the jogl library directly from jogl.dev.java.net.

<resources>
      <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>
      <property name="sun.java2d.noddraw" value="true"/>
      <jar href="maze3d.jar" main="true"/>
      <extension name="jogl" href="https://jogl.dev.java.net/webstart/jogl.jnlp" />
</resources>

check it now and let me know if it is ok !

cheers!

Yeah, works fine now :). I like the translucent walls. Also, have you tried running to the edge, jumping over the wall, and falling?

[quote]as you can see
it is a jogl problem !

the reason might be that inside the jnlp the jogl is defined only for os=“Windows”

this does not mean i can’t write a working jnlp !
here it is more than ok !
[/quote]
Oh, sorry. I didn’t realise that you wrote this game only to work on your own machine :P. It works on your machine, so it’s not broken - makes perfect sense!

You released a JNLP, which is a cross-platform distribution system for a x-platform language to run an x-platform game - but you made it windows-only, simply because you used an incomplete JNLP. Personally I consider that to be “broken”.

Writing JNLP’s is timeconsuming and hard to debug, and Sun gives little or no help. Hence, an awful lot of people have partially-working JNLP’s, and it’s getting kidn of depressing :(.

Well if it is all so depressing - why don’t you do something positive (like writing a decent tutorial on JWS and JNLP - maybe something better then whats already there ) instead of slagging off other people.

oh and by the way - well done catalin
I downloaded the 3D maze and its cool
Did you use the Quake style BSP??

Looking forward to seeing the code…

Cheers

;D
Rmdire

[quote]Well if it is all so depressing - why don’t you do something positive (like writing a decent tutorial on JWS and JNLP - maybe something better then whats already there ) instead of slagging off other people.
[/quote]
Sigh. I have. Go and look on the articles section of JGF. Further, I’ve already asked Kevin to do a followup article, along with a summary of the problems that I’ve seen people have even after following the tutorial. (but Kevin and I are both incredibly busy right now trying to get survivor ready for the 7th June, so it could be a some time before he has enough spare time!)

I’ve also helped about 5-10 people via private email to get their JNLP’s working even after they’d gone through the tutorials. The tutorials clearly aren’t enough - so many people still don’t get it right (and, as noted, it can be fiendishly difficult to test unless you have two Macs and four PC’s…one for each major OS-version + OS-type).

So…if you’ve got any ideas of your own how to make it easier for people, or how to make the tutorials more effective, let me know (or send a message to KevGlass).

I am concerned - a “Yabb God” Adam should show more patience and tolerence.

whats with the “SIGH”

The only tutorial I found on JWS was in the “getting Started Guide” -

so there you go

;D

Rmdire

[quote]I am concerned - a “Yabb God” Adam should show more patience and tolerence.

whats with the “SIGH”
[/quote]
Looks like it came across more critically than it was intended. The sigh is because about half of the webstart games that people post to JGO these days don’t work simply due to webstart config errors, and that’s depressing.

I appreciate there are difficulties in getting it right - although it’s not that hard, and these tutorials are around (and do have source you can copy/paste that works on the main platforms!).

? On the articles page there’s:

“A Walkthrough with WebStart-JNLP [Part 1 - 2004-18-04]
Using the JNLP standard to distribute and update your games”

which is brief but has complete source for a JNLP to launch a JOGL game on any platform. Although IIRC there are some bits that need correcting (hence asknig KG to do a “part 2”).

What JNLP needs is a GUI tool to do the hard work for you. No reason we should we figuring out this stuff by hand in this day and age.

Same goes for Ant for that matter.

Cas :slight_smile:

Yup - agreed

J2me Ktoolbar has something similar for packaging jad and jar files so mobiles can download from web.

It would be nice to have a packaging tool for JWS.

JNLP really is NOT that difficult. The official JNLP docs are clear on the most common bits. Though I find the docs for extension installers and the JNLP apis a bit lacking.

GUI tool could be done… but since it is just as easy to open a working JNLP in a text editor and replace a URL and a few JAR file names it hardly seems worth the effort.

…and yet the evidence is that a lot of people still get it wrong :(, which is my original point.

And I bet that if anyone does make a decent tool for this, then the very next JDK release Sun will do one too, LOL.

well done on the cool game demo :slight_smile:

we all make mistakes on deploying stuff… Idealy everyone would have several test machines including a Mac but it’s not always possible. Which is why we post our links and get informed as to what doesn’t work.

Will.

Forgot to mention - Maze3D does not launch on Mac. no error message. I will have to look deeper.

Hmmm… I may take up the challenge. I could make a JNLP packager, and combine it with a Mac App-bundle packager that will run on non-Mac systems. (It’s all just directory structure and XML)

[quote]Yeah, works fine now :). I like the translucent walls. Also, have you tried running to the edge, jumping over the wall, and falling?
[/quote]
this is not a bug,
this is a feature :P, and after all this is only a demo.

the part with only my machine does not apply.
the windows users are the most.

i am not a windows fan, but i use windows as my workstation. for the server part i am linux 100% (gentoo).

[quote]oh and by the way - well done catalin
I downloaded the 3D maze and its cool
Did you use the Quake style BSP??

Looking forward to seeing the code…
[/quote]
The only part i used from the quake3 demo is the movement force and the “invisible” avatar collider.

the world is defined in a simple XML file parsed with jdom.

Also i have to mention that the Thorus code belongs to Abdul Bezrati.
http://xith.org/demo/JavaCoolDude.php

[quote]Forgot to mention - Maze3D does not launch on Mac. no error message. I will have to look deeper.
[/quote]
no mac around here :smiley:
also on win2003 the same thing, but not only with maze3d, but with all JOGL demos.

just wanted to le you know that the “source code” has been released.

cheers