{"id":24991393,"url":"https://github.com/joyrider3774/znax","last_synced_at":"2026-02-26T18:04:58.278Z","repository":{"id":42205030,"uuid":"240313407","full_name":"joyrider3774/Znax","owner":"joyrider3774","description":"Znax is a cross platform puzzle / arcade game using SDL2 libraries","archived":false,"fork":false,"pushed_at":"2025-03-12T21:40:40.000Z","size":3413,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T13:14:38.745Z","etag":null,"topics":["cross-platform","game","puzzle-game","raspberry-pi","sdl2","touchscreen"],"latest_commit_sha":null,"homepage":"https://joyrider3774.github.io/Znax/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joyrider3774.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"joyrider3774"}},"created_at":"2020-02-13T16:57:09.000Z","updated_at":"2025-03-26T21:18:15.000Z","dependencies_parsed_at":"2023-12-15T13:41:27.869Z","dependency_job_id":"8e8a9c9e-abb8-47f4-bb43-9f9989e5dcc5","html_url":"https://github.com/joyrider3774/Znax","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/joyrider3774/Znax","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrider3774%2FZnax","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrider3774%2FZnax/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrider3774%2FZnax/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrider3774%2FZnax/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joyrider3774","download_url":"https://codeload.github.com/joyrider3774/Znax/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrider3774%2FZnax/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263339939,"owners_count":23451518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","game","puzzle-game","raspberry-pi","sdl2","touchscreen"],"created_at":"2025-02-04T13:48:44.179Z","updated_at":"2026-02-26T18:04:58.215Z","avatar_url":"https://github.com/joyrider3774.png","language":"C++","funding_links":["https://ko-fi.com/joyrider3774","https://ko-fi.com/Q5Q3BKI5S'"],"categories":[],"sub_categories":[],"readme":"# Znax\n![DownloadCountTotal](https://img.shields.io/github/downloads/joyrider3774/Znax/total?label=total%20downloads\u0026style=plastic) ![DownloadCountLatest](https://img.shields.io/github/downloads/joyrider3774/Znax/latest/total?style=plastic) ![LatestVersion](https://img.shields.io/github/v/tag/joyrider3774/Znax?label=Latest%20version\u0026style=plastic) ![License](https://img.shields.io/github/license/joyrider3774/Znax?style=plastic)\n\nZnax is a cross platform puzzle / arcade game using SDL2 libraries.\nIt has skin support and can be played using a keyboard, mouse or touchscreen\n\n![Znax screenshot2](/images/znaxscreenshot2.png) ![Znax screenshot1](/images/znaxscreenshot1.png) ![Znax screenshot3](/images/znaxscreenshot3.png) ![Znax screenshot4](/images/znaxscreenshot4.png) ![Znax screenshot5](/images/znaxscreenshot5.png)\n\n[Latest Release](https://github.com/joyrider3774/Znax/releases/latest)\n\n## Buy me a \"koffie\" if you feel like supporting \nI do everything in my spare time for free, if you feel something aided you and you want to support me, you can always buy me a \"koffie\" as we say in dutch, no obligations whatsoever...\n\n\u003ca href='https://ko-fi.com/Q5Q3BKI5S' target='_blank'\u003e\u003cimg height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi2.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /\u003e\u003c/a\u003e\n\n## What is Znax\n\nZnax is a remake of a game by Nick Kouvaris.\nIt is a sort of puzzle / arcade game where you as the player need to select 4 blocks of the same color and form rectangles as big as you can. By doing this you will erase all blocks in this rectangle and they will be replaced by new blocks. You keep on doing this till the time runs out, and try to gain your highest score possible. There are two game modes, Relative timer and fixed Timer, in the first mode you'll also gain extra time for deleting blocks so you can play longer if you are fast enough. With the second mode you don't get extra time for deleting blocks but just points added to your score so here you try to get the highest amount of points in the given time \nperiod. \n\n## How To Play \nThe game is fully playable using the mouse, keyboard and touchscreen (if you don't resize the window): \n\n### General\n\narrow keys: \nMove in menu's, Move the cursor around while playing. \n\nenter / mouse button / finger touch: \nSelect a menu option, Select one block. \n\nKey L: \nLoad the following skin. \n\nKey F:\nSwitch between fullscreen and windowed mode\n\nEscape: \nQuit to menu, Quit game \n\nKey pageup: \nDecrease Volume \n\nKey pagedown: \nIncrease Volume \n\n### Entering a highscore name \ncan only be done using keyboard\n\narrow up \u0026 down: \nCycle through the letters. \n\narrow Right: \nMove to the following letter. \n\narrow left: \nMove to the previous lettter. \n\nTo erase a letter you have to choose the whitespace. \n\n## Skins\nZnax supports skins, they are replacement graphics. At any point in the game (except intro scenes) you can press `L` on the keyboard to switch skins. Last skin used will be remembererd and used upon next play. If you want to create your own skins simply copy the files from the `graphics` directory to a new directory under the `skins` directory. You don't need to change all skin graphics, if some files are not provided your skin directory, the game will simply load the default graphcis. \n\n## Building\nZnax can be build on linux, i tried on raspberry pi and linux for windows subsystem using a debian distro. It can also be build from mingw32,\na specific makefile for this is included.\n\n### Dependencies\nZnax uses SDL2 libaries, it needs libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-gfx-dev and your system would need to\nbe setup to compile programs.\n\nyou would generally get these by doing the following on a linux system\n\n```\nsudo apt-get update\nsudo apt-get install build-essential libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-gfx-dev libx11-dev\n```\non a windows system you would need to have mingw32 installed along with msys and download the developper versions of the libaries yourselve and place them in the correct directories of mingw32 / msys. (links for the libs are in the credits below)\n\n### Making the binary\nonce you have the source of the game and you have installed the required dependencies you start to build the program. \na makefile is included.\n\nyou would execute the following command in the main source directory\n```\nmake \n```\n\non windows you would need to specify the extra makefile included to build on (old) msys / mingw32\n```\nmake -f Makefile.win32mingw\n```\n\nor if you use recent msys2 - mingw32 development environment (it works for both i686 / x86_64 setups)\n\n```\nmake\n```\n\n## Installing\nonce the binary has been build you can install the game. I have provided a desktop shortcut and the game will install it. I have only tried this part on raspbian buster, but by default the game would install all files to `/usr/games/znax`.\n\nto install you would execute the following command after the binary has been build\n```\nsudo make install\n```\n\nif all went well, a new desktop shortcut in the games menu for znax should be visible at least on the raspberry pi, i have no idea about other systems.\nif no desktop icon is visible you can still run the game by starting a terminal window and executing the following command after the install has finished correctly\n\n```\n/usr/games/znax/znax\n```\n\n\nif you don't want to install the game but still play it you can just launch the game from build directory after building it\n\n```\n./znax\n```\n\nor on windows\n\n```\nznax.exe\n```\n\n### Uninstall\nTo uninstall the game once it has been installed (on linux) simply type the following below. It will remove the game directory and desktop shortcut\n\n```\nsudo make uninstall\n```\n\n### (Mac Os) Homebrew install file\nI don't know how to provide mac binaries but i did create a HomeBrew formula file which you can use to install znax on a mac (or linux)\n\nif you have not installed [Homebrew](https://brew.sh/) yet first install it using this command\n\n```\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\nthen download the [znax.rb](znax.rb) formula file and run the following in a console in the directory where znax.rb is located\n\n```\nbrew install --formula --build-from-source ./znax.rb\n```\n\nthis should build and install znax ready to be used. To run it just type `znax` from anywhere you like\n\n```\nznax\n```\n\nto uninstall the brew package run\n\n```\nbrew uninstall znax\n```\n\n## Command line options\n\nUsage: Znax \\[Options\\]\n\nPossible options are:\n  * -?: show this help message\n  * -l: enable linear filtering (only works when hardware renderer is used)\n  * -s: Use Software Renderer\n  * -f: Show FPS\n  * -d: Disable VSync (use this in combination with software rendering if it fails without it)\n  * -r: Run fullscreen at startup (by default starts up as a sizeable window)\n\n## Official Raspberry pi touchscreen\nWhen using the official raspberry pi touch screen, you'll notice if the game runs in windowed mode not everything is visible. You have to either press the F key to goto fullscreen mode or you must start up the game running full screen using the `-r` commandline parameter.\n\n## Older Raspberry pi's (PI2 for example)\nThe game seems to start with hardware rendering by default, but on my rapsberry pi 2 this was very sluggish and slow. This can be fixed by running the game in software mode using `-s` command line parameter. If the game fails to start using that parameter also provide the `-d` to disable vsync. I noticed SDL had problems creating the renderer sometimes on these machines in software mode when vsync was enabled\n\n## Credits\nOriginal (flash) Game Created by Nick Kouvaris \nhttp://lightforce.freestuff.gr\n\nOriginal Gp2x Game and SDL2 version Created by Willems Davy\nWillems Soft 2020\n[https//www.willemssoft.be](Https://www.willemssoft.be)\n\nMusic is made by Donskeeto! \nThanks man\n\nGame graphics created in paint shop pro 7\n\nGame audio are some parts recorded by myselve and modified with goldwave studio,\nsome parts are made using [SFXR](http://www.drpetter.se/project_sfxr.html) \n\nGame uses\n  * SDL2: \n   [https://www.libsdl.org](https://www.libsdl.org)\n  * SDL2_image:\n   [https://www.libsdl.org/projects/SDL_image](https://www.libsdl.org/projects/SDL_image)\n  * SDL2_mixer:\n   [https://www.libsdl.org/projects/SDL_mixer](https://www.libsdl.org/projects/SDL_mixer)\n  * SDL2_ttf:\n   [https://www.libsdl.org/projects/SDL_ttf](https://www.libsdl.org/projects/SDL_ttf)\n  * SDL2_gfx:\n   [https://sourceforge.net/projects/sdl2gfx](https://sourceforge.net/projects/sdl2gfx)\n  * Roboto font family by google:\n   [https://fonts.google.com](https://fonts.google.com)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyrider3774%2Fznax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoyrider3774%2Fznax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyrider3774%2Fznax/lists"}