Skip to content
Gabriel Thullen edited this page Jun 28, 2026 · 12 revisions

PyGameMaker IDE

Select your language / Choisissez votre langue / Wählen Sie Ihre Sprache:

English | Français | Deutsch | Italiano | Español | Português | Slovenščina | Українська | Русский


A visual game development environment inspired by GameMaker 7.0

PyGameMaker is an open-source IDE that makes 2D game creation accessible through visual block-based programming (Google Blockly) and an event-action system. Create games without deep programming knowledge, then export them to Windows, Linux, HTML5, or mobile platforms.


Choose Your Skill Level

PyGameMaker uses presets to control which events and actions are available. This helps beginners focus on essential features while allowing experienced users to access the full toolset.

Preset Best For Features
Beginner New to game development 4 events, 17 actions - Movement, collisions, score, rooms
Intermediate Some experience +4 events, +12 actions - Lives, health, sound, alarms, drawing
Advanced Experienced users All 40+ events and actions available

New users: Start with the Beginner Preset to learn the fundamentals without being overwhelmed.

See the Preset Guide for a complete overview of the preset system.


Features at a Glance

Feature Description
Visual Programming Drag-and-drop coding with Google Blockly 12.x
Event-Action System GameMaker 7.0 compatible event-driven logic
Skill-Based Presets Beginner, Intermediate, and Advanced feature sets
Multi-Platform Export Windows EXE, HTML5, Linux, Kivy (mobile/desktop)
Asset Management Sprites, sounds, backgrounds, fonts, and rooms
Multi-Language UI English, French, German, Italian, Spanish, Portuguese, Slovenian, Ukrainian, Russian
Extensible Plugin system for custom events and actions

Getting Started

System Requirements

  • Python 3.10 or higher
  • Operating System: Windows, Linux, or macOS

Installation

  1. Clone the repository:

    git clone https://github.com/Gabe1290/pythongm.git
    cd pythongm
  2. Create a virtual environment (recommended):

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    # or
    venv\Scripts\activate     # Windows
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run PyGameMaker:

    python main.py

Core Concepts

Objects

Game entities with sprites, properties, and behaviors. Each object can have multiple events with associated actions.

Events

Triggers that execute actions when specific conditions occur:

  • Create - When an instance is created
  • Step - Every frame (typically 60 FPS)
  • Draw - Custom rendering phase
  • Destroy - When an instance is destroyed
  • Keyboard - Key press, release, or held
  • Mouse - Clicks, movement, enter/leave
  • Collision - When instances touch
  • Alarm - Countdown timers (12 available)

See the Event Reference for complete documentation.

Actions

Operations performed when events trigger. 40+ built-in actions for:

  • Movement and physics
  • Drawing and sprites
  • Score, lives, and health
  • Sound and music
  • Instance and room management

See the Full Action Reference for complete documentation.

Rooms

Game levels where you place object instances, set backgrounds, and define the play area.


Visual Programming with Blockly

PyGameMaker integrates Google Blockly for visual programming. Blocks are organized into categories:

  • Events - Create, Step, Draw, Keyboard, Mouse
  • Movement - Speed, direction, position, gravity
  • Timing - Alarms and delays
  • Drawing - Shapes, text, sprites
  • Score/Lives/Health - Game state tracking
  • Instance - Create and destroy objects
  • Room - Navigation and management
  • Values - Variables and expressions
  • Sound - Audio playback
  • Output - Debug and display

Export Options

Windows EXE

Standalone Windows executables using PyInstaller. No Python required on the target machine.

HTML5

Single-file web games that run in any modern browser. Compressed with gzip for fast loading.

Linux

Native Linux executables for Python 3.10+ environments.

Kivy

Cross-platform apps for mobile (iOS/Android) and desktop via Buildozer.


Project Structure

project_name/
├── project.json      # Project configuration
├── backgrounds/      # Background images and metadata
├── data/             # Custom data files
├── fonts/            # Font definitions
├── objects/          # Object definitions (JSON)
├── rooms/            # Room layouts (JSON)
├── scripts/          # Custom scripts
├── sounds/           # Audio files and metadata
├── sprites/          # Sprite images and metadata
└── thumbnails/       # Generated asset thumbnails

Wiki Contents

Presets & Reference

Tutorials & Guides


Contributing

Contributions are welcome! See our contributing guidelines for:

  • Bug reports and feature requests
  • Code contributions
  • Translations
  • Documentation improvements

License

The PyGameMaker source code is licensed under the MIT License. This documentation is licensed under CC BY 4.0.

Gabriel Thullen, 2025-2026


Links

Clone this wiki locally