Releases: Nokorpo/LibreAim
v0.2.0-alpha
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.
v0.1.0-alpha
Third release of LibreAim with a lot of news about the project!
Since now, I was developing LibreAim alone, but this new version includes commits from me @antimundo and three other contributors!@Djkcool, @dfgworm, and @iltenahmet
It's not just me anymore, now there are some people helping with the project too, which is great. We have a Discord server to talk about the development of LibreAim.
Load custom data
You could already select from multiple gamemodes, world textures, and enemy hit sounds. But now you can also add your own custom files into LibreAim:
- Custom hit sounds:
user://custom_resources/destroy_sounds/customsound.ogg
- Custom gamemodes:
user://custom_resources/gamemodes/customgamemode.cfg
- Custom world textures:
user://custom_resources/world_textures/customtexture.png
You can add custom files, and they will appear after restarting LibreAim. This is great, since one of the pillars of LibreAim is that it should be customizable, and this is a big upgrade for customization.
If you are wondering where is that user://
folder, check the Godot documentation, if you use Windows, you will find it on %appdata%\Roaming\Godot\app_userdata\LibreAim\custom_resources\
This closed issues #24 #20 #19. Also huge thanks to @dfgworm who helped a lot on this.
Tracking gamemode feedback
Tracking gamemode didn't have much feedback. So now there is a health bar that flashes on red when you hit the target, and it also makes a sound when you hit it. This was proposed in #11
Disable FPS overlay
You can disble the FPS counter if you don't want it
Missed shots and acuraccy
Looks like some aim trainer users not only value the speed, but also the accuracy. So now the game also tracks that, and your score is affected by that. You gain 1 point every time you land a shot, but you also loose 1 point every time you miss one.
Sensitivity as slider
Now sensitivity also has a slider. A small changed proposed in #15
Code refactoring and bug fixes
There has been quite a lot of refactoring and bug fixes under the hood, and probably there will be more. Mainly because of #14.
From now on, LibreAim will try to follow the GDScript style guide.
v0.0.1-alpha
Second alpha release, also available on itch.io
Added controller support
While mouse and keyboard is the main concern of LibreAim, it was very easy to add controller support, so now it's here, you can play LibreAim with a controller.
Customize the world appareance
Added new settings to now customize how the game world looks.
- World texture: The texture of the world, there are 5 default textures: checkerboard, flat, grass, squares, stone.
- World color: The color of the world.
- Target color: The color of the targets you shoot at.
Gamemode files
Gamemode files are now organized intro different sections, instead of a big chunk of variables now they are nicely organized, for example:
[metadata]
id = "horizontal"
title = "Horizontal targets"
description = "All targets spawn at the same height."
[settings]
time = 30
player_movement = true
The player_movement
variable is also new, you can now set this to false, to avoid the player from moving, in case you want the player to be static.
FPS management
There is now an option to limit the max amount of FPS the game renders, it's set to 120 by default to reduce the GPU load.
New FPS counter on the top left of the screen.
Other adjustments
Some other minor adjustments, bug fixes, and code refactoring done for this version.
v0.0.0-alpha
First alpha release ever, in case someone wants to try the project. The game is also available on Itch.io. LibreAim is free and open source, so feel free to also try the project in the Godot engine, or to add suggestions to the Issues
tab on GitHub.
Included in this version
Settings and crosshair customization
The aim of LibreAim is to be as customizable as posible, in this first alpha, users can customize things like camera FOV, mouse sensitivity, and set up a custom crosshair.
Customizable gamemodes
There are multiple gamemodes, and LibreAim should allow users to create their custom gamemodes.
There is a folder called gamemodes
, where every gamemode has a file with it's settings. For example, the random
gamemode has a file called random.cfg
that looks like this:
id="random"
title="Random targets"
description="Random static targets."
spawn_location={
"x": [-5, 5],
"y": [1, 9]
}
time=30
movement={
"x": 0,
"y": 0
}
size={
"radius": 1,
"height": 2
}
health=0
initial_targets=3
You can create more gamemodes, and customize the existing ones, by modifying these files in the source code.