Skip to content

Repository files navigation

Nono3D

About the game

Nono3D is a 3D logic puzzle game based on the japanese nonogram puzzles. Starting with a grid of boxes, you have to find out which boxes to destroy in order to reveal the object hidden inside.

If you like Sudoku or similar puzzle games where you can test your abilities in logical thinking you will love Nono3D.

The game currently includes 70+ levels, which guarantees hours of fun!

The game was developed by Dirk Wilden and Chis Scholtes as a hobby project.

Gameplay Video

Nono3D Gameplay

Installation

Download and install a suitable release from: https://github.com/d-rk/nono3d/releases

Development

Prerequisites

  • Docker and Docker Compose

Quick Build

Use the unified build script to compile for any platform:

# Build for Linux
./build.sh linux

# Build for Android
./build.sh android

# Build for Windows (cross-compiled)
./build.sh windows

# Build all platforms
./build.sh all

# Force rebuild without cache
./build.sh all --no-cache

All build artifacts are placed in the ./dist/ directory.

Platform Details

Linux (Ubuntu 24.04 LTS)

The Linux build produces a portable tarball containing the game and all resources.

./build.sh linux
# Output: dist/Nono3D_<version>_linux_amd64.tar.gz

Android

The Android build produces a signed APK. For release builds, set the signing credentials via environment variables:

export ANDROID_KEYSTORE_BASE64=$(base64 -w0 path/to/keystore.jks)
export ANDROID_KEYSTORE_PASSWORD=your_password
export ANDROID_KEY_ALIAS=your_key_alias
export ANDROID_KEY_PASSWORD=your_key_password

./build.sh android
# Output: dist/Nono3D_<version>.apk

Windows (Cross-compiled)

The Windows build uses mingw-w64 to cross-compile from Linux, producing a portable zip file.

./build.sh windows
# Output: dist/Nono3D_<version>_windows_amd64.zip

Manual Build (without Docker)

Linux Native Build

# Install dependencies (Ubuntu/Debian)
sudo apt-get install cmake g++ libgl1-mesa-dev libglew-dev \
    libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libdevil-dev libcurlpp-dev

mkdir build && cd build
cmake -DNONO_BUILD_TYPE=release ..
make -j$(nproc)

Windows Native Build

Install tools via chocolatey:

choco install mingw -y
choco install cmake.install --installargs '"ADD_CMAKE_TO_PATH=User"' -y

git clone https://github.com/Microsoft/vcpkg.git D:\vcpkg
D:\vcpkg\bootstrap-vcpkg.bat

Install dependencies via vcpkg:

vcpkg.exe install sdl2 sdl2-image sdl2-mixer curlpp --triplet=x64-mingw-dynamic --host-triplet=x64-mingw-dynamic
vcpkg.exe install devil[core,libpng] --triplet=x64-mingw-dynamic --host-triplet=x64-mingw-dynamic --head

Build:

mkdir build
cd build
cmake.exe -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-mingw-dynamic -G "MinGW Makefiles" ..
mingw32-make

Build Release

VERSION=2.0.0

# Update the version in CMakeLists.txt to match the tag
sed -i "s/project(Nono3D VERSION [0-9.]\+)/project(Nono3D VERSION $VERSION)/" CMakeLists.txt

git add CMakeLists.txt
git commit -m "Update version to $VERSION"

export ANDROID_KEYSTORE_BASE64=xxx
export ANDROID_KEYSTORE_PASSWORD=xxx
export ANDROID_KEY_ALIAS=xxx
export ANDROID_KEY_PASSWORD=xxx

./build.sh all --clean

#workarounds
mv dist/Nono3D_dev.apk dist/nono3d-$VERSION.apk
mv dist/nono3d_${VERSION}_amd64.deb dist/nono3d-${VERSION}_amd64.deb

git tag v$VERSION
git push origin main
git push --tags

gh release create v$VERSION ./dist/nono3d-*.{exe,gz,deb,rpm,apk}

About

Nono3D is a 3D logic puzzle game based on the japanese nonogram puzzles

Topics

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages