• Pre-Release 0.1.9-1_hotfix_pre-alpha 349103ae1c

    Liblast 0.1.9-1 hotfix pre-alpha

    unfa released this 3 weeks ago | 38 commits to main since this release



    • Fixed "loading" screen not doing its job when joining.oine games
    • Added an actual progress bar to the "loading" screen
    • Fixed being stuck on the "loading" screen of server connection failed
    • Fixed game still taking inputs when the "loading" screen is on
    • Fixed client showing game action immediately, behind the "loading" screen
    • Fixed SFX and music switching with "loading" screen
    • Fixed all character gibs being on fire
    • Fixed "death filter" getting stuck if leaving the game while dead
    • Added burning sound to character gibs
    • Removed empty data fields from the score table
    • Numerous smaller fixes

    I say "loading" in parenthesis because what it is doing is waiting for Godot to bake reflection probes. Isn't not loading anything, it's rendering cubemaps. This needs to be done before the map is populated with characters, projectiles etc because these things can make the baked reflections completely messed up. Which still happens sometimes despite this "loading" screen.

  • Pre-Release 0.1.9_pre-alpha d758aa9fa7

    Liblast 0.1.9 pre-alpha

    unfa released this 3 weeks ago | 49 commits to main since this release



    • Updated to Godot 4 Release Candidate 6
    • New 2 original music tracks: menu and in-game
    • Bots are now spawned and treated like any other characters
    • Hence, bots can partake in a multiplayer game like regular players - you'll meet bots on the public dedicated server!
    • Bots are now much more of a threat due to changes in AI and improvements in MapC navigation system
    • New, gorgeous 3D sky with a blazing sun, blinking stars, moving clouds and a spinning moon
    • Added a new map: MapC2, being an extension of MapC with a section of corridors
    • Added a "loading screen" that gives the game time to bake clean reflections - this is a workaround of Godot's renderer limitation
    • Added an F11 hotkey to toggle fullscreen
    • Changed fall damage to be way less painful
    • Added release version info into Globals to allow taking game version into consideration when networking later
    • Added a special effect for characters leaving the game (players disconnecting, bots despawning etc.) - which is a fart sound and cloud
    • Tweaks to postprocessing settings (glow)
    • Fixed crosshair not fading when zoomed in
    • Added kill more and killall more console command options for fun
    • Fixed characters sometimes becoming dwarfs after respawning
    • Badges are now show in the score table - in local games this lets you see who's a bot (it's broken in online games)
    • Added experimental weapon sway (inertia) effect - can be enabled via console with view_weapon_sway true

    Full changelog

    Known issues

    • Sometiems bots are "leaking" which means the AI-controlled characters multiply while not appearing in the scoreboard. This can bring the game to a crawl, because it'll starve the game host for CPU. As a dirty workaround, the dedicated server is now going to automatically restart every 30 minutes. If you get disconnected, that's most likely the reason
    • Sometimes there's 2x the amount of requested bots spawning when the game starts. This isn't the issue above, as they do appear in the score table and will get corrected if you go to menu and back
    • Character badges don't sync via network, so it's impossible to say who's a bot and who's not on the public server (unless they say something in chat)
    • Multiple characters can spawn in the same spawnpoint at once causing one of them to be launched into space or through the floor
    • Game's win condition is checked but doesn't have any effect yet
    • FSR (AMD's FidelityFX Super-Resolution) scaling doesn't work, enabling it will break everything
    • Environment quality settings don't auto-apply to newly started games, and require manual change to take effect
    • Changing environment quality settings might break the sky
  • Pre-Release 0.1.8-1_hotfix_pre-alpha 43f9d6b650

    Liblast 0.1.8-1 hotfix pre-alpha

    unfa released this 2 months ago | 150 commits to main since this release



    • Fixed a regression that made characters intermittently invisible, making playing near impossible
    • Added team score counting (scoretab now tracks team scores)
  • Pre-Release 0.1.8_pre-alpha e939c305e5

    Liblast 0.1.8 pre-alpha

    unfa released this 2 months ago | 152 commits to main since this release



    • Updated to Godot 4.0 Beta 17
    • Added a version of DM1-2 map that has bots
    • Explosions no longer hurt through walls
    • Players can no longer see enemy banners though walls
    • Updated game logo
    • Fixed various animations breaking with changed timescale (weapon bob, camera shake)
    • Fixed invisible version label in main menu (top right corner text)
    • Fixed reverb zones not working on DM1-2
    • Fixed reflection probes not affecting player and weapon models (weapons looking much nicer now at pretty much no cost)
    • Added a setting variable menu_background_bots that's set to false by default to limit crashing in the game menu.

    Known Issues

    • Bots on DM1-2 + Bots map intermittently become invisible - quite hard to fight them
    • Possible crashes, especially if you enable gibs via render_gibs console command. That's why this setting is disabled by default. As cool as they look, the increased crashing isn't worth it
  • Pre-Release 0.1.7_pre-alpha b84b751c3b

    Liblast 0.1.7 pre-alpha

    unfa released this 2 months ago | 192 commits to main since this release



    • Updated to Godot 4 Beta 16
    • Local network host discovery via UDP
    • Performance improvements in managing resources
    • Reduced video memory usage
    • Added character gibbing (exploding)
    • Added special death camera and audio effect used when gibbed
    • Implemented character "LAG" status banner
    • Fixed character wink
    • Fixed misplaced plasma decals
    • Lots of other fixes
  • Pre-Release 0.1.6_pre-alpha b9f89859f8

    Liblast 0.1.6 pre-alpha

    unfa released this 2 months ago | 235 commits to main since this release



    (sorry, never written it)

  • Pre-Release 0.1.5_pre-alpha 50e9c23192

    Liblast 0.1.5 pre-alpha

    unfa released this 3 months ago | 313 commits to main since this release





    There's been a public playtesting session, streamed live on YouTube. Here's the VOD:


    Character profiles

    • fixed local character profile not being used locally
    • added character voice pitch control configurable in the profile menu


    • implemented fall damage - use your jetpack before hitting the ground!
    • fixed biased weapon spread distribution - now it's quite "gaussian" in look :)


    • re-implemented bullet fly-by sounds
    • improved handgun shooting sound
    • added character footsteps (new sounds)
    • added landing sound
    • fixed repetitive bullet hit sound (added new sounds and fixed implementation)
    • characters now randomize their voice pitch to make it easier to differentiate between them (it also sounds really silly sometimes)


    • fixed visuals and sound not syncing over network


    • reimplemented bullet tracers - you can now see where your bullets go (this is only a visual effect, the bullets hit immediatelly)
    • added new fancy particle effects for bullets hitting walls, but they are now dusabked by default due to Godot renderer's bugs. You can enable them by disabling "USE FALLBACK PARTICLES" in Preferences menu. Don't do that if you suffer from photosensitive epillepsy! These efects can cause immense screen flicker, especially when using the submachinegun.
    • animated jetpack flames using a vertex shader and procedural noise!
    • improved jetpack smoke trail with a new smoke texture
    • fixed weapon switching not hiding weapon models
    • bullet tracers have a timeout now so they won't linger forever if shot into nothing


    • "you have killed X" message is now shown when scoring a kill
    • "Quit" button was moved to the bottom left corenr and renamed to "Quit Game" to avoid confusion (some playtesters clicked it to resume game)


    • added environment visual quality presets to Preferences menu
    • added FOV (field of view) slider to the Preferenes Menu
    • added mouse sensitivity slider to the Preferenes Menu
    • added slider to change particle effect density in the Prefernces menu


    • ESC key now cancels typing in chat
    • players joining a server recieve a customizable server welcome message, instead of a notification about them joning the game; others still get the "player X joined" notification (the variable is configutable from console: host_welcome_message)
    • Server should not replay chat messages from players who already left the game.



    Console now has basic filesystem navigation commands:

    • pwd (print working directory)
    • cd (change working directory)
    • ls (list working directory contents)
      This will help debugging some issues later.

    There's also help pages for the new commands! Type help <command> to access them!


    • audio_automute controls if the game will mute itself when loosing focus. Useful for debugging audio networking


    You can read the full commit history since the previous release here:

    Known Issues


    Despite local tests coming out better than previously, chat on the public server still doens't work properly. Everyone's name is <null>. At least the messages are coming through, so there is a slight improvement.

    Zoom exploit

    It's possible to shoot the SMG while zoomed in. I've attempted to fix this but didn't manage to do it just yet.

    • unfa 2022-12-18
  • Pre-Release 0.1.4_pre-alpha 621102d0f6

    0.1.4 pre-alpha

    unfa released this 3 months ago | 364 commits to main since this release





    Public Server

    • a server is running 24/7 at unfa.xyz
    • the above server was made a default address to make it easier to join


    • The auth screen was hidden, as logins don't work currently
    • The game menu was improved to be more readable. It also povides preset server addresses as well as a field for custom address that takes priority over presets if used


    • Added directional damage markers (damage compass)
    • Added text informing players what team they play on that is shown after each spawn


    • SMG weapon added (accessible in slot 2 - press 2 key to use!)


    • Fixed lighting on MapC


    • Characters properly despawn after leaving the server
    • Characters don't linger in the scoretab after leaving the server


    • Added a simple log that writes down client/host status as well as chat messages
  • Pre-Release 0.1.3_pre-alpha ac9d1bf542

    Liblast 0.1.3 pre-alpha

    unfa released this 4 months ago | 393 commits to main since this release




    This is anbsolutely massive release, and it's hard to list all the things that have changed since the last release, two months ago.

    2022-12-06 UPDATE: Public Server on unfa.xyz!

    There is now a dedicated Liblast 0.1.3 pre-alpha server running at unfa.xyz. Just type it into the address field on the to the "client" toggle, replacing the default, and you should be able to play with anyone who also joins it :)

    Known issues

    • Players who left the game will leave a hovering character behind, as it doesn't get despawned
    • Chat doesn't work


    The server now runs on Godot 4 Beta 4 (while the game runs on Beta 7). This is because a bug was introduced later that made running a dedicated server impossible. While trying to figure out why this happens, I discovered I can use an older version of Godot. So far it seems to work.


    Godot version bump

    Godot 4.0 Beta 7 has just been released and it's what Liblast 0.1.3 pre-alpha release uses as well. This also means that the game should now be edited with that version.

    Dedicated Server

    It's now possible to run a dedicated server. To do that, run the game with this argument:
    Liblast --dedicated-host [map name]
    Where [map name] is the same as you can see in the Map Dropdown in the Game Menu This means the options so far include:

    • MapA
    • MapB
    • MapC
    • MapD
    • DM1-2
    • MapE
    • MenuBackgrounMap (with a typo).

    You can even try and make the server play hidden maps as well, like _MenuBackgrounMap and _Map (the map template). These are hidden for a reason though ;)

    Oh. I almost forgot the most important one!



    This is an entirely new map by @deevee, who's designing this new map, making modular spaceship environment assets and programming interactive elements like a lift and doors.

    Be sure to check this one out! BTW, we have a typo in the name.


    It's now an actual test level, and not just empty space!


    Same as MapC, but with lots of Bots - great for single-player team deathmach with bots.
    I find playing this map quite addictive.
    Won't work online though.



    The game now checks for friendly fire so that you can't hurt your team mates (by default).

    Damage Numbers

    The (sole for now) weapon works and can be used to kill others in-game. A damage indicator shows to let you know how much damage was dealt to the target (animated and differs based on the amount of damage). There's also impact particle/sound effects as well as decals left in walls.

    Gun animation fix

    The weapon now animates even when shooting at the sky.


    The R hotkey used to not work.



    The crosshair now shows animated hit and kill confirmations as well as playing an appropriate sound to let you know if your offensive efforts are making an impact.

    Status Bars

    • The jetpack and heath bars now feature nice readable labels on top
    • The jetpack bar label aslo updates immediatelly and not only after using the jetpack fro the first time
    • The ammo bars are gone (for now), since they are not wired to work yet

    Death Screen

    When you die, the HUD will display who (or what) has caused your demise. usually it'll be another character, but if you jumo into the void, that'll also show an appropriate message. Under the hood differentiating damage types is a bit messy right now, but it is an improvement still.

    Death Cam

    The Death Cam is back as well! After dying a special camera takes over and follows your killer (if any).

    Score Table

    It's back! The score table is no divided into two teams now. Currently it shows (in that order):

    • player kill count
    • player name (and color)
    • ping
    • packet loss

    The game also tracks death count but it's not displayed.

    FPS / network status text

    The FPS indicator and network status text were moved to the top left corner to not overlap with the chat.


    Spawn effects

    Character spawning now has a particle, light and sound effect. This helps in finding respawning players on a large map and adds some flare.


    Random taunts are back! Characters will something say something after resawning or killing an enemy. The voices now sound a bit robotic to fit the lore better and give the mmore character.


    Character faces has gone through a solid overhaul. It was a really fun thing to do, and I think the new look is appropriately eerie, but there's much more to that!

    Characters now have varied face expressions and will use that to add some flavor to the game. Different faces show up when a character is:

    • hurt
    • dead
    • dealing damage
    • celebrating scoring a kill
    • there's also a secret to discover here ;)

    The character faces also use the team color they are on to add a practical aspect to them.


    Jetpack is now properly visible on remote network peers.
    Before people using jetpack would seem to fly without any reason.


    Characters in 0.1.2 pre-alpha had a soft Fresnel-based outline around them (sometiems called backlight) indicating their team color - this is now replaced with a solid, separated outline instead. The outline is also specifically programmed to compensate for the camera distance and FOV, so that it stays relatively the same width no matter what. It will also thicken if you shoot a team mate.


    Character banners are now compensating for FOV changes and...
    There's new state indicators! There are special symbols that appear over a character's head to indicate if they are:

    • typing in chat
    • not active
    • fiddling in the menu
    • on your team
    • using Zoom (binoculars)

    They will also animate and increase their fade distance to be visible to any attacker to let them know that the character is currently defenceless, so they can decide if it's fair to kill them.

    There's also an icon prepared for indicating netwroking issues, but it's not implemented yet.

    Camera and Character models

    This gets a separate section. The camera management was a big problem for a long time now. In this release, that (should be) completely fixed. The enntire cmaera management was completely overhauled to ensure clear and total control over what camera is active at any given time. Previously when joining a game is was normal to see the wrold though the wrong camera, and only tapping the C key twice was able to fix that. Now the camera is correct no matter what.

    This also comes with a related aspect - deciding when to show first or 3rd person character models. Charactrs need a separate so called "view model", which is separate from the "world model" that other players see from the outside. However previously both models were often rendered all the time so characters appeared to have 4 arms.


    When it comes to cameras - zooming now also makes the character banners visible from a larger distance (with the exception for tjhe Zoom indicator). The zoom is 4x, and it does increase the banner fade distance by 4 as well.

    In-game Chat

    The in-game chat is back and better than ever! Accessed with the T (say to team) and Y (say to all) keys, it will let you communicate with other players.

    The chat history uses supplied player profiles (names and colors) as well as use color and formatting to distinguish team and public messages.

    You'll also notice that the input field gets hilighted in your current team color when typiing to team, while writing publicly uses a white outline instead. The sound effects are also a bit different depending on what kind of message you've received.

    Hitting Enter with an empty message will exit from the chat without sending anything. YOu can also clear the input field by hitting Ctrl+Backspace - then hitting Enter will close the chat input.

    The chat now also displays messages about joining and leaving players.


    First of all - Bots in the previous release were completely broken and didn't move at all.

    Bots now do much more than just mash keys and swing the mouse randomly. They pick a random enemy target in a certain range, try to chase that target and shoot it down.
    You can test than on MapD. It's possible to have some real fun with these bots, get mowed down by them and see how they fight each other.

    The AI is also now using a navigation mesh to find their way towards the target.


    Map list dropdown

    Now shows map names without the .tscn file name suffix. The game geenbrally now identifies maps by the name without the suffix.

    Audio mixer

    It's now possile to change sound volume in-game. Not just master volume, but per-channel so separately music, UI sounds, in-game SFX, announcer...

    No more audio annoyances!


    The in-game console (accessible with the ~ key) has seen a lot of improvements. The output uses colors for better clarity.

    The help command has been improved, listing much more help pages for various commands.
    Try them out! There's also a hidden surprise in there...

    But more importantly...

    Prompt history

    Using the and keys you can now scroll through previuosly executed commands. Useful if you wanted to first check a value of a variable (render_fps_max) and then wanted to alter it. Before you had to type the previous command again manually, now you can just tap the up arrow and it will pop back up, you can then modify it to change the variable (render_fps_max 30). This was something I really missed (being used to Linux terminals) and it will greatly speed up using the console.

    You can also use the new history command to print the previously used commands before scrolling through them.

    Speaking of new commands...

    Focus ix

    A long standing proble mwiht the console was that if a mouse button was used with the console open or the user would Alt+Tab away, the console would get stuck - it was impossible to type anything or close it. The only thing that worked was hitting Tab. This is now fixed

    Selecting text and mouse

    The mosue cursor now gets released when the console is used this means one can easily swithc away fro mteh game window, btu also select and copy text from the console. There isn't much use for this now, but in the future it culd help with reporting issues or development.

    New commands

    • restart will quit the game and start it again - useful to deal with some known issues (see section below)
    • timescale will let you change the game speed. For example timescale 0.25 will give you 4x slow motion.
    • chars will print names of all characters currently present in the game
    • more placeholder commands that will be implemented in the future

    Renamed variables

    • render_menu_background is now menu_background
    • render_fps_limit is now render_fps_max, following Godot's API change. Set to 0 to remove the cap.

    Also a bunch of existing var names were simplified type vars in the console to see the whole list. You can ue Tab to autocomplete once there's only one option left.

    New variables

    • audio_volume_X is a group of new vars controlling the game audio levels
    • render_fps_min controls target frames per second when the game window is not in focus. Set to 0 to disable limiting framerate on loosing focus. The default is also no 5 instead of 1 FPS. The frame limit is also interpolated smoothly when leaving the game window.

    Server Disconnected Screen

    When joining a server, the game will now gracefully (as much as possible) handle the server shutting down or becoming unreachable and display an appropriate message to the user.

    Default Visual Quality

    The default visual settings have been changed to improve performance, namely:

    • All screen-space effects (SSR, SSAO, SSIL) were disabled as they are insanely expansive right now (Godot needs to optimixe them)
    • Anti-Aliaing was reduced to 2x MSAA
    • Temporal Anti-Aliasing was disabled as it produced visual artifacts, especially with the skybox.
    • Volumetric fog now uses reduced fidelity

    On the flipside - Debanding was enabled to improve sky gradient look.
    Grain effect was made much more subtle by default.

    Menu Background

    The menu Background Map have been causing many issues, becaue it was implemented very poorly. The map is now:

    • Spawned dynamically instead of always being present at start in the Game Menu
    • Not using Depth Of Field effect (it may come back later, we'll see). It was more on a accident than a deliberate design decition. I disabled that to test thinkgs and forgot to turn in back on :P
    • Because characters now cast wind when moving, you can see the particles swirling around after they pass by. It's a completely unneeded feature, but I thought it was super neat to try

    Game builds

    Build Script (Linux)

    It's now possible to fully automatically produce distributable game builds (for Linux and Windows). Among other things it will greatly help me making new releases but also deploying game servers (when possible).

    The script is in Liblast/Builds/build.sh.

    Just run it, and it'll download appropraite export templates if needed, ask you for a release name (I use versions), and then it'll prepare two ZIP files ready to release or share.

    Version string

    In the top right corner in the menu you can see a version string. This shows the exact version of the game you're running.

    In releases there's now an extra section that shows the release name that you specified in the build.sh script.


    There's a simple implementation of UPnP port forwarding. The game will attempt to talk to your router to forward Liblast ports to be able to host a local game and accept players from the internet, and not just your local network. It was not tested though.

    Known issues

    Online accounts

    After some changes in Godot's networking API between Beta 5 and 6 releases, communication with the InfraServer is broken, so making accounts and logging in is not possible in this verion of the game. The serve ris running though, so you can still do that in the previous release. Though it's not really useful for now anyway.

    Headless mode

    Unfortunately running the game in headless mode (--headless) is currently broken ( IN Godot 4 Beta 6 and above) and under investigation. If not for that, there'd be a public game server running 24/7 at unfa.xyz right now. Oh well. A dedicated server is now running at unfa.xyz using Godot 4 Beta 4 instead. See the top of this page for details

    Hosting and Joining again

    Hosting and joining games should work... but only once. After you stop your local server or leave a server, you'll need to restart the game to be able to start or join a server again.

    Character Status Banners

    With the improvements come some bugs as well:

    • The Idle status banner will appear for all remote characters no matter what
    • It will also appear in the Character Profile menu

    Character profiles

    Local character's profileunfrotunately is not properly updated, so you'll locally always see yourself as "Totally Not A Bot", but others will see your chosen display name and color.


    Typing killall will also kill the character in the Profile Menu...

    All in all

    I've probably missed a lot of smaller features and improvements.

    This is an absolutely insane release, and it's incredible that the game has made such a progress in only 2 months! I am very happy and excited for the future of Liblast.

    As usual - the project is looking for contributors, so if you like it, you can partake in making it :) Here's a public Liblast chat channel where you can meet me and other contributors: https://chat.unfa.xyz/channel/liblast


    • unfa, 2022-12-04
  • Pre-Release 0.1.2-pre-alpha e828e354a8

    Liblast 0.1.2 pre-alpha

    unfa released this 5 months ago | 622 commits to main since this release


    This is a testing release, giving a first look into the game after a near-complete rewrite and internal redesign.

    Before reporting any issues, please see if they aren't already known and note that it's not supposed to be playable yet. There's lots of issues as things are slowly starting to come together. We're getting there :)

    This is a Linux-only release using a custom Godot engine build.
    I managed to strip a lot of unused data and get the file size much smaller than before.

    Things to check out:

    • Make an online account!
    • Upload you avatar to the infrastructure server! (and realize it doesn't download back)
    • Play with settings in console: ~ key toggles it, read help that prints out
    • Try to host a local game and see why it doesn't work yet!
    • Load MapC.tscn with bots and see that you can't kill anybody yet!
    • Does the loading screen with a progress bar work?
    • How's movement? WSAD + Space + Shift
    • You can zoom the view again with Z!
    • New skybox!
    • New handgun model (made out of primitives, lol)


    • unfa 2022-10-13