Skip to content

Python Game Launcher - v4.0

Latest

Choose a tag to compare

@kinaskitaro kinaskitaro released this 08 Jan 08:05
· 5 commits to main since this release

Python Game Launcher - Release Notes

Version 4.0


🎮 Overview

Python Game Launcher is a standalone application bundle containing 15 complete games and utilities written in Python. No Python installation required - everything is included!


✨ What's New in v4.0

Major Improvements Over v3.0

Console Window Hidden 🖥️

  • v3.0: Console window appeared on startup (noted as "normal for some games")
  • v4.0: Application now runs cleanly without any console window
  • Technical: Changed PyInstaller build from console=True to console=False

Digital Clock Fixed ⏰

  • v3.0: Digital Clock failed to launch with import error
  • v4.0: Import error resolved - Digital Clock now launches successfully
  • Fix: Removed unused colorchooser import from tkinter

Dinosaur Asset Loading Enhanced 🦖

  • v3.0: Mentioned "improved asset loading" but path issues persisted
  • v4.0: Complete fix for double "Assets" directory path issue
  • Fix: Corrected get_base_dir() function to return proper base directory

Launcher Code Quality Improved 🛠️

  • v3.0: No mention of launcher code issues
  • v4.0: Fixed duplicate error handling blocks and undefined variables
  • Fix: Removed unreachable code and undefined tk variable references

Additional Features

  • +1 New Game: Memory Game added (now 15 total games vs 14 in v3.0)
  • Enhanced frozen executable path detection
  • Improved error handling and user feedback messages
  • Code cleanup across all game files

Technical Changes

Fixed Issues:
✅ DigitalClock: Cannot import 'colorchooser' from 'tkinter'
✅ Launcher: Duplicate error handling causing unreachable code
✅ Launcher: Undefined 'tk' variable reference
✅ Dinosaur: Double "Assets" directory in path (Assets/Assets/...)
✅ All Games: Console window appearing on startup

📦 Contents

The PythonGameLauncher folder contains:

  • PythonGameLauncher.exe - Main launcher application (console-less)
  • RELEASE_NOTES.md - This file
  • _internal/ - All dependencies and game files (required)

🎯 Included Games & Apps

Icon Name Type Controls
🧩 Tetris Game Arrow keys + Space
🌐 Language Translator Utility Text input
🐍 Snake Game Arrow keys to move
🦖 Dinosaur Game ↑ Jump, ↓ Duck, P Pause
🎯 2048 Puzzle Arrow keys / WASD
🔄 Converter Utility On-screen input
🧠 Memory Game Game Mouse to click
🧮 Calculator Utility On-screen buttons + keyboard
⭕ Tic Tac Toe Game Mouse to click
📐 Triangle Utility Math solver
⏰ Digital Clock Utility Display only
🕐 Analog Clock Utility Display only
🌤️ Weather Utility City input
❓ Word Guess Game Keyboard to guess
🔢 Sudoku Puzzle Mouse to play

🚀 Installation & Usage

Step 1: Extract

  1. Download PythonGameLauncher.zip
  2. Extract to any folder (e.g., C:\Games\PythonGameLauncher\)
  3. Important: Keep _internal folder in same location as exe

Step 2: Run

  • Double-click PythonGameLauncher.exe
  • No console window will appear (clean GUI experience)

Step 3: Play

  1. Launcher displays list of all available games with icons
  2. Click on any game card
  3. Confirm "Launch Game" dialog
  4. Game opens in new window
  5. Launcher stays open - launch multiple games!

🎮 Game Features

High Score System

  • High scores automatically saved to your user home directory
  • Persists between game sessions
  • Supported in: Dinosaur, Snake, 2048

Pause Functionality

  • Games with pause feature: Dinosaur (P key), Snake (P key)
  • Pause menu overlay during gameplay
  • Resume anytime with same key

Multiple Levels/Progress

  • Snake: Speed increases as score grows
  • Dinosaur: Game speed increases over time
  • 2048: Continue after reaching 2048 tile

💾 Data Storage

Game data saved to:

C:\Users\[YourUsername]\dinosaur_highscore.json
C:\Users\[YourUsername]\snake_highscore.json
C:\Users\[YourUsername]\2048_highscore.json

⚠️ System Requirements

Minimum

  • Windows 10 (64-bit)
  • 100 MB free disk space
  • Screen resolution: 1024x768

Recommended

  • Windows 11
  • 500 MB free disk space
  • Screen resolution: 1920x1080

Note: No additional software or Python installation required!


🔧 Troubleshooting

Issue: Game won't start

Solution:

  1. Verify _internal folder is in same location as exe
  2. Right-click PythonGameLauncher.exe → Run as Administrator
  3. Check Windows Defender is not blocking the exe

Issue: Console window appears

Solution (Fixed in v4.0): This should no longer happen. v4.0 runs completely without a console window.

Issue: Digital Clock shows import error

Solution (Fixed in v4.0): The colorchooser import issue has been resolved. Digital Clock should launch normally now.

Issue: Missing images in Dinosaur game

Solution (Fixed in v4.0): Asset path resolution has been fixed. Dinosaur images should load correctly now.


📋 Changelog

v4.0 (Current) - January 8, 2026

  • ✅ DigitalClock: Fixed import error - removed unused colorchooser
  • ✅ Console: Hidden terminal window (console=False build)
  • ✅ Dinosaur: Fixed asset path resolution - no more double Assets
  • ✅ Launcher: Cleaned up duplicate error handling
  • ✅ Launcher: Fixed undefined tk variable reference
  • ✅ New Game: Added Memory Game (15 total)
  • ✅ UX: Clean GUI launch without console popup
  • ✅ Code: Improved code quality across all games

v3.0 - December 26, 2025

  • ✅ Fixed all games closing immediately
  • ✅ Games now run in separate processes
  • ✅ Improved launcher UI responsiveness
  • ⚠️ Console window appeared (noted as "normal")
  • ⚠️ Digital Clock had import errors
  • ⚠️ Dinosaur asset path issues persisted
  • 14 games total

v2.0 - Earlier

  • Initial attempt with threading
  • Had game execution issues

v1.0 - Initial

  • Basic launcher concept
  • Single-file exe build

🛠️ Technical Details

Built With

  • Python: 3.13.11
  • PyInstaller: 6.17.0
  • Build Mode: Single-file exe (console-less)
  • Main Libraries: tkinter, pygame, turtle

Architecture

  • Launcher runs as main process
  • Each game spawns as child process
  • No conflicts between multiple games
  • Clean termination when launcher closes

File Structure

PythonGameLauncher/
├── PythonGameLauncher.exe    (main launcher - no console)
├── RELEASE_NOTES.md         (this file)
└── _internal/                (bundled files)
    ├── Source/                (15 game .py files)
    │   ├── Assets/            (images for Dinosaur)
    │   ├── 2048.py
    │   ├── AnalogClock.py
    │   ├── Calculator.py
    │   ├── Converter.py
    │   ├── DigitalClock.py    (✅ Fixed)
    │   ├── Dinosaur.py       (✅ Fixed)
    │   ├── LanguageTrans.py
    │   ├── MemGame.py         (✅ New)
    │   ├── Snake.py
    │   ├── Sudoku.py
    │   ├── Tetris.py
    │   ├── TicTacToe.py
    │   ├── Triangle.py
    │   ├── Weather.py
    │   └── WordGuess.py
    ├── pygame/                 (game engine)
    ├── PIL/                   (image library)
    ├── numpy/                 (math library)
    └── [other dependencies]

📝 Future Improvements

Potential enhancements for future releases:

  • Add game categories (Games, Utilities, Puzzles)
  • Game search/filter functionality
  • Favorite games quick access
  • Custom themes for launcher
  • Auto-update checker
  • Achievement system
  • Game statistics tracking
  • Cloud-based high scores

📄 License

All games are open-source Python projects.
Bundle is free to use and distribute.
No commercial restrictions.


🙏 Credits

  • Launcher built by: Linh Dinh
  • Games: Python educational projects
  • Libraries: Python, pygame, tkinter, turtle communities

📧 Support

For issues or questions:

  1. Review Troubleshooting section above
  2. Ensure system meets requirements
  3. Check that _internal folder is present

Enjoy the games! 🎮🎯