Skip to content

Releases: Nokorpo/LibreAim

v0.2.0-alpha

12 Aug 19:45
cf286e8
Compare
Choose a tag to compare

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

Comparison of old and new game over screen

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.

Comparison of old and new default map

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.

image

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

26 Apr 10:42
2ef5f52
Compare
Choose a tag to compare

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

Tracking gamemode feedback

Disable FPS overlay

You can disble the FPS counter if you don't want it
image
image

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.

Precision UI

Sensitivity as slider

Now sensitivity also has a slider. A small changed proposed in #15

image

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

28 Mar 09:50
7741946
Compare
Choose a tag to compare

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.
controller-support

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.

world-appareance

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

02 Mar 09:40
2ec4a8a
Compare
Choose a tag to compare

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.

training

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.

crosshair

Customizable gamemodes

There are multiple gamemodes, and LibreAim should allow users to create their custom gamemodes.
imagen

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.