http://sourceforge.net/projects/callie/

http://callie.sourceforge.net/index.php?id=v4

this is my 3d game/engine

Ardor3D version:

Hi

I’m looking at your project. Why do you use Java3D? It is no more maintained since June 2008 (release of Java3D 1.5.2), the 2 last versions were only maintenance versions, the last major version was released in 2005 as far as I know.

There is a mistake in control.png, you wrote “weaon” instead of “weapon”. Do you have a Java Web Start demo?

“Why do you use Java3D?”
I wanted something at a higher level than jogl, and I found nothing like Java3D.
“Do you have a Java Web Start demo?”
No.

Thank you for “weaon” :wink:

Your game has nice graphics. Unfortunately I can’t try it myself due to requirement of Java3D.

Java Web Start:
http://callie.sourceforge.net/jws/jws.jnlp

“Unable to launch the application”

BadFieldException[ Cache must be enabled for nativelib or installer-desc support,http://download.java.net/media/java3d/webstart/release/j3d/1.5.2/windows-i586/j3dcore-ogl-chk_dll.jar]
	at com.sun.javaws.jnl.XMLFormat.handleResourceElement(XMLFormat.java:612)
	at com.sun.javaws.jnl.XMLFormat.access$800(XMLFormat.java:36)
	at com.sun.javaws.jnl.XMLFormat$2$1.visitElement(XMLFormat.java:411)
	at com.sun.javaws.jnl.XMLUtils.visitChildrenElements(XMLUtils.java:269)
	at com.sun.javaws.jnl.XMLFormat$2.visitElement(XMLFormat.java:409)
	at com.sun.javaws.jnl.XMLUtils.visitElements(XMLUtils.java:258)
	at com.sun.javaws.jnl.XMLFormat.buildResourcesDesc(XMLFormat.java:399)
	at com.sun.javaws.jnl.XMLFormat.parse(XMLFormat.java:175)
	at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(LaunchDescFactory.java:84)
	at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(LaunchDescFactory.java:102)
	at com.sun.javaws.LaunchDownload.downloadExtensionsHelper(LaunchDownload.java:724)
	at com.sun.javaws.LaunchDownload.downloadExtensions(LaunchDownload.java:654)
	at com.sun.javaws.Launcher.prepareLaunchFile(Launcher.java:694)
	at com.sun.javaws.Launcher.prepareAllResources(Launcher.java:584)
	at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:327)
	at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:199)
	at com.sun.javaws.Launcher.launch(Launcher.java:116)
	at com.sun.javaws.Main.launchApp(Main.java:416)
	at com.sun.javaws.Main.continueInSecureThread(Main.java:248)
	at com.sun.javaws.Main$1.run(Main.java:110)
	at java.lang.Thread.run(Thread.java:662)

nurturing my dislike of webstarts

google: Cache must be enabled for nativelib or installer-desc support
-> The problem is caused by the JRE settings not allowing temporary Internet files to be saved on the computer. :wink:
-> goto Start Menu -> Settings -> Control Panel -> Java under ‘Temporary Internet Files’

Thanks for your interest

Nice did you make the level yourself? The combat could use some work but the movement and environment looks good imo.

[did you make the level yourself?]
yes, this is one man project

thank you.

Failed on my MacBook Pro.


java.lang.RuntimeException: Failed to create component for '_appearance' reason: java.lang.SecurityException: sealing violation: package javax.media.j3d is sealed
	at groovy.util.FactoryBuilderSupport.createNode(FactoryBuilderSupport.java:685)
	at groovy.util.FactoryBuilderSupport.dispathNodeCall(FactoryBuilderSupport.java:806)
	at groovy.util.FactoryBuilderSupport.doInvokeMethod(FactoryBuilderSupport.java:744)
	at groovy.util.FactoryBuilderSupport.invokeMethod(FactoryBuilderSupport.java:464)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
	at Script1$_run_closure1.doCall(Script1.groovy:9)
	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:597)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:885)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
	at Script1$_run_closure1.doCall(Script1.groovy)
	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:597)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:885)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:399)
	at groovy.util.FactoryBuilderSupport.dispathNodeCall(FactoryBuilderSupport.java:838)
	at groovy.util.FactoryBuilderSupport.doInvokeMethod(FactoryBuilderSupport.java:744)
	at groovy.util.FactoryBuilderSupport.invokeMethod(FactoryBuilderSupport.java:464)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
	at Script1.run(Script1.groovy:8)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589)
	at ws.loaders.groovy.GroovyLoader.<init>(GroovyLoader.java:18)
	at ws.Scene.load(Scene.java:78)
	at ws.Gui.main(Gui.java:413)
	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:597)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1909)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1847)
	at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1609)
	at com.sun.javaws.Launcher.run(Launcher.java:138)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.SecurityException: sealing violation: package javax.media.j3d is sealed
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:234)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at com.sun.jnlp.JNLPClassLoader.findClass(JNLPClassLoader.java:332)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at ws.loaders.groovy.elements.AppearanceElement.newInstance(AppearanceElement.java:24)
	at ws.loaders.groovy.elements.AppearanceElement.newInstance(AppearanceElement.java:15)
	at ws.loaders.groovy.Arg.newInstance(Arg.java:34)
	at groovy.util.FactoryBuilderSupport.createNode(FactoryBuilderSupport.java:675)
	... 54 more

problem was there is no java icon in my control panel

anyway got it fixed because it looked so interesting.
so whats your final vision here ? 3rd person shooter ?

also dont let people discourage you from using java3D, as we can see here it’s perfectly usable
other than that, jMonkeyEngine is THE 3D java engine now

also inverse X and Y by default… that IS the standard why to look around with mouse, isn’t it ? =D

Hi!

[quote=“Cero,post:11,topic:36885”]
That was not my point. Java3D latest release (1.5.2) appeared the 30th of June 2008, the latest pre-release builds (1.6.0) appeared in november 2010. Java3D is not a very active project, it is almost dead. As shlax has succeeded in creating a playable demo, I don’t advise him to drop Java3D.

Moreover, I tried to reuse the source code of a Java3D game called “Arabian nights” some years ago, I gave up not because of the bugs of the game itself but rather because of Java3D bad performances on my machine, it completely discouraged me. Therefore, I disagree with you, it is far from being perfectly usable.

Xith3D has the same key concept than Java3D but Xith3D is more actively maintained. As I said, I don’t advise you to use another engine for this project. However, if you write a sequel in the future, maybe choose a more viable scenegraph supporting JOGL like Ardor3D, JMonkeyEngine 2.0, Xith3D (if you don’t want to switch to something completely different from Java3D), 3DzzD, Aviatrix3D, etc…

I would have loved to give it a try but I’m lazzy ;D I will do it when I have a bit more spare time. Good luck.

Java3D / Xith3D

I have version that run on jogl + OpenMaLi except groovy scene builder ( see: http://groovy.codehaus.org/Builders ) but its not ready ( too many bugs ).

But to create any reasonable content i need to have implemented some scripting language (Lua … etc ). I choose groovy.
So i need scenegraph engine to support that feature ( or rediscover wheel )
something like: // for more see data/house.groovy :


        [
            [start: new Point3f(-3.158f, 4.003f, 5.425f), points:{} ],
            [start: new Point3f(7.728f, -0.008f, -2.871f), points:{  
                check(x:-3.619f, y:-0.008f, z:2.096f);
                check(x:-7.305f, y:-0.008f, z:-3.576f);
                check(x:10.1f, y:-0.008f, z:-6.62f);
                check(x:7.728f, y:-0.008f, z:-2.871f);
            }],
            [start: new Point3f(7.674f, 4.003f, 4.568f), points:{ 
                check(x:9.968f, y:-0.008f, z:4.568f);
                check(x:-7.075f, y:-0.008f, z:7.547f);
                check(x:-7.289f, y:-0.008f, z:-6.61f);
                check(x:10.1f, y:-0.008f, z:-6.62f);
                check(x:7.674f, y:4.003f, z:4.568f);
            }],
            [start: new Point3f(10.1f, -0.008f, -6.62f), points:{ // orange
                check(x:9.935f, y:-0.008f, z:7.745f);
                check(x:-7.075f, y:-0.008f, z:7.547f);
                check(x:-7.289f, y:-0.008f, z:-6.61f);
                check(x:10.1f, y:-0.008f, z:-6.62f);
            }],
            [start: new Point3f(-9.515f, -0.008f, -6.61f), points:{} ]  // purple
        ].each(){ a ->
            agent(shotSource:new Point3f(-0.065f, 1.322f, 0.588f), lookAtSource:new Point3f(-0.027f, 1.66f, 0.154f), startPosition:a.start){
                shot( appearance:shotMat, firePower:0.001f, cadence:500f, clip:"data/soldier/sounds/shot.wav" )
                bhoneSkin(appearance:soldierMat, bhoneFile:"data/soldier/soldier.bon", skinFile:"data/soldier/soldier.skn"){
                    frame("data/soldier/keys/stand.ang", name:"STAND");
                    frame("data/soldier/keys/run1.ang", name:"RUN1"); frame("data/soldier/keys/run2.ang", name:"RUN2"); frame("data/soldier/keys/run3.ang", name:"RUN3"); frame("data/soldier/keys/run4.ang", name:"RUN4");
                    frame("data/soldier/keys/rotate1.ang", name:"ROTATE1"); frame("data/soldier/keys/rotate2.ang", name:"ROTATE2");
                    frame("data/soldier/keys/dead.ang", name:"DEAD");
                }
                item(bhone:"joint24", transform:_transform(x:-0.144f, y:0.001f, z:0.03f, rotX:5.742f, rotY:-1.854f, rotZ:-119.718f)){ transformGroup(){ b.link(p90); }; };
                a.points();
            }
        };

Porting my existing code from java3d to Xith3D is like change imports
see:

And Xith3D is not stable yet :wink:

i hope this is the last java3d post here

Shlax, I tried your demo by downloading the ZIP archiv containing all files, and it works well on my Windows XP machine with an older ATI Radeon graphics cards.
Your demo looks very nice. Congratulations. Maybe a bit too dark and the camera is still hard to control.

But I had Java3d’s DLLs already in my Windows PATH, otherwise your demo would not have run.

You could just put the four Java3d DLLs into your base folder containing the main “callie.jar”. For Windows this works well then.
For Linux things are slightly different but basically you can also put the two “.so” files next to your base folder and supply a mini shell script which starts your demo, for example either
a) “export LD_LIBRARY_PATH=.” and then start the JAR file.
or
b) java -Djava.library.path=. -jar callie.jar

First is error is when I tried to run it the first time, second error is after I followed Preston’s advice.

copy files from java3d + groovy to folder where callie.jar is.
use j3dcore*.dll coresponding to your java version win32 or win32x64
create run.bat:


java -cp vecmath.jar;j3dcore.jar;j3dutils.jar;lib/groovy-all-1.8.0.jar;callie.jar ws.Gui

Where can I find the .dll?

[quote]Where can I find the .dll?
[/quote]
http://java3d.dev.java.net/binary-builds.html

I keep getting this when I run the webstart:



com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://download.java.net/media/java3d/webstart/release/java3d-latest.jnlp
	at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCachedFile(Unknown Source)
	at com.sun.javaws.LaunchDownload.downloadExtensionsHelper(Unknown Source)
	at com.sun.javaws.LaunchDownload.downloadExtensions(Unknown Source)
	at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
	at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
	at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
	at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
	at com.sun.javaws.Launcher.launch(Unknown Source)
	at com.sun.javaws.Main.launchApp(Unknown Source)
	at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
	at com.sun.javaws.Main$1.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

http://www.java.net
is down :wink: