Lifish is a work-in-progress arcade old-style game inspired by Factor Software's BOOM.
The Lifish engine was used to create BOOM Remake, a faithful remake of the original BOOM game.
Lifish comes with a (Work In Progress) level editor, currently working only on Linux and MacOS: LifishEdit. This also works for the BOOM Remake mod.
Main game planned release
Once the main work is done, Lifish will be released for the current platforms:
- Windows 64 bit (probably >= Vista)
- Linux (somewhat recent versions of
libstdc++are needed; to be precise, your distro must support
- OS X
- Probably FreeBSD
See later for instructions on how to build the game from the sources.
Linux, OS X, BSD, etc
The game can be compiled on *nix (tested on Linux, OSX and FreeBSD) via
cmake . && make
(you need to have SFML >=2.4 installed).
On Windows you can either use VS2015 (or later), or a Unix-like environment like MinGW-w64 (I use the TDM-GCC compiler).
If you use the latter, you can follow the steps on
this guide until the MinGW-w64
chapter (included -- you can skip the First steps section, as all the listed dependencies like Python etc
aren't required). Remember to
cmake -G "MSYS Makefiles" ., otherwise cmake will probably
generate a VS makefile.
The game can be compiled in multithreaded mode (separate logic and rendering), but at the moment it's not really a good idea to do so, as:
- the framerate probably won't improve (and it needs not, should be already smooth 120fps)
- odd behaviours and occasional crashes may occur.
Command line parameters
If launched from the command line,
lifish accepts a bunch of parameters (see
lifish -h for details).
It also accepts an optional argument which is the path of the level JSON to use (default:
Note about assets
The graphics and sounds you'll find in
assets are placeholder. No graphic asset is even close to being final, and the final
assets won't be uploaded on this repo, as they'll be available for purchase in the official release.
Copyright (c) Giacomo Parolini, 2018
See the LICENSE file for licensing information.
Coded with vim.