Nano Platformer

A 12-Stage 2D Platformer Game with Upgrades, Boss Fights & Adaptive Difficulty

Deliverables / Skills Utilized

Python
Pygame
JSON
Sprite Animation

๐Ÿ” The Problem

Wanted to build a complete game from scratchโ€”not a tutorial clone, but a fully-featured platformer with real game design: progression systems, enemy AI, boss fights, and player-driven difficulty.

The goal was to learn game development fundamentals by shipping something end-to-end: physics, state machines, animation, game balance, and persistence.

๐Ÿ’ก The Solution

A 12-stage 2D platformer with a full campaign arc: escalating enemy types, a shop/upgrade system, a multi-phase boss fight, and an adaptive assist system that adjusts difficulty based on player performance.

Built entirely in Python with Pygameโ€”no game engine, no shortcuts.

Nano Platformer โ€” Canyon Steps gameplay with platforms, enemies, and collectibles

๐Ÿ› ๏ธ Technical Implementation

โš™๏ธ Physics Engine

  • Custom gravity and acceleration system with configurable constants
  • AABB collision detection for platforms, walls, and entities
  • Jump mechanics with variable height (tap vs hold) for precise control
  • Friction and air resistance for natural-feeling movement

๐Ÿ‘พ Enemy AI System

  • Walkers: Patrol paths with edge detection and turn behavior
  • Shooters: Ranged enemies with projectile spawning and cooldown timers
  • Boss: Multi-phase fight with burst-fire patterns, health thresholds, and enrage mechanics
  • State machine architecture for clean AI behavior transitions

๐Ÿ›’ Upgrade System

  • Vitality: Max HP increases and passive health regen
  • Blade: Damage multiplier and attack range extensions
  • Tempo: Movement speed and jump height boosts
  • 3 tiers per upgrade path, purchased with in-game currency from defeated enemies

๐ŸŽš๏ธ Adaptive Difficulty

  • Tracks player deaths per stage and cumulative performance
  • Activates assist mode after repeated failures: extra HP, damage reduction, extended checkpoints
  • Scales back assistance when player improvesโ€”never feels patronizing

๐Ÿ“ JSON-Based Level System

  • Each stage defined as a JSON file: platforms, enemy spawns, collectibles, and triggers
  • Hot-reloadable during development for rapid level design iteration
  • Supports custom tilesets and background layers per stage

๐Ÿ’พ Persistent Save System

  • Player progress, upgrades, and currency saved to local JSON
  • Checkpoint system within stages for respawn on death
  • Full campaign state preserved across sessions

๐Ÿ—บ๏ธ Campaign & Boss Fights

12-stage campaign map with progression systemVine Colossus boss fight with burst-fire projectiles

๐ŸŽฏ Key Features

  • ๐ŸŽฎ 12-Level Campaign: Progressive difficulty from tutorial to boss fight
  • ๐Ÿ‘พ 3 Enemy Types + Boss: Walkers, shooters, and a multi-phase boss encounter
  • ๐Ÿ›’ Shop & Upgrades: 3 upgrade paths (Vitality/Blade/Tempo) with 3 tiers each
  • ๐ŸŽš๏ธ Adaptive Assist: Dynamic difficulty adjustment based on player performance
  • โœ… Checkpoint/Respawn: Mid-stage checkpoints with instant respawn
  • ๐ŸŽจ Sprite Animation: AI-generated character and environment assets with frame-by-frame animation
  • ๐Ÿ’พ Persistent Save: Full progress saved across sessions

๐Ÿ“Š Technical Highlights

MetricDetail
๐ŸŽฎ Campaign Stages12
๐Ÿ‘พ Enemy Types3 + Boss (Walker, Shooter, Boss)
๐Ÿ›’ Upgrade Paths3 (Vitality, Blade, Tempo)
๐ŸŽš๏ธ Upgrade Tiers3 per path (9 total)
๐Ÿ’พ Save FormatJSON (portable, human-readable)
๐Ÿ–ผ๏ธ Art PipelineAI-generated sprites + manual cleanup

๐ŸŽฏ Why This Matters

This project demonstrates:

  • โš™๏ธ Game Physics: Custom gravity, collision detection, and movement systems from scratch
  • ๐Ÿค– State Machines: Clean enemy AI architecture with behavior transitions
  • โš–๏ธ Game Balance: Upgrade pricing, enemy scaling, and adaptive difficulty tuning
  • ๐ŸŽจ AI Art Pipeline: Generating game assets with AI tools and integrating into sprite sheets
  • ๐Ÿ—๏ธ Systems Design: Interconnected systems (combat, economy, progression) working together

๐Ÿ”ง Stack

  • Python: Core game logic and systems
  • Pygame: Rendering, input handling, and game loop
  • JSON: Level definitions, save data, and configuration
  • Sprite Animation: Frame-by-frame animation with AI-generated assets