A code breaking game made for elementary OS.
![]() |
![]() |
|---|---|
| Classic game with color blind mode enabled, showcasing the default style | Advanced game with an active help tour, showcasing the dark style |
sage
noun: one (such as a profound philosopher) distinguished for wisdom
I guess you need to be a sage in order to master this game. Or you'll turn into a sage by mere act of playing the game? Either way, you are the sage in the end.
- Inspiration for this game came form @colinkiama's Challenge #2: Tabletop over at r/vala subreddit. Kudos to Colin for energizing the Vala community over on Reddit, it makes app development in the ecosystem exciting!
- Next, I was heavily influenced by @igordsm's recent blog posts on reactive programming in Vala. Kudos to Igor for thinking through and eloquently elaborating on this design pattern!
- Lastly, elementary app development wouldn't be possible without the elementary team. So kudos to Danielle and Cassidy for running the show and the entire team for making elementary OS such a nice platform to develop for!
Sage is packaged with Flatpak and published on elementary OS AppCenter. If you are running some other Linux distribution you can download the flatpakref file from elementary repo and install it either using a graphical package manager, or from terminal with:
flatpak install --from ./hr.from.josipantolis.sage.flatpakrefIf you want to you can build Sage locally, from source. You can find detailed instructions for setting up local environment in elementary developer docs.
You can meet all dependencies by installing elementary SDK:
sudo apt install elementary-sdkFor a full list of dependencies check out the meson.build file.
Run meson build to configure build environment. Change into the build directory and run ninja to build
meson build --prefix=/usr
cd build
ninjaTo install, use ninja install, then execute with hr.from.josipantolis.sage
ninja install
hr.from.josipantolis.sageYou may need to install elementary flatpak runtime first. You can do that with:
flatpak install --user io.elementary.Sdk//7To install Sage use flatpak-builder, from project root directory run:
flatpak-builder build hr.from.josipantolis.sage.yml --user --install --force-cleanthen execute with:
flatpak run hr.from.josipantolis.sageTo generate translation files execute
ninja hr.from.josipantolis.sage-pot
ninja hr.from.josipantolis.sage-update-poCopyright © 2022 Josip Antoliš, josip.antolis@protonmail.com.

