• Pre-Release 0.1.3_pre-alpha ac9d1bf542

    Liblast 0.1.3 pre-alpha

    unfa released this 2 days ago | 2 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 and under investigation. If not for that, there'd be a public game server running 24/7 at unfa.xyz right now. Oh well.

    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 2 months ago | 231 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
  • Pre-Release 93565b8c7f


    unfa released this 8 months ago | 0 commits to sprint-1 since this release

  • Pre-Release ae4e0ac86c


    unfa released this 9 months ago | 666 commits to main since this release

    DOWNLOAD (601 MB, Linux + Windows)

    A hotfix release to fix a few issues that were omitted in This only afects the game clients, not the servers.

    • Fixed chat history being invisible (widget had 0x0 size due to updated Godot UI logic)
    • Fixed default server address (now it's unfa.xyz - the new 24/7 public server)
    • Fixed default render_scale (it was at 25%, now it's at 100%)
    • Fixed menu width making it difficult to type in some fields (due to updated Godot UI logic)
    • Changed the server address label from "ip" to "server"
    • Deleted some unnecessary assets from the build
    • Fixed some script errors caused by renaming player_list.set()/get() to set_item()/get_item()
    • Fixed a script error with erronous reference to GUI scene that was renamed to MenuRoot some time ago
  • Pre-Release 9091170f72

    unfa released this 9 months ago | 669 commits to main since this release

    DOWNLOAD (640 MB, Linux + Windows)

    A public server is currently active under the addess unfa.xyz. Input it into the the ip field to join this server.

    • Implemented basic splash damage for the rocket laucher
    • Added tools for automated updating Godot editor used for the project development
    • Documentation was ported to AsciiDoc format, proving much more flexible formatting
    • Removed all OpenSimplexNoise textures to avoid crashes that they cause
    • Other changes made to avoid Godot 4 bugs
  • Pre-Release b46d2b6c36

    unfa released this 9 months ago | 731 commits to main since this release

    DOWNLOAD (550 MB, Linux + Windows)

    1. Overhaul of the level to fix collision issues due to holes in the geometry and other issues. The new version is called DM1-2.
    2. Occlusion culling now actually works as the level is broken in to pieces and occluders are generated on import
    3. Fixed players tripping over shell casing
    4. Fixed players gaining points for comiting suicide
    5. Shell casing now uses LOD models to reduce GPU load (though fade-out is broken for now)
    6. Added command to disable pistol shell casing using render_casing console variable.
    7. Fixed text fields not saving values unless user pressed ENTER - now the text fields apply values when the item leaves focus or when ENTER is pressed.

    Video update:

  • Pre-Release 24226b0f7e

    unfa released this 11 months ago | 759 commits to main since this release

    Rushed for a team meeting / playteting session.
    <I'll fill this in later>

  • Pre-Release 3ae8b02311


    unfa released this 11 months ago | 794 commits to main since this release

    Notable changes:

    • a lot of performance improvements
    • a lot smaller download (<100 MB)

    Separate downloads for Linux and Windows.

    You'll need 7-zip to extract them though.

  • Pre-Release 3e5b39d92c

    unfa released this 11 months ago | 819 commits to main since this release


    1. Download the file above and extract it.
    2. Run the binary based on your operating system (Liblast Linux or Liblast Windows).
    3. Set your user profile (name and color)
    4. Join the public server at unfa.xyz
    5. Have fun!

    Notable changes:

    1. Improved look of the test level (4K textures, reflection probles, nice lighting etc.)
    2. New weapon: rocket launcher! So far only scores direct hits.
    3. Weapon switching. Use keys 1 and 2 to select weapons.
    4. Improved score table, showing player colors, pings and packet loss
    5. Players can no longer be killed multiple times
    6. Falling out will kill you
    7. You can commit suicuide when you're stuck (option is in the menu - acces with Esc while in game)
  • Pre-Release 373214dbd5

    unfa released this 1 year ago | 0 commits to DM1_temp_test since this release

    [DOWNLOAD HERE] (no loner available - go get the newest release instead!)

    1. Download the file above and unzip it.
    2. Run the binary based on your operating system (Liblast Linux or Liblast Windows).
    3. Set your user profile (name and color)
    4. Join the public server at liblast.unfa.xyz
    5. Have fun!

    This is a very temporary state of the game with a botched implementation of the new version of the DM1 level.

    Notable changes:

    1. Much better performance
    2. A lot more room to play for more players