Skip to content

Lallassu/snejk

Repository files navigation

Qake The Snake

Qake The Snake is a fast top-down action game where a growing worm tears through a generated city, hunts pedestrians, and triggers extreme bonus effects. The game supports both desktop and Android.

Website: https://www.qake.se

Qake The Snake preview

Project Structure

  • cmd/snake/: platform entrypoints (desktop + Android).
  • internal/game/: core game logic and systems.
  • internal/game/main.go: desktop game loop orchestration.
  • internal/game/main_android.go: Android app loop and touch input path.
  • internal/game/snake.go: player logic, movement, combat, and bonus abilities.
  • internal/game/bonus.go: bonus definitions, spawning, and activation behavior.
  • internal/game/world.go, internal/game/worldgen.go, internal/game/chunk.go: world and generation.
  • internal/game/pedestrians.go, internal/game/traffic.go, internal/game/cops.go, internal/game/military.go: NPC systems.
  • internal/game/destruction.go, internal/game/particle*.go: destruction and particles.
  • internal/game/renderer.go, internal/game/render_*.go, internal/game/shaders.go: rendering paths.
  • internal/game/ui.go, internal/game/gamestate.go, internal/game/levels.go: HUD and progression.
  • website/: marketing/download site, screenshots, and static web assets.
  • .github/workflows/release-tag.yml: tag-triggered release build + website link PR automation.

Build Locally

Requirements:

  • Go (version from go.mod)

Run:

go test ./...
go run ./cmd/snake

Android Build

Requirements:

  • USB debugging enabled on your Android phone (for install/launch via USB)

Quick start:

make android-setup
make android-apk-game

Game APK output:

build/qake-snake-android-game.apk

Install and launch on a connected phone:

make android-load-usb

Useful Android targets:

  • make android-apk-game: build the Android game APK (gomobile path).
  • make android-load-usb: build + install + launch on USB device.
  • make android-install-game: install already-built APK.
  • make android-launch-game: launch installed package.
  • make android-device-check: verify adb + connected device.
  • make android-apk-loader: build Java bootstrap loader APK (dev/fallback path).

Release Automation

Tag pushes on the default branch trigger GitHub Actions to:

  1. Build static binaries for Linux, Windows, and macOS (amd64 + arm64 package).
  2. Build the Android APK.
  3. Publish assets to the GitHub release for that tag and mark it as latest.

Website download buttons use stable latest-release URLs, so no website link updates are needed:

  • https://github.com/Lallassu/snejk/releases/latest/download/qake-the-snake-windows-amd64.zip
  • https://github.com/Lallassu/snejk/releases/latest/download/qake-the-snake-linux-amd64.tar.gz
  • https://github.com/Lallassu/snejk/releases/latest/download/qake-the-snake-macos-universal.tar.gz
  • https://github.com/Lallassu/snejk/releases/latest/download/qake-the-snake-android.apk

Generated Project

This repository is a generated project.

For non-generated reference work and long-developed source projects with pixel destruction, see:

Screenshots

Qake screenshot 1 Qake screenshot 2 Qake screenshot 3 Qake screenshot 4 Qake screenshot 5 Qake screenshot 6 Qake screenshot 7 Qake screenshot 8 Qake screenshot 9 Qake screenshot 10 Qake screenshot 11 Qake screenshot 12 Qake screenshot 13 Qake screenshot 14 Qake screenshot 15

About

Snake game in 2D pixel destruction environment

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors