Liblast - a Libre Multiplayer FPS Game

# Liblast A Libre Multiplayer FPS Game built with Godot game engine and a fully FOSS toolchain. --- Subscribe to the [YouTube channel](https://www.youtube.com/channel/UC1Oi1eXwdr8RlqIslyht5AQ) for upcoming video updates! [**Watch the latest public playtesting session**](https://youtu.be/0R40GuIn5GA) ![Screenshot](./Screenshots/01.jpg) --- ![Screenshot](./Screenshots/02.jpg) --- ![Screenshot](./Screenshots/03.jpg) --- ![Screenshot](./Screenshots/04.jpg) --- ![Screenshot](./Screenshots/05.jpg) --- **DISCLAIMER: THE GAME IS IN EARLY STAGES OF DEVELOPMENT. DO NOT EXPECT MUCH** ## How To Play ### Download the game Go to the [releases page](https://git.gieszer.link/unfa/liblast/releases) and download the latest release of the game. You'll find some instructions and notes there as well: There's one public dedicated server running at `liblast.unfa.xyz`. To start playing Liblast it's recommended to first host a local game and adjust your mouse sensitivity and other preferences, as well as modify your profle (player name and color). Then connect to the public server (or any other that you know of) and play! ### Controls | Key | Action | |--------------|----------------| | WASD | Movement | | Mouse | Camera | | Left Click | Shoot | | Space | Jump | | Shift (Hold) | Jetpack | | T | Chat with Team | | Y | Chat with All | | Z | Zoom | | ESC | Main Menu | ## Rewrite Status The game has been mostly rewritten from scratch in Godot 4. The `legacy` branch contains the initial, Godot 3-based version of the game. This version of the game has served well as a prototype and a testbed to help us figure out what we want to do. We've also learned some important lessons on our mistakes. We wanted to take advantage of the improved performance, features and workflow of Godot 4 and since the GDScript syntax is changing significantly - we've decided we'll take this opportunity to rebuild the game from scratch and improve our design. Compared to the legacy version, most of the features are done, along with some extra things thet were either not done or not possible in Godot 3. ## Contributing and Getting in touch Check the [Contribution Guide!](./CONTRIBUTING.md) If you want to talk to the dev team and discuss the game in an instant manner, go here: https://chat.unfa.xyz/channel/liblast ## How to Edit the Game As Godot 4 haven't had a stable release yet, we're bundling the Godot editor and export templates in the game repository (in the `Godot` folder). If you'll try using latest Godot nightly builds, things may not work. Updating the whole game to the newest Godot version is doen periodically by the core team. If you think it's time to update - file an Issue and justify your iquiry. If you just send a pull request that breaks compatibility with the currently used Godot version, it'll most likely be rejected. ### GNU/Linux 1. Make sure you have `git`, `git-lfs` and `unzip` installed. 2. Clone the Git repository: ``` git clone https://git.gieszer.link/unfa/liblast.git ``` 3. Enter the cloned repository: ``` cd liblast ``` 4. Initialize Git-LFS: ``` git lfs install ``` 5. Pull the Git-LFS stored files (that includes the bundled Godot editor): ``` git lfs pull git fetch ``` 6. Extract the Godot editor binary: ``` cd Godot unzip godot-linux-nightly-x86_64.zip ``` 7. Run the Godot editor and import the project located in `../Game/project.godot` ``` ./godot ``` ### Windows (untested!) 1. Install Git for Windows: https://gitforwindows.org/ 2. Clone the Git repository: ``` git clone https://git.gieszer.link/unfa/liblast.git ``` 3. Open GitBash in the cloned repository (ther should be an option in the context menu in Windows Explorer) 4. Initialize Git-LFS: ``` git lfs install ``` 5. Pull the Git-LFS stored files (that includes the bundled Godot editor): ``` git lfs pull git fetch ``` 6. Extract the Godot editor binary located in `Godot` folder. The file is named `godot-windows-nightly-x86_64.zip`. You can probaly use Windows Explorer to do this. 7. Run the Godot editor and import the project located in `../Game/project.godot` ## What does the name of this project mean? `Libre` + `Blast` = `Liblast` No, it's not a library ;)