Changed the sample scene, previous one was not compatible with latest LibGdx version (I just removed some unused vertices on the external walls, to lower vertices count)

Adapted code with the FrameBufferCubemap from LibGdx (still using my own class for a few helper functions though)

Corrected a few mistakes in the code

What I wanted to do mostly was to update the LibGdx version, and correct a few mistakes that were reported on GitHub. And now I guess I’ll try to add a new part using lwjgl 3 (desktop only) and make use of the update OpenGL version it provides.

]]>VR testhttp://www.microbasic.net/2017/05/vr-test/
Sat, 13 May 2017 16:19:16 +0000http://www.microbasic.net/?p=4389Continue Reading]]>I recently bought an HTC Vive and after playing a bit with it I’ve decided to see what could be done from a developer perspective.

There are of course well known engine that support VR out-of-the-box (Unity, Unreal,…) but I have always preferred making the game engine myself and just use a graphical engine.

Thankfully I saw that LibGDX and LWJGL both have added support for OpenVR very recently (not released yet, still in snapshot versions) and that is far more interesting for me since I love LibGDX.

Linux testing

I use Linux as my main environment, switching to Windows just for gaming, so I first tried to get gdx-vr to run on Linux but I didn’t succeed sadly :

There are some problems with shared lib that I couldn’t figure out (“vrclient Shared Lib Not Found”), I tried adding lots of path to LD_LIBRARY_PATH, tried launching Idea from Steam,…. nothing worked

After about 1 hour SteamVR crashed my computer to a point that even after rebooting my network card was not responsive. I had to completely shutdown my computer to fix it. So needless to say I’m not ready to try again anytime soon, there are some big issues that need to be fixed before imo (on Linux SteamVR part).

Windows testing

As I had already done quite a lot of testing on Linux, the Windows installation was really simple : install Idea (I just use Windows for playing, so there was really nothing ready), JDK, LibGDX, create application, update dependencies to lwjgl latest snapshot, and run the sample. It took me less than 15 minutes to have it run properly from absolutely nothing.

I played with the provided sample by LibGDX and I must say I am really impressed, just adding a few more movement controls went flawlessly (teleporting is included, I tried adding moving by pushing the grip button as a test). Documentation is non-existent as far as I know, but the code is easy to understand and well coded.

And of course I tried loading a scene from Alien Blitz

This is just a static scene (the scene used for my shadow mapping tutorial, that I had to simplify a bit since it was not loading in current version of LibGDX anymore)

But it feels good to just move around this scene using the Vive controller

Any plan ?

I was looking for a new project to work on in my free time for quite some time, maybe I could do something with VR.

Of course if I have tested a scene from Alien Blitz it is because it could be something interesting to work with. And of course this would be an entire new game & new engine (Alien Blitz is not adapted for FPS, and even less adapted for VR) but I could reuse some assets and make a nice reboot (with a proper story, and such).
Nothing is decided yet.

My main issue right now is that I would have to program the game on Windows… but I think it could work with a Linux VM running all my environment, and just use Windows to launch the game (Java remote debug works very well).

[new] Axis can now be used as buttons when using a controller (triggers are usually considered axis)

[new] Right stick can now be used to aim for shooting

[new] Added a new button to shoot, it works the same as the previous one but is “placed” better when using the right axis to shoot

[update] Default controller configuration has been changed (previous one is reset) : Left/right (LT/RT) triggers are used to switch weapon (xbox controller) and RB can be used to shoot

[update] reduced default aim assist when using a controller, since it’s now easier to aim it is now reduced it to 30% by default. This can still be changed in the option (and will be not be changed if you have already played the game)

New controller mapping

I wanted to use the right stick to shoot as it was requested by some players, but ended up with a few mapping problems, that’s why I decided to provide a way to use the triggers as buttons.

I’m not used to play with controllers, so don’t hesitate to contact me if you have suggestions, I took my inspiration on the way Enter the Gungeon handles controller to be sure I was doing something correct (right stick to turn around and RB to shoot).
The main difference being that when the right stick is not used it reverts to old behavior and will shoot in the direction player is facing. But now you can also move in one direction and shoot in the opposite one at the same time.

There is currently one very small issue on Linux, if you have already played the game the default configuration will be the Windows one, just navigate to the Options menu and you can change your mapping there, or remove the config file (in the saves directory).
If it’s the first time you launch the game on Linux (or if you have removed the option file) then everything should be ok (assuming you have a xbox controller)

I don’t know why but on Linux sticks use different axis and RT/LT are two separate axis (they are a single one on Windows), and due to the way I initialize configuration I couldn’t update existing configuration easily if configuration file already exists.

[new] Save slot selection, when starting the game choose from 3 save slot selection to play.

[new] Added an option to confine the mouse to the game (activated by default), it means the mouse can not exit the game window when playing, it is released when opening a menu.

[update] COMPET-N challenge/achievement now needs to be done under 2 hours instead of 1 hour and 30 minutes

[update] In game buttons are now disabled by default.

[update] Resolution and fullscreen changes now have a confirmation box with a delay (15 seconds) to confirm changes. This should solve some issues with resolution change

[update] Weapon can now be switched mid-reload in hard and more difficulty (you have to wait half reload time before being able to switch, it was full reload time before, it’s still immediate in easy/normal)

[bug] UAC sprite for challenge was invisible

Mouse confining

Sadly there is no way to use the system cursor and activate mouse confining (as far as I know), so it means I had to handle cursor myself (draw an image at theoretical cursor position).
I was a bit afraid as from experience rendering cursor manually can have some shitty effect (menus in Skyrim feel very lagy for example).
Testing both cursors at the same time (system and manual) the manual cursor is always a bit behind when moving the mouse quickly, but not enough to be a problem. So the option is activated by default.
But it can be deactivated in the options if the user wants a “perfect” system cursor.

I think if you have a 120fps or more monitor it might be better to deactivate this option, my 120hz monitor is not available for testing at the moment, so I will check that later.

Save slot

Save slots have been limited to 3 slots, there’s nothing preventing me to add more but I think it is enough.

This should list all needed icon files, now you need to generate the corresponding icons in the data directory of your project

Here is a screenshot with file size and corresponding file names for Alien Blitz, I have also captured the splash screens in case you need it

]]>Alien Blitz: mobile update coming soon (1.4.2)http://www.microbasic.net/2016/04/alien-blitz-mobile-update-coming-soon-1-4-2/
Sun, 10 Apr 2016 21:18:01 +0000http://www.microbasic.net/?p=4307Continue Reading]]>Mobile version of Alien Blitz will soon be updated to 1.4.2, lots of changes that mostly came from some of the additions to the PC version, and some bug fixes.

The ads for the free version will also be removed (well, technically I will leave ads to the full version and the PC version of Alien Blitz, but these are my ads and they are less intrusive, no full screen ad).

I had LOTS and LOTS of problems getting these versions ready, I made some changes to the build system for the PC version and had to change a lot of things, and I had lots of problems on the ios version (everything needed to be updated to be compatible with latest ios version : ios, mac os, xcode, java, eclipse, robovm, libgdx)

If you encounter a problem with Robovm where it says there is no signing identity, or just if your mac can’t find any signing identity

Anyway, long story short, I have been able to publish the beta version on Google Play, so I will begin testing it, and the ios version will soon be also available on beta (test flight). So if everything goes well both versions should be updated during this month.