Skip to content
A game inspired by Factor Software's "BOOM"
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets land on error screen when level set is invalid Jan 20, 2019
cmake hierarchy update Aug 17, 2016
osx added temporary OSX icon Sep 15, 2015
src add selective layer drawing for debug Jun 18, 2019
tests update Mar 10, 2017
.clang-format fix invalid pointer handling in hauntingspiritboss Jun 12, 2018
.gitignore add preference persistence May 3, 2019 add help debug cmd Jan 8, 2018
BOOMLevels.json changed some texture + added BOOM original levels Jun 29, 2015
CMakeLists.txt forward declare ShadedText May 27, 2018
Doxyfile add HauntedStatue to entity types Dec 15, 2016
LICENSE Replace GNU GPL with Lifish license Jul 30, 2017 update README Dec 29, 2018
boomtolifish.rb fixed bossbullets not having infinite range Sep 20, 2015 work on EntityGroup; more stuff compiles Apr 29, 2016
compiler_flags add visual effect for haunted statue Dec 31, 2016 add missing disambiguation Jul 15, 2017
create_class.rb add accelerating rocket Feb 1, 2018 minor tweaks Nov 12, 2017 document gen_viable Nov 21, 2017 many tweaks; LevelManager+Players logic not working Jun 21, 2016 create for compiling on Windows May 14, 2016
levels.json minor fixes Mar 26, 2018
lf_levels.json don't check boss collisions when they die Sep 1, 2018
lvtest.json add shield to enemies, nerf incendiary bombs May 20, 2018 land on error screen when level set is invalid Jan 20, 2019 add missing sfml-audio to makeapp_osx Dec 1, 2018
prettyplz.awk prettify prettyplz comments Jun 30, 2016 remove useless includes Sep 26, 2017

Coverity Scan Build Status


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 libc and libstdc++ are needed; to be precise, your distro must support GLIBC_2.17 and GLIBCXX_3.4.20.)
  • 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.

Multithreaded mode

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: lifish.json).

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.

You can’t perform that action at this time.