Fourth release of LibreAim.
v0.2.0-alpha isn't a big release, but it solves a lot of small things I've been wanting to fix for a while, before addressing the next big milestone, which is #35, to add the option to allow for custom scenes in gamemodes, which will open a new world of possibilities to people who wants.
Remember that we have a Discord community if you want to know more about the project, and participate in the development of LibreAim, which is, and will continue to be completely free and open source.
New game over screen
The game over screen was really boring, and didn't present the data in a good way.
The design has been improved, and you can also choose to replay the same scenario, and you can also see the progress of your last 10 games. Because LibreAim used to save your highest scores, but it now saves the data of all the games you played, so you can use that data later to see your progress over time.
Related issue: #33
A bit more optimized default map
The default map was made out of messy CSGBox3D nodes which are not greatly optimized. So they have been replaced with far simpler and more optimized map just made out of some simple plane meshes.
Related commit 9969a07
A button to open the USER folder
In commit 5ea630d a button to open the USER folder has been added. Since the users of LibreAim should be able to easily modify it, now there is a handy button to have easy access it.
When you press the button, the USER folder will be opned in your file explorer. There, you will be able to modify whatever files you want.
Remade the score system
Now every gamemode can define it's own settings on how to count the score:
score_per_hit
defines how many points player gets for each landed shot.accuracy_multiplier
defines if missing shots penalize the final score of the player.
[score]
score_per_hit = 1
accuracy_multiplier = false
Use Compatibility instead of Forward+
Godot lets you choose between Forward+ (Vulkan) or Compatibility (OpenGL). LibreAim was using Forward+, but in all the tests I made comparing both, seems like Compatibility almost gives the triple amount of FPS. And it's also more compatible with old hardware.
That's why LibreAim now uses Compatibility by default. learn more: Internal rendering architecture in Godot Docs
With an i5 7600k, RX 6800 XT, and Windows 10, LibreAim has passed from an average of 1000FPS, to an average of 3300FPS which is a great improvement.
Related issue: #23
Godot 4.3
LibreAim was using Godot 4.2, now its upgraded to 4.3 because it's fun to use the new shiny stuff! And also because Godot 4.3 fixed issue #29
Rework target spawner
The system to make targets spawn wasn't really flexible, they always appeared in a fixed position, and in order to avoid them from fly away when they moved, they were positioned inside a box with colliders, this was bad.
In commit 71cdaf9 this was changed, now each target it's in charge of it's own movement, and they don't need to rely on any external stuff. Also now the spawner can be placed anywhere, and you could even add multiple spawners instead of just one.