🐰 This project is created and maintained in loving memory of Sparky, aka Chispitas, aka Chispis, in the hope he will become immortal and, eventually, one with the Force. 🐰
To the moon and back, forever ❤
Defy the limits: Blend your style and experience on a global, competitive stage. You have 13 rounds to attack and defend your side using sharp gunplay and tactical abilities. And, with one life per-round, you’ll need to think faster than your opponent if you want to survive.
Creativity is your greatest weapon: More than guns and bullets, you’ll choose a character armed with adaptive, swift, and lethal abilities that create opportunities to let your gunplay shine. No two characters play alike, just as no two highlight reels will look the same.
Fight around the world: Each map is a playground to showcase your creative thinking. Purpose-built for team strategies, spectacular plays, and clutch moments. Make the play others will imitate for years to come.
Sparky is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Sparky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Sparky. If not, see https://www.gnu.org/licenses/.
For information about the detailed project’s roadmap, including delivered milestones, see the Sparky’s Roadmap on GitHub.
The documentation of Sparky includes:
- Main documentation (Coming soon!)
- Reference manual (Coming soon!)
- GDD (Game Design Document) (Coming soon!)
- API documentation (Coming soon!)
$ ./sparky -h Usage: ./sparky [OPTION] GNU Sparky --- A 5v5 character-based libre tactical shooter If no option is provided, the client will start in offline mode. Options: -g, --gui start the graphical launcher -i, --ip <IP> start the client and connect to the server at <IP> -s, --server start the server -h, --help display this help and exit -v, --version output version information and exit Report bugs to: <https://github.com/sparky-game/sparky/issues> GNU Sparky home page: <https://sparky-game.org> General help using GNU software: <https://www.gnu.org/gethelp/>
(…)
In order to build Sparky from source, preparation is needed so as to the environment is properly setup and ready.
First, download the codebase of the project. It’s important to do so via the OFFICIAL Git repository hosted on GitHub, and not through any tarball or compressed archive to ensure no tampering is done with the code. Appart from that, any ref can be checked out, being master
(the trunk of all dev progress), a tagged commit (e.g. v1.0
), an actively maintained version branch (e.g. v1.0.y/stable
) or a LTS version branch (e.g. v1.0.y/lts
) the preferred ones.
To clone the official repo as well as all its submodules, issue the following command:
git clone --recurse-submodules https://github.com/sparky-game/sparky
These are the packages needed to be able to build Sparky from source, they are divided by distribution/package manager. Also, a command for each one is added to make the installation of these development dependencies as easy and straightforward as possible.
make
gcc
/clang
rustc
+cargo
jq
libX11
libXcursor
libXrandr
libXinerama
libXi
xargs sudo apt install -y < Aptfile
sudo dnf install -y make gcc cargo jq libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel libXi-devel
sudo pacman -S make gcc rust jq libx11 libxcursor libxrandr libxinerama libxi
sudo emerge -va make gcc rust-bin jq libX11 libXcursor libXrandr libXinerama libXi
sudo pkg install gmake rust jq libX11 libXcursor libXrandr libXinerama libXi
sudo pkg_add gmake rust jq
brew bundle install --file=Brewfile
$ make help Targets ======= all :: Build all targets marked with [*] * checkdeps :: Check dependencies for build process menuconfig :: Edit build options with ncurses menu * game :: Build the bare game check :: Build and run the test engine editor :: Build the editor clean :: Remove the 'build' directory mrproper :: Remove and cleans everything version :: Show the current version string help :: Show this help and usage panel Execute 'make' or 'make all' to build all targets marked with [*] For further info see the ./README.org file
First, ensure the source tree is absolutely clean. From Sparky we recommend this command to be issued prior to each compilation; do not rely on the source tree being clean after cloning the repository or after un-tarring:
make mrproper
There are several ways to configure the build process for it to suit your needs. The most user-friendly way to do so is through a menu-driven interface:
make menuconfig
To build the game, issue the following command:
make
Next, run the test suite:
make check