TUER: Truly Unusual Experience of Revolution, FPS using JOGL

N_I_C_S’s source code is interesting too, he wrote several first person shooters. The source code of projects created during 7DFPS might be interesting, at least one of them uses JMonkeyEngine. Undead Arena and Jake 2 are nice if you are interested in Quake-likes.

speaking of N_I_C_S, what happened to that game of his? It looked very promising.

Hi, Julien, hey thank you for the source code :slight_smile: .
I’ve just seen in an old post you put back the sliding against walls, i’ll give a try soon :wink: .

deepthought, well flesh snatcher is in stand by currently because, to make the levels of my dreams, i have to learn Blender, which is not exactly for tomorrow ! But the project isn’t dead… By the way thanks very much to ask some news :).

And i stop the off-topic !

Hi,
Sorry, Julien, i couldn’t try the last version because, when the main menu appeared, i had no mouse visible, no key working, i had to kill the process…
(Laptop VAIO, GPU Intel GMA 950, windows vista).
BTW, i just realized that you put France as center of your intro, i found it cool, so many “communists” forgot their country ^^ .

Hi

My younger brother gave me a laptop (Packard Bell) under Windows 7 with a very similar GPU and I don’t reproduce this bug.

It’s completely unintentional. I don’t mind, I’m not a patriot.

Edit.: There is no need to kill the process. I’ve just tried to reproduce your bug, clicking once anywhere and pressing ESC or pressing only ALT F4 is enough to quit the game. The real bug is that the mouse pointer isn’t visible when the menu is displayed only under Windows with some Intel chipsets. The rest of the game works flawlessly, there is just some lag in the introduction scene because of the general bad performance of Intel chips with modification of textures at runtime.

I just tried it on my Vaio Z also with an Intel GPU, and it worked fine and smoothly here although there was no sound.
I replaced win7 with linux on there though; not sure if that makes a difference in terms of compatibility.

I’d personally try to make the enemy bullets stand out more (fire balls or something), and the player’s fire a lot faster to make shooting a bit more satisfying.

Hi

Thank you for testing. You probably used the alpha version which relies on Java Sound, that’s why you have no sound. The planned “pre-beta” version uses JOAL and works very well under GNU Linux.

I really have to reimplement this feature. I replaced the flat robots by full 3D guys in the “pre-beta” version. Thanks for the feedback.

Edit.: Can someone test this version under Windows and tell me whether the mouse pointer is visible when the menu is displayed?

On Windows 7 64 Bit with a Radeon 2900XT, there’s no mouse. ALT-F4 doesn’t work and switching to the task manager makes the whole desktop jumping up and down…congrats, i’ve never seen any application doing this. It also cleared my SSD-cache and i had to reboot. Pretty efficient killer app… :o

Thank you for testing. ESC should work. I don’t understand why I don’t reproduce most of these bugs even under Windows 7 32 bits, I use Java 1.7 update 17. I don’t call GLWindow.setAlwaysOnTop(true), it should be perfectly possible to switch to the task manager or any other window without any trouble. I’ll test under Windows 7 64 bits tomorrow.

I only reproduce the bug about the mouse pointer not visible with this machine:
Packard Bell EasyNote MH36 (Mobile Intel GMA X4500)
Hewlett Packard Z220 (Nvidia Quadro 600)

I don’t reproduce these bugs with this machine (still under Windows):
Dell Precision M4400 (Nvidia Quadro FX 770M)

I have just removed the support of Chrome Web Store because moderating the comments is impossible.

Edit.: The bug of the mouse pointer comes from NEWT (JOGL 2.0) Microsoft Windows implementation which relies on this native call as you can see here. At first, I’m going to report this bug. Then, I will fix it at home and make a pull request. After that, I will have to modify the JOAL plugin of Paul Lamb’s Sound Library to support the very latest version of JOAL. Finally, I will use the very latest autobuild of JogAmp when it is ready and I will force the use of OpenAL-Soft in order to fix 2 bugs at once as I noticed that OpenAL hardware implementation sometimes crashes during the initialization under Windows 7. Don’t worry, my game won’t set fire to your computer, simply press ESC to exit.

Edit.2: you can vote for this bug here.

Hi

I’m really sorry. OpenAL often fails to load under Windows even when I use OpenAL-Soft, I have just reported this bug here. Moreover, in this case the screen just keeps frozen and grey during 30 seconds :o because Paul Lamb’s Sound Library waits for this time before considering that OpenAL initialization has failed, I have just asked him to decrease the delay as you can see here. Finally, I have investigated for several hours on the bug of the mouse pointer, ShowCursor only works while I click on the window, it doesn’t work if I don’t click on it even though it has the focus. I do my best, I hope all these bugs will be fixed very soon.

Hi,

[quote=gouessej]It’s completely unintentional. I don’t mind, I’m not a patriot.
[/quote]
Ha ha, i was sure ^^ !

[quote=gouessej]Can someone test this version under Windows and tell me whether the mouse pointer is visible when the menu is displayed?
[/quote]
Sorry, Julien, on my poor laptop there’s no pointer (even when i click), i had to press Esc…

[quote=gouessej]The bug of the mouse pointer comes from NEWT (JOGL 2.0) Microsoft Windows implementation
[/quote]
Ok, i find that cool that you deal with those libs, personnally i wouldn’t have the patience (nor the skill ;D ) !

For Paul Lamb Sound System, thanks for the “30 seconds” info, i wondered why it freezed on some systems ::slight_smile: , good to know.

Hi

[quote=“N_I_C_S,post:1131,topic:29428”]
I only looked for a map of Europe and I took the very first one I found.

Sorry, there was some confusion in my explanation. When I used a very limited test case provided with Ardor3D (MouseManagerExample) which consists in showing the cursor only when the user clicks, it worked. You confirm that ESC works, thanks.

[quote=“N_I_C_S,post:1131,topic:29428”]
If you don’t do it yourself, some people will have to do it for you. I don’t want to start another flame war but there are probably some bugs in the libraries you use too. Do you really think I have good skills in Win32 APIs? I can read technical documentation in English. I’m responsible for several parts of my software stack, I can’t always delegate the “work” and I’m often the best person to fix my bugs.

[quote=“N_I_C_S,post:1131,topic:29428”]
You probably use different plugins but this mechanism is implemented in the code sound system, we’re probably both concerned.

Hi

I fixed a tiny bug in JOAL, my contribution was merged a few hours ago. Unfortunately, the main one is still annoying some Windows users. I will update the demo of the pre-beta version as soon as possible. This fix will solve the problem of freeze during 30 seconds. An ExceptionInInitializerError wasn’t wrapped into an ALException; then, it was not catched by Paul Lamb’s Sound Library which was waiting for the end of the loading during 30 seconds.

I have not fixed the bug in the visibility of the mouse pointer under Windows but the root cause is known and understood, I already suggested a fix, I have to implement it.

After that, I will work on these things.

Edit.: I updated the demo yesterday. The gray screen is visible only during less than 3 seconds when OpenAL can’t be loaded. I will add something in the settings to show which audio backend is used.

Edit.2: The pull request 11 for JOAL allows to load soft_oal.dll and I have modified my Ant script to put OpenAL-Soft native libraries into JOAL JARs for Windows. I just have to wait for my pull request to be accepted.

Edit.3: I’ve just updated the demo, OpenAL-Soft works very well under Windows now ;D

Hi

I will deploy the latest version of the pre-beta in a few hours. The bugs impacting only Windows will be gone (OpenAL crash & the absence of the mouse pointer in the menu). Moreover, I don’t use AWT anymore, Sven did an excellent job, he ported a JPEG decoder from Javascript to Java and he used PNGJ for PNG. This change will ease the support of other platforms including Android (but I will never force people to use Google Play). I will have to stop using JavaSound as a fallback.

Then, I will work on these things. I would like to spend some time in writing bug reports for all known bugs and requests for enhancement too. I know some bugs completely ruin the (already extremely limited) gameplay.

Maybe I will use Mesa to test OpenGL-ES 2.0 with Ardor3D. I don’t see any other solution until I add Android support into the JOGL renderer of Ardor3D.

I have lots of things to do in order to drive my game really playable and interesting.

[quote=gouessej]I’ve just updated the demo, OpenAL-Soft works very well under Windows now
[/quote]
Congratulations :smiley: ! (sorry, i didn’t find time to help you…)
I’ll try the new version ^^ .

Thanks. Don’t worry, the DLLs of OpenAL-Soft were missing in the JARs containing the native libraries for Windows, it wasn’t difficult to fix.

I updated it one hour ago.

Hi

I have just added the crosshair but I still find that some weapons are a bit too high. The loading of images is faster. I implemented the image flipping very naively the very first time, my third implementation is 50 times faster.

Best regards.

Hi

I implemented 2 changes yesterday evening:

  • I added a sound sample for the weapon used by the enemy
  • The player can be hurt by shots

As I did it very quickly, the source code is a bit dirty. It is not yet possible to die (but your health can decrease), walls are ignored when performing collision checks (between the player, the enemies and the projectiles). There is only one enemy. The artificial intelligence is still extremely limited, the soldier is unable to move, he always shoots straight ahead when your crosshair is over him even though you’re behind him. The spatial sound isn’t correctly used. I will slowly and carefully remove these limitations.

I try to improve a bit the gameplay before spending (again) several months in improving the performance (frame rate and memory footprint) so that the few people who test it can see some visual changes. This pre-beta version has to become a game, not just a poor tech demo.

I will use OpenStreetMap with OSM2World on tiny samples as a first step.

I don’t forget that the HUD is not very nice and the weapons are a bit too high.

I really have to update the online demo tonight.

As a conclusion, I will put bugs and enhancements into 3 categories and I will fix them in this order:

  • gameplay improvements that don’t require huge performance improvements (a lot more weapons, enemies & power-ups, a better HUD, the ability to modify the key mappings & mouse sensitivity, controller support, impacts, smoke and explosion effects, better packaging?, levels using real world maps, insults & provocations, …)
  • performance improvements (mesh optimizations, spatial subdivisions, accurate and scalable collision detection, contribution culling + clipping?, better use of native memory, …)
  • gameplay improvements that require huge performance improvements (Android / Linux ARM / OpenGL-ES support, iOS and Windows Phone 8 support, dismemberment, localized damages, offline arena mode, the support of less simple levels, semi-destructible environments, a full asset pipeline supporting MD3 and Collada to allow the edition in Blender and the import in Ardor3D without losing animation data and with all key frames, …).

I have lots of things to do but I know that most of the bugs are in my own code now rather than in the third party libraries I use. It’s time to focus on my own game. Best regards.

Hi

I updated the demo yesterday evening. I’m trying to add several identical enemies without duplicating the geometry, there is just a problem with the key frame controller as I have forgotten to clone it. I will post a screen capture very soon and maybe a video on GNU MediaGoblin later. I’m not satisfied by the behaviour of the weapons used by the player, I will probably have to rewrite a part of this feature. Best regards.

Edit.: I think perhaps I have forgotten to add OpenAL-Soft binaries into the JARs for Windows, sorry :s

Edit.2: I’m now able to clone enemies without making unnecessary copies of geometric data. There are 2 soldiers in the museum and I will probably (temporarily) use MD2 models from some famous mods of Quake 2 & Doom (Sauerbraten, Risen 3D, …) until I find some time to create original models. Of course, I will respect their terms of use, I won’t use copyrighted materials.

Edit.3: I have forgotten to remove a projectile used by a soldier, I have to add this at line 662 in engine/StateMachine/GameState.java:

[quote]projectilesToRemove.add(projectileNode);
break;
[/quote]
Edit.4: I have just fixed this bug and updated the demo ;D

Hello, i tested !

  • I confirm the mouse is now visible ^^ . But i didn’t see any crosshair, but i have still a textures problem on my laptop (black fog very near), that could explain… (however it’s weird, i’ll look at the code how the textures are set)

  • The enemies who shoot, the loss of health, that’s cool, it progresses toward a real gameplay :smiley: .

[quote]I’m not satisfied by the behaviour of the weapons used by the player
[/quote]
After taking the guns, i couldn’t shoot (but i didn’t understand if it’s currently possible, sorry, forget if not…).

[quote]I’m now able to clone enemies without making unnecessary copies of geometric data.
[/quote]
Cool ^^ ! How did you do finally ? Because theorically no need to clone keyframes too, in my case i store one instance of the animated mesh and the “Enemy” objects only store and manage the parametric variable of the animation (but maybe that depends on the Ardor3D structure ^^ ).