Now in Active Development

Pixiog Explore

Turn every ride into an adventure.

A completely free, privacy-first Android game that turns cycling into an addictive exploration experience. Clear the Fog of War, log roads, earn XP, level up, and unlock collections as you pedal through your city. Pedal-powered bikes only no motorized vehicles, no cheating.

LV
12
Territory Cleared 14.6%

Badge Unlocked!

"Pioneer of Green Park" (+250 XP)

XP PROGRESS 1,450 / 2,000 XP

Tracking State

Active Cycling Mode

Unlock Your World

Pixiog Explore merges physical maps with game systems to make real-life cycling exploration addictive.

Fog of War

Your global map is covered in dark hexagonal tiles. When you ride through streets, parks, or paths, the fog clears in real time, revealing your explored routes forever.

Interactive coverage maps

XP & Leveling System

Every meter of new territory explored on your bike awards Experience Points. Level up to unlock higher difficulty challenges and exploration titles.

Real-time leveling system

Badges & Achievements

Earn trophies for cycling feats. Earn titles like "Night Owl" for late rides, "Century Rider" for covering 100km, or "Trail Blazer" for discovering hidden paths.

30 unlockable badges at launch

Special Collections

Treat real-life landmarks as collectible assets. Fill your binder by riding to all parks, bridges, monuments, and forests in your region.

Region-based collection binder

100% Offline Mode

No cellular connection? No problem. Pixiog caches map tiles locally. Cycling data is saved in a local database and synced when you reconnect.

Offline tile caching system

Anti-Cheat System

Pixiog monitors speed and movement patterns to ensure fair play. Only pedal-powered cycling counts. Motorized vehicles, e-bikes, and walking are detected and flagged.

Fair play enforcement

Core Mechanics

Discover how the game translates real-world cycling into RPG mechanics.

🚲

1. Start Your Adventure

Open the app and tap the Explore tab to get tracking.

  • Open the app and tap the Explore tab.
  • Grant location permissions (make sure "Always Allow" is set for background tracking).
  • Hop on your bike and start moving!
  • Note: The engine only tracks movement between 4 km/h and 25 km/h to ensure a fair cycling-focused experience.
🌫️

2. Clear the Fog

As you cycle, your location "reveals" the map tiles around you.

  • As you move, your location "reveals" the map.
  • Every new area you visit clears the visual "Fog of War."
  • Clear as much area as possible to reveal hidden roads and trails.
🏆

3. Earn Badges & Level Up

Reach milestones, complete achievements, and level up your explorer.

  • Check the Profile tab to see your badge collection.
  • Unlock badges by:
    • Reaching level milestones.
    • Discovering hundreds of roads.
    • Completing long-distance "Marathon" rides.
    • Exploring at night ("Night Owl").
  • Every kilometer traveled and every new discovery earns you XP. Reach level 99 to become a World Cartographer.
📊

4. Track Your Progress

Review stats, historic rides, and global leaderboard rankings.

  • Visit the Stats tab to see your lifetime totals.
  • Review your Ride History to see pace, distance, and exactly how much new map area you revealed in each session.
  • Enable Leaderboard in Settings to compete with other explorers worldwide.
⚙️

5. Pro Tips

Customize units, battery saver options, and resolve permissions.

  • Imperial Units: Switch between Metric (km) and Imperial (miles) in Settings at any time.
  • Battery Saver: The app uses an "Adaptive Interval" to save battery when you're moving slowly or stopped.
  • Permissions: If your notifications are muted, check the Dashboard for the "Needs Permissions" card to fix it.

Explorer Panel

Your Cycling Statistics Visualized

Active Level: 154,200 / 5,000 XP
🚴

Century Rider

Cycle 100km total distance

🌲

Forest Ranger

Clear 10 distinct park areas

🦉

Night Owl III

Ride 50km past 10 PM

🗺️

Pathfinder

Clear 100 total road sectors

App Simulator

Interact with our live, simulated screens to see the Pixiog Explore interface in action.

Pixiog GPS
DEV v0.4
Speed18.2 km/h
New Meters+1,240m
Total Dist12.4 km
Unlocked Badges8 / 30
🚴
Century Rider

Cycle 100km total

🏕️
Wilderness

Visit 5 nature preserves

🌧️
Storm Rider

Ride in active rainfall

🏔️
Peak Explorer

Reach elevation > 500m

Regional Collections2 / 5 Complete
City Bridges3 / 3 Complete

Unlock: +500 XP, "Bridgekeeper" Title

Historic Landmarks2 / 5 Visited

Find memorial plaques and old squares

Lakes & Reservoirs0 / 4 Visited

Ride along shorelines and riverbanks

Offline Caches
Downloaded Tiles1.2 GB

Offline map rendering for Metro Area active

Queued Coordinates0 Pending

All offline points synced. Local SQLite DB is clean.

Database completely synchronized
Pixiog OS

Documentation & Roadmap

Technical architecture, privacy policies, data permissions, and development roadmap.

Technical Stack Explorer

A comprehensive, interactive showcase of all components, architectures, and mathematical algorithms powering the Pixiog Explore game.

🟣

Kotlin (100%)

Language

Pure Kotlin codebase leveraging high-performance coroutines, flows, and type safety for a robust mobile application.

🎨

Jetpack Compose

UI Framework

Modern declarative UI toolkit. Ensures fluid layouts, hardware-accelerated animations, and instant reactivity.

🗺️

Compose Navigation

App Routing

Type-safe single-activity navigation graph coordinating transitions between Map, Profile, Stats, and Leaderboards.

🏗️

MVVM & Clean Architecture

Architecture

Separation of concerns using Domain Use Cases, Repository interfaces, and state-holding viewmodels with Flow states.

💉

Hilt (Dagger)

DI Engine

Compile-time dependency injection ensuring decoupled managers, network clients, database DAOs, and providers.

🗄️

Room SQLite

Database

SQLite abstraction layer with Flow support. Persists tracking logs, offline coordinates, state flags, and achievements.

🗺️

OSMDroid (OpenStreetMap)

Maps Engine

High-performance rendering engine displaying cached OpenStreetMap vectors and bitmap tiles without an active network connection.

🖼️

Coil

Image Loading

Async image loading library optimized for Kotlin Coroutines. Renders user avatars and unlockable vector achievements.

📡

FusedLocationProvider

Location API

Google Play Services API for battery-efficient background location telemetry and adaptive polling intervals.

🔗

OkHttp 4 & Serialization

Networking

OkHttp connection pooling combined with type-safe Kotlinx Serialization for fast, efficient RESTful leaderboard API syncs.

⚙️

Jetpack Lifecycle

Process Lifecycle

Manages background tracking services, telemetry schedules, and coroutine execution bindings matching the app lifecycle.

🔌

RESTful API

Communication

Fast API endpoints secured with API Key authentication headers to validate submissions and sync leaderboard profiles.

📦

Icons8 Badge assets

Media Hosting

Remotely hosted, lightweight vector assets and badge icons retrieved asynchronously to keep the installation package compact.

🔄

Leaderboard Sync Manager

Data Sync

Custom syncing managers coordinating background uploads, profile modifications, and offline telemetry caching.

📐

Haversine Telemetry

Algorithm

High-precision spherical distance estimation. Uses double-precision atan2 formulas over coordinates to estimate covered terrain.

Haversine Distance (Kotlin)
fun calculateDistance(lat1: Double, lon1: Double, lat2: Double, lon2: Double): Double { val dLat = Math.toRadians(lat2 - lat1) val dLon = Math.toRadians(lon2 - lon1) val a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLon / 2) * Math.sin(dLon / 2) val c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)) return EARTH_RADIUS_METERS * c // ~6,371,000m }
🛡️

Biking Anti-Cheat

Algorithm

Filters motorized or walking movement. Enforces a strict speed boundary (4 km/h to 25 km/h) and acceleration analysis.

Anti-Cheat Checks
// Enforced speeds: 4.0 km/h - 25.0 km/h fun isLegitimatePedaling( meters: Double, seconds: Long, acceleration: Double ): Boolean { val kmh = (meters / seconds) * 3.6 if (kmh < 4.0 || kmh > 25.0) return false // Max human cyclist acceleration (Filter motors) if (acceleration > 3.2) return false return true }
🌫️

Fog of War overlay

Algorithm

Custom Canvas-based drawing loop. Employs pre-allocated arrays and integer clipping to render hexagons with zero memory allocation.

Canvas Render Loop
override fun onDraw(canvas: Canvas) { // Zero allocations in draw pass to maintain 60 FPS var idx = 0 while (idx < visibleNodesCount) { val node = visibleNodes[idx] if (!node.isExplored) { drawPath.reset() drawHexagon(node.screenX, node.screenY, drawPath) canvas.drawPath(drawPath, fogPaint) } idx++ } }
📈

Progressive XP scaling

Algorithm

Quadratic XP leveling curve. Every level requires progressively more exploration points, with milestones up to level 99.

XP Scaling Formula
// Quadratic difficulty scaling fun xpForNextLevel(currentLevel: Int): Int { val base = 230 val step = 45 val factor = 1.8 return base + (currentLevel - 1) * step + Math.round(Math.pow((currentLevel - 1).toDouble(), 2.0) * factor).toInt() } // Level 99 requires 19,450 XP for the final tier.

Project Development Roadmap

Phase 1 Current

In Development

Core features build-out, offline foundations, and biking anti-cheat engine.

  • Fog of War map rendering
  • GPS location tracking & telemetry
  • Strict pedaling validation (anti-cheat)
  • Offline map caching
Phase 2 Beta

Beta Testing & Polish

Closed testing, multi-device coordinate optimization, and bug fixing.

  • Google Play Console testing
  • Performance & battery optimization
  • 30+ achievements & badge designs
  • Playtest bug fixes
Phase 3 Stable

Stable Release

Production launch, scaling community backlogs, and map profile exports.

  • Public Google Play Store release
  • Map profile GPX/JSON export
  • Stable offline map database
  • Custom community cycling goals

MIT Licensed & Open Source

Pixiog Explore is a free, open-source project created and maintained by @theaveragelegs. No proprietary APIs, tracking, or hidden analytics. Read the code, fork it, compile your own build, and share it.

Start Your Adventure Today

Download the Pixiog Explore APK directly to your Android device. No app store registration, completely standalone.

Compatible with Android 10.0 (API Level 29) or higher. Requires GPS hardware sensor. Pedal-powered bikes only.