Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (492)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (556)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Completed Java3D applet game, opening discussions about how it was made.  (Read 2645 times)
0 Members and 1 Guest are viewing this topic.
Offline Thirg

Senior Newbie





« Posted 2006-04-09 10:09:49 »

Hey everyone,

We just finished making a Java3D applet game, it's found at www.sleeper-game.com

If anyone has any questions about how we did things, feel free to ask and I'll answer them here. We used Java 1.4.2 & Java 3D 1.4, also I included a small applet that checks for these versions and sends the user to an appropriate download page if they are not installed.

The applet is unsigned, and doesn't do anything it can't. Also did NOT use any other API's such as JOGL, JINPUT, JAKE2 etc.

Thanks,

Thirg...
Offline Jeff

JGO Coder




Got any cats?


« Reply #1 - Posted 2006-04-11 00:38:47 »

Nice guys.  Very polished looking.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline merlinjoz

Innocent Bystander





« Reply #2 - Posted 2006-04-11 00:41:23 »

Very nice game! I'm impressed with robot's moves Did you use a loader? if so which one? any special animation technique like IK or Morphing?

Congratulations!!!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Thirg

Senior Newbie





« Reply #3 - Posted 2006-04-11 06:12:02 »

Thanks for your feedback ! Glad you liked the game !  Grin

We wrote our own loader code, the applet isn't signed so we couldn't load the classes separately only the JAR's. If you have any specific questions on the loader code just ask.

The robot's animation is using forward IK, rotation and translation key frames are blended between to get the current animation frame, using lerp and slerp (quaternion) functions. We used 3DSMax to animate the robot, and then exported the animations into our own format of key frames per joint.

Thirg...
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #4 - Posted 2006-04-11 15:06:14 »

On OS X 10.4.6 with Java 5 (latest DP) I get a message in huge yellow letters saying "*** INCOMPATIBLE VERSION OF JAVA INSTALLED on Mac OS ***"

This is after I see a Java applet start with the Java 5 VM. If i look quick I can see a progress bar with "please wait" get to about 2% before it flips to the bogus error screen.

Offline Thirg

Senior Newbie





« Reply #5 - Posted 2006-04-11 15:58:18 »

Would it be possible to get a "dump" of your Java console when this error occurs please swpalmer ?

It should display the java versions strings in the console window it's comparing to, I combine the string values to an int for the first 5 digitis, i.e. 1.4.2 = 142, 1.5 = 150 etc.

Thanks,

Thirg....
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #6 - Posted 2006-04-11 17:30:59 »

The log from several attempts (hitting the back button to go back to the applet when it fails)

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
v1004061738
Mac OS X
2
Sun Java not found.
Apple Computer, Inc.
1.5.0_06
150
Going to http://www.sleeper-game.com/index.php?html=no_mac_java
v1004061738
Mac OS X
2
Sun Java not found.
Apple Computer, Inc.
1.5.0_06
150
Going to http://www.sleeper-game.com/index.php?html=no_mac_java
v1104061429
v1104061429
v1004061738
Mac OS X
2
Sun Java not found.
Apple Computer, Inc.
1.5.0_06
150
Going to http://www.sleeper-game.com/index.php?html=no_mac_java
v1104061429
v1004061738
Mac OS X
2
Sun Java not found.
Apple Computer, Inc.
1.5.0_06
150
Going to http://www.sleeper-game.com/index.php?html=no_mac_java
java.lang.InterruptedException: sleep interrupted
   at java.lang.Thread.sleep(Native Method)
   at Sleeper.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:613)
v1104061429
v1004061738
Mac OS X
2
Sun Java not found.
Apple Computer, Inc.
1.5.0_06
150
Going to http://www.sleeper-game.com/index.php?html=no_mac_java
java.lang.InterruptedException: sleep interrupted


Offline Thirg

Senior Newbie





« Reply #7 - Posted 2006-04-12 16:47:37 »

Thanks for the log, we fixed the problem and uploaded another version.

Also we have moved to a trusted signed applet now.

If you would be so kind to try it on your Mac again it would be most appreciated.

Thanks,

Thirg...
Offline TheAnalogKid

JGO Coder


Projects: 2



« Reply #8 - Posted 2006-04-12 19:51:32 »

Nice and fun game!  Smiley

Why Java3D instead of another 3D scene graph? I'm just curious to know your technological choice reasoning.

Keep up!

Offline Thirg

Senior Newbie





« Reply #9 - Posted 2006-04-13 08:49:32 »

Thanks for you input and for trying the game Smiley

We used Java3D because we "thought" users would find it easier to install (on Windows), given the applet wasn't signed and we couldn't load libraries. It has caused a lot of users problems though installing Java3D (it doesn't seem to over write a previously installed version cleanly). Anyhow we have now moved to a signed applet and will be loading the Java3D libs at runtime. We may now consider moving to another 3D API, depends on the platform suitability as we want the product to work on Windows, Linux & Mac.

Thirg...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Herkules

Senior Member




Friendly fire isn't friendly!


« Reply #10 - Posted 2006-04-13 11:10:49 »

Its the first Java3D game I see that is smooth and has a GUI. How did you realize the latter?

- J

HARDCODE    --     DRTS/FlyingGuns/JPilot/JXInput  --    skype me: joerg.plewe
Offline Thirg

Senior Newbie





« Reply #11 - Posted 2006-04-13 19:16:40 »

The GUI is a number 3D triangles (2 tris per font character for example), projected using an Otho2D projection matrix (camera view matrix ) just infront of the camera.

We initially used TGA files with alpha for the UI graphics , but we found TextureLoader wouldn't load in compressed TGA's. So we opted for using 2 Jpeg images, one containing the image, the other containing grey-scale alpha of the same image, as Jpegs can only contain 1 bit alpha. Our large font file went from being 2mb down to 90k for each of the 2 files.

We also use pure-immediate mode rendering, so we can control exactly what and when everything is being rendered.

If you need any more specifics I’d gladly oblige Smiley

Thirg...

Offline raisenero

Junior Newbie





« Reply #12 - Posted 2006-04-16 08:49:01 »

I'm thoroughly impressed!  That's a really great game you created.  I've been basing my programming efforts around the idea that programming games in Java is not only possible but highly desirable, it's great to see such a concrete, polished example of great game programming in Java.
Offline otelo

Junior Member





« Reply #13 - Posted 2006-04-16 21:44:42 »

I like the camera animation. What can you tell us about it's implementation?
Offline Thirg

Senior Newbie





« Reply #14 - Posted 2006-04-20 18:03:22 »

If by camera animation, if you mean the spinning at the start of each level, it is basically just manipulation of the camera's matrix and target positions.

Spinning the camera around it's target (only on the XZ plane) whilst lowering the target's Y position achieves the spin, as well as dollying closer to the target (moving the camera position based on the target to camera position vector).

Hope this helps!

Thirg...

Offline otelo

Junior Member





« Reply #15 - Posted 2006-04-27 08:20:27 »

If by camera animation, if you mean the spinning at the start of each level, it is basically just manipulation of the camera's matrix and target positions.

Spinning the camera around it's target (only on the XZ plane) whilst lowering the target's Y position achieves the spin, as well as dollying closer to the target (moving the camera position based on the target to camera position vector).

Hope this helps!

Thirg...

thnx, I was thinking more in the direction whether you're using some funky custom interpolator or path following behavior.

I posted a question concerning picking in immediate mode, you might have a suggestion considering you went with immediate mode in your game.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Nickropheliac (15 views)
2014-08-31 22:59:12

TehJavaDev (23 views)
2014-08-28 18:26:30

CopyableCougar4 (33 views)
2014-08-22 19:31:30

atombrot (41 views)
2014-08-19 09:29:53

Tekkerue (40 views)
2014-08-16 06:45:27

Tekkerue (35 views)
2014-08-16 06:22:17

Tekkerue (25 views)
2014-08-16 06:20:21

Tekkerue (37 views)
2014-08-16 06:12:11

Rayexar (72 views)
2014-08-11 02:49:23

BurntPizza (49 views)
2014-08-09 21:09:32
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!