PyCAPGE (Python Classic Adventure Point and Click Game Engine) is a versatile, open-source framework designed for creating retro-style 2D graphic adventures using Python and Pygame. Inspired by the golden age of SCUMM games, it features a customizable 9-verb interface and robust inventory management.

Key features include a Scene Manager supporting parallax scrolling, walk-behind masks, and depth-based character scaling. It implements intelligent Pathfinding to navigate complex environments automatically. The engine natively supports Multi-Character gameplay, allowing dynamic switching between protagonists.

Developers can build rich narratives using the branching Dialogue System and a Cutscene Manager for scripted events. The architecture is data-driven: texts and definitions are separated into YAML files for easy localization. Includes a JSON Save/Load system and debug console.

Features

  • Classic Interface: Implements a customizable 9-verb interaction system (Look, Pick Up, Use, Talk, etc.) and a dedicated inventory management UI.
  • Advanced Scene Management: Supports multi-layer parallax scrolling backgrounds, walk-behind masks, and dynamic character scaling based on depth (Y-axis).
  • Smart Pathfinding: Integrated pathfinding system (Euclidean/Manhattan) using navigational masks to handle character movement and obstacle avoidance automatically.
  • Multi-Character Support: Built-in capability for multiple playable characters (e.g., swapping between characters like "Gilo" and "Bart") with distinct inventories and interaction logic.
  • Dialogue System: A robust, branching dialogue tree system with support for conditional options, distinct NPC responses, and scrolling selection menus.
  • Cinematic Tools: A CutsceneManager for scripting non-interactive sequences, intros, and endings with timed events, camera movements, and animations.
  • Dynamic Lighting & Atmosphere: Support for lightmaps, tinting characters based on environment, and ambient animations (particle effects, background sprites).
  • Localization Ready: Complete separation of code and text. All game strings (items, dialogues, menus) are loaded from YAML files, enabling easy translation into multiple languages.
  • Save/Load System: JSON-based serialization to save game state, inventory, and variables with a visual slot interface.
  • Developer Tools: Includes an in-game debug console, collision visualization (F-keys), and hot-reloading of assets.

Project Samples

Project Activity

See All Activity >

License

GNU General Public License version 3.0 (GPLv3)

Follow PyCAPGE

PyCAPGE Web Site

Other Useful Business Software
Our Free Plans just got better! | Auth0 Icon
Our Free Plans just got better! | Auth0

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of PyCAPGE!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Languages

Arabic, Basque (Euskara), Catalan, Chinese (Simplified), Dutch, English, Esperanto, French, Galician, German, Greek, Gujarati, Hausa, Hebrew, Hindi, Indonesian, Italian, Japanese, Javanese, Korean, Malayalam, Portuguese, Romanian, Russian, Sindhi, Spanish, Swahili, Tagalog, Turkish

Intended Audience

Developers

User Interface

SDL

Programming Language

Python

Related Categories

Python Game Development Frameworks, Python Game Engines, Python Typing Games

Registered

2026-01-02