TUER: Truly Unusual Experience of Revolution, FPS using JME 2.0 & JOGL

Hi Slenkar


slenkar said:

pretty good, I would personally wish for more mouse sensitivity (is that in the options?)

Thanks. For the moment, it is not in the options. The full version that does not use JME 2 (the one you tested that allows to shoot enemies, etc...) is no more maintained as I invest a lot of time in the next version that relies on JME 2. However, in this next version, I would like to add something to change the mouse sensitivity.

slenkar said:
A little error: when someone shoots at the edge of a wall the damage sprite goes past the edge of the wall and looks strange.

Yes it is really ugly. I will add a more accurate system to draw the impacts in the version that relies on JME 2.

slenkar said:
There is no HUD to know how damaged you are.

There is at least a small indication "HEALTH 100" close to the FPS counter. If you don't see it, it means that the TextRenderer class of JOGL works badly on your machine.

slenkar said:

Other than that its good! it ran with no problems

:D I'm glad to know it. Thank you for testing. The frame rate of the next version is at least twice higher, low end machines will benefit of it.

Hi!



Please look at the screenshot below:



I don’t understand, the portals are correctly computed but when a sub-frustum does not contain the middle of the screen, it does not work. Does someone have an idea?

I've tried you game (first version), worked great on my machine. Got over 500fps. But was hard to read the health counter. Otherwise nice and well done game :slight_smile: Did you use any physics engine to control the player?

Haladria said:
I've tried you game (first version), worked great on my machine. Got over 500fps.

Thank you for testing. My previous engine allows to have a comfortable frame rate on "old" machines and an excellent frame rate on recent ones as you see.

Haladria said:
But was hard to read the health counter.

Ok. Maybe it is a bit too small. I will have to display the health by another way in the next version, maybe like in GoldenEye 007.

Haladria said:
Otherwise nice and well done game :) Did you use any physics engine to control the player?

Thanks! No, I did not use any physics engine but I implemented some things to force the game to have the same logical speed on any computer (time-based animations rather than frame-based animations).

Hi!



I’m going to add the pistol:

Hi!



I will try to include some animated models in TUER in some days, this one for example :





I think I have found a good way to generalize my algorithm to split the scenegraph into cells and portals, I will become usable with any kind of map  :-o and the public API  is simple :


Spatial arena = (Spatial)BinaryImporter.getInstance().load(this.getClass().getResource("/jbin/arena.jbin"));
Level level = new Portalizer( arena ).portalize();


The Level instance inherits from Node, the only big difference is that it is not allowed to add your own nodes into the list of children as it has to contain only internal instances that handle the networks. Instead of doing this:

node.attachChild(childNode);


you have to do this:

level.attachNonStructuralObject(childNode);


For the moment, renaming internal nodes used in a level except non structural objects is not advised but I will remove this limitation as soon as possible.

I have to check how the serialization of JME works as it would be fine to be able to write such nodes into a file. Then, you could pre-compute your whole geometry with an external program, save the result in a single file and load it later in the game instead of using the portalizer during the game which would be expensive in time and memory use.

The main drawback of my portalizer is the performance. There is nor BSP neither octal tree in JME 2, I don't have enough time to implement both cells-and-portals algorithm and such trees. Then, I don't sort polygons, my program can spend a very long time to create a forest of networks.

I have read on some other threads that people have spoken of implementing BSP, quad trees, octal trees, portals... Please avoid wasting your time in implementing the same thing. If you're working on portals, we should work together to make it faster instead of working separately on 2 similar implementations of the same algorithm.

Finally, the bug fixes of the JOGL renderer are almost all ready except one. Now, I can use StandardGame, it works fine  :D JOGL inside JME 2 is becoming slowly but surely a quite reliable option.

Hi!



I suggest to put my portalizer in the package com.jme.scene.portalizer when it is ready, do you think this is the best place to put it?



The criterion of convexity is not enough to split models into cells and portals. Therefore, I use it but with another one, I look for the broadest surface linked to an edge linking 2 triangles whose normals have an angle between PI and 2 * PI (using the cosinus is not enough). Once found, I often have to split some triangles so that no triangle overlaps a portal, it is becoming complicated  :frowning:



Finally, the method allowing to add an element into the level so that it will be attached to the correct cell is named attachDescendant(Spatial spatial). Do you have anything else to suggest? English is not my mother tongue, sorry if this method name is silly.

I get the small splash image, then a white screen, then a black screen then a white screen that stays forever (or as close to forever as I was prepared to wait  :slight_smile: ) and only goes away if I press ESC

JOC said:

I get the small splash image, then a white screen, then a black screen then a white screen that stays forever (or as close to forever as I was prepared to wait  :) ) and only goes away if I press ESC

Thank you for testing. Do you have any message in the console?

I have deployed another build with JOGL 1.1.1a and I have added the following parameter in the JNLP file:

java-vm-args="-XX:MaxDirectMemorySize=64M"



Sorry to bother you. If someone wants to try, please empty your Java Webstart cache even with the brutal way (rm -fr *). I have only Linux at home, I'm going to ask a developer to test tomorrow under Windows Seven and Fedora Linux 11 both with Java Webstart and locally.

Hi!



URGENT: please try my blueprint, it contains some fixes for the AWT input system and the JOGL renderer. There are still some strange blockings but the mouse should work better now (no more need to keep pressing a button):

http://download.tuxfamily.org/tuer/tuer.jnlp

Just tried the new one - and same issues. There is nothing useful in the java console - just info statements (pasted below just incase).

When I ALT-TAB back into the app I do see a menu pop up briefly, but then it disappears and is replaced with the white screen.

Maybe should mention im running Windows Vista 32bit sp2 - and Java 1.6.0_13 - gfx card is a Nvidia 8800GTS with pretty up to date drivers.





21-Jun-2009 22:12:37 com.jme.input.joystick.DummyJoystickInput <init>

INFO: Joystick support is disabled

21-Jun-2009 22:12:38 com.jmex.awt.jogl.JOGLAWTCanvas getBackground

INFO: getBackground

21-Jun-2009 22:12:40 com.jme.renderer.jogl.JOGLRenderer <init>

INFO: JOGLRenderer created. W:  1680H: 1050 Version: 1.1.1a

21-Jun-2009 22:12:41 com.jme.renderer.AbstractCamera <init>

INFO: Camera created.

21-Jun-2009 22:12:41 com.jmex.game.state.GameStateManager create

INFO: Created GameStateManager

21-Jun-2009 22:12:41 com.jme.scene.Node <init>

INFO: Node created.

21-Jun-2009 22:12:42 com.jme.scene.Node attachChild

INFO: Child "Some2DText" attached to this node "null"

21-Jun-2009 22:12:42 com.jme.scene.Node attachChild

INFO: Child "ProgressBar" attached to this node "null"

21-Jun-2009 22:12:42 com.jme.scene.Node attachChild

INFO: Child "Some2DText" attached to this node "null"

21-Jun-2009 22:12:43 com.jme.scene.Node attachChildAt

INFO: Child "Background" attached to this node "null"

21-Jun-2009 22:12:43 com.jme.scene.Node <init>

INFO: Node created.

21-Jun-2009 22:12:43 jme.MenuState <init>

INFO: maxFaceCount = 8

21-Jun-2009 22:12:43 com.jme.scene.Node attachChild

INFO: Child "New game Menu Item" attached to this node "Main menu: RootNode"

21-Jun-2009 22:12:43 com.jme.scene.Node attachChild

INFO: Child "Options Menu Item" attached to this node "Main menu: RootNode"

21-Jun-2009 22:12:43 com.jme.scene.Node attachChild

INFO: Child "Load game Menu Item" attached to this node "Main menu: RootNode"

21-Jun-2009 22:12:43 com.jme.scene.Node attachChild

INFO: Child "Save game Menu Item" attached to this node "Main menu: RootNode"

21-Jun-2009 22:12:43 com.jme.scene.Node attachChild

INFO: Child "About Menu Item" attached to this node "Main menu: RootNode"

21-Jun-2009 22:12:43 com.jme.scene.Node attachChild

INFO: Child "Quit Menu Item" attached to this node "Main menu: RootNode"

Hi!



Thank you JOC. Your piece of information is useful, I see that the menu is created but not displayed correctly. What happens if you press ENTER once (and wait for a few seconds)?



Edit.: I have added the line below in the JNLP file:

<property name="sun.awt.noerasebackground" value="true"/>



I hope that helps a bit.

Same here like JOG, Vista 64 Sp2 Core i7, Gforce G200 (or similar name :wink: ) java 1.6_0_13:



22.06.2009 20:06:18 com.jme.input.joystick.DummyJoystickInput <init>

INFO: Joystick support is disabled

22.06.2009 20:06:18 com.jmex.awt.jogl.JOGLAWTCanvas getBackground

INFO: getBackground

22.06.2009 20:06:19 com.jme.renderer.jogl.JOGLRenderer <init>

INFO: JOGLRenderer created. W:  1600H: 1200 Version: 1.1.1a

22.06.2009 20:06:19 com.jme.renderer.AbstractCamera <init>

INFO: Camera created.

22.06.2009 20:06:19 com.jmex.game.state.GameStateManager create

INFO: Created GameStateManager

22.06.2009 20:06:19 com.jme.scene.Node <init>

INFO: Node created.

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "Some2DText" attached to this node "null"

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "ProgressBar" attached to this node "null"

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "Some2DText" attached to this node "null"

22.06.2009 20:06:19 com.jme.scene.Node attachChildAt

INFO: Child "Background" attached to this node "null"

22.06.2009 20:06:19 com.jme.scene.Node <init>

INFO: Node created.

22.06.2009 20:06:19 jme.MenuState <init>

INFO: maxFaceCount = 8

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "New game Menu Item" attached to this node "Main menu: RootNode"

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "Options Menu Item" attached to this node "Main menu: RootNode"

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "Load game Menu Item" attached to this node "Main menu: RootNode"

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "Save game Menu Item" attached to this node "Main menu: RootNode"

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "About Menu Item" attached to this node "Main menu: RootNode"

22.06.2009 20:06:19 com.jme.scene.Node attachChild

INFO: Child "Quit Menu Item" attached to this node "Main menu: RootNode"





If i press enter i still have the white screen (only tabbing out an in shows a frame of the game shortly)



Many log entries like:


  • snip -

    22.06.2009 20:07:59 com.jme.scene.Node attachChild

    INFO: Child "LID0NID0CID150CID152" attached to this node "LID0NID0CID150CID152"

    22.06.2009 20:07:59 com.jme.scene.Node <init>

    INFO: Node created.


  • snip -



    22.06.2009 20:07:59 com.jme.scene.Node attachChild

    INFO: Child "pistol" attached to this node "pistol"

    22.06.2009 20:07:59 com.jme.scene.Node attachChild

    INFO: Child "temp0" attached to this node "pistol"

    22.06.2009 20:07:59 com.jme.scene.Node attachChild

    INFO: Child "temp2" attached to this node "pistol"

    22.06.2009 20:07:59 com.jme.scene.Node attachChild

    INFO: Child "pistol" attached to this node "LID0NID0CID108"

    frame rate = 0.41135335

    frame rate = 35.714287

    frame rate = 125.0

    frame rate = 58.82353

    frame rate = 58.82353

    frame rate = 66.666664

    frame rate = 45.454544

    frame rate = 90.90909

    frame rate = 62.5

    frame rate = 58.82353

    frame rate = 62.5

    frame rate = 58.82353

    frame rate = 62.5


  • snip -





    Regards,



    snare
snareoj2 said:

Same here like JOG, Vista 64 Sp2 Core i7, Gforce G200 (or similar name ;) ) java 1.6_0_13:

Thank you very much for testing. Now, it works only under Linux and Windows XP but not under Windows Vista. We go on looking for a fix.

Hi!



Java Webstart works bad under Windows Seven, it does not come from my application. I have not found any fix for Vista yet. I'm open to suggestions.

Hi!



Now there are some people, one of them is running as you can see, he knows I will come back soon to kiss his ass with my rocket launcher :smiley:



The running guy looks kinda like a sprite.

You could try to use multisampling to get rid of some aliasing.

Hi!



Tuxfamily is dying so I have moved the blueprint here :

http://tuer.sourceforge.net/experimental/tuer.jnlp

Hi!



The collision system is almost ready and it does not use JMEPhysics as I don't need complicated, memory and time-consuming physics. I will let you know when it is working.



Edit.: it is harder than I thought. When I mix BoundingBox with OrientedBoundingBox, I get very strange results, I hope it comes from my source code rather than JME 2 itself.