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.flatpakref
If 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-sdk
For 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
ninja
To install, use ninja install
, then execute with hr.from.josipantolis.sage
ninja install
hr.from.josipantolis.sage
You may need to install elementary flatpak runtime first. You can do that with:
flatpak install --user io.elementary.Sdk//7
To install Sage use flatpak-builder
, from project root directory run:
flatpak-builder build hr.from.josipantolis.sage.yml --user --install --force-clean
then execute with:
flatpak run hr.from.josipantolis.sage
To generate translation files execute
ninja hr.from.josipantolis.sage-pot
ninja hr.from.josipantolis.sage-update-po
Copyright © 2022 Josip Antoliš, josip.antolis@protonmail.com.