Last Updated

2026.01.02


Status

Maintaining.


SudoSodoku is a minimalist, keyboard-centric (conceptually) puzzle game that brings the Linux terminal aesthetic to your iPhone. It strips away the distractions of modern casual games, offering a raw, focus-driven environment powered by a robust algorithmic core.

πŸŽ‰ v1.0.0 - First Official Release

We are thrilled to announce the first stable release of SudoSodoku! This version represents a complete, polished game with all core features implemented and tested:

  • Procedural Puzzle Generation: Real-time generation of unique, solvable puzzles.
  • Four Difficulty Levels: Easy, Medium, Hard, and Master with intelligent scoring.
  • Pencil Mode: Toggle candidate notes for complex deduction strategies.
  • Undo/Redo System: Full history stack for fearless experimentation.
  • Smart Archives: Automatic saving with favorites and replay functionality.
  • ELO Rating System: Competitive ranking from SCRIPT_KIDDIE to THE_ARCHITECT.
  • Terminal Aesthetic: Authentic green phosphor UI with haptic feedback.
  • Modular Architecture: Clean, maintainable codebase organized by feature.

✨ Features

πŸ–₯️ Immersive Terminal Aesthetic

  • Visuals: Authentic Green Phosphor (#00FF00) on Deep Dark Background (#0D121A).
  • Feedback: “Juice” interaction model with UIImpactFeedbackGenerator providing mechanical-keyboard-like haptics for every input.
  • Animations: Matrix-style victory effects and CRT-like glow pulses.

♾️ Infinite Procedural Generation

  • Real-time Engine: Generates unique, solvable puzzles on-the-fly using a randomized Backtracking Algorithm.
  • Human-like Grading: Difficulty is not determined by random holes, but by a Logical Solver that simulates human techniques (Naked Singles, Hidden Singles, etc.) to assign a precise difficulty score (0-100).

πŸ† Competitive ELO System

  • Dynamic Rating: Starts at 1200 (USER). Beats puzzles to rank up.
  • Adaptive K-Factor: Rating changes stabilize as you reach higher tiers (Master/Grandmaster).
  • Anti-Smurfing: High-level players gain zero rating from solving low-level puzzles.
  • Rank Titles:
    • < 1200: SCRIPT_KIDDIE
    • 1200 - 1400: USER
    • 2000+: THE_ARCHITECT

πŸ’Ύ Robust Persistence

  • Game Center Integration: Seamless, password-less login and user profile management.
  • Cloud Sync: Leveraging iCloud Documents to sync game states and archives across devices (automatically degrades to local storage if iCloud is unavailable).
  • JSON Serialization: All game records are stored as Codable JSON structs, ensuring backward compatibility and easy migration.

πŸ› οΈ Technical Architecture

SudoSodoku is built with modern iOS technologies, designed for maintainability and performance:

  • Language: Swift 5.9
  • UI Framework: SwiftUI (Apple’s modern declarative UI framework)
  • Architecture: MVVM (Model-View-ViewModel) pattern for clean code organization
  • State Management: Reactive updates using Combine framework
  • Data Persistence:
    • Automatic cloud sync via iCloud (with local fallback)
    • Safe file operations with atomic writes
    • Backward-compatible data migration
  • User Experience: Custom animations and haptic feedback for a polished feel

Directory Structure

SudoSodoku/
β”œβ”€β”€ Models/
β”‚   β”œβ”€β”€ GameRecord.swift          # Codable save data structure
β”‚   β”œβ”€β”€ SudokuCell.swift          # Unit cell model
β”‚   β”œβ”€β”€ MoveHistory.swift         # Move history for undo/redo
β”‚   └── Difficulty.swift          # Enum with rating ranges
β”œβ”€β”€ ViewModels/
β”‚   └── SudokuGame.swift          # Core game logic & state machine
β”œβ”€β”€ Managers/
β”‚   β”œβ”€β”€ GameCenterManager.swift   # GameKit authentication
β”‚   β”œβ”€β”€ RatingManager.swift       # ELO calculation algorithms
β”‚   β”œβ”€β”€ HapticManager.swift      # Haptic feedback engine
β”‚   └── StorageManager.swift      # File I/O & Cloud syncing
β”œβ”€β”€ Views/
β”‚   β”œβ”€β”€ ContentView.swift         # Main entry & NavigationStack
β”‚   β”œβ”€β”€ LandingView.swift         # Landing page
β”‚   β”œβ”€β”€ GameView.swift            # The game board
β”‚   β”œβ”€β”€ UserProfileView.swift     # User profile & statistics
β”‚   β”œβ”€β”€ ArchiveView.swift         # History & Favorites list
β”‚   β”œβ”€β”€ ModeSelectionView.swift   # Difficulty selection
β”‚   β”œβ”€β”€ BoardView.swift           # Sudoku board rendering
β”‚   β”œβ”€β”€ ControlPanelView.swift    # Game controls (undo/redo/numpad)
β”‚   β”œβ”€β”€ Components/
β”‚   β”‚   β”œβ”€β”€ TerminalBackground.swift    # Terminal-style background
β”‚   β”‚   β”œβ”€β”€ MatrixVictoryOverlay.swift  # Victory animation
β”‚   β”‚   β”œβ”€β”€ NoteGridView.swift          # Note display grid
β”‚   β”‚   β”œβ”€β”€ GridLinesOverlay.swift      # Board grid lines
β”‚   β”‚   β”œβ”€β”€ StatCard.swift              # Statistics card component
β”‚   β”‚   β”œβ”€β”€ RankRow.swift               # Rank display row
β”‚   β”‚   └── RecordRow.swift             # Archive record row
β”‚   └── Styles/
β”‚       └── BouncyButtonStyle.swift     # Button animation style
└── Algorithms/
    └── SudokuGenerator.swift     # Backtracking & Digging logic

Resources