r/pygame

▲ 22 r/pygame+3 crossposts

Happy to show my "Steam-like" platform for Pygame games!!

Hey everyone!,

A while back, I shared a very early version of a project I have been working on.
Today, I’m incredibly happy to showcase the Alpha 1.0.0 Release of Atomic Launcher—a "Steam-like" platform built specifically to distribute, showcase, and play Pygame games.

My ultimate goal/wish would be to make it truly community driven. That being said I will be posting all my future pygame projects to the platform. Check out the source code, download the alpha, or submit a PR here: https://github.com/mironczuk-dar/Atomic-launcher.git

What's New in Alpha 1.0.0?
I’ve moved far beyond the basic launcher script. The platform now features:

  • Zero Dependencies / Portable Setup: No Python or Git installed? No problem. I packaged portable Python and Git right into the release. It’s a literal one-download ZIP or one Git clone. Just extract and double-click the .bat file (Windows) or run the .sh script (Linux/Raspberry Pi) and you're in.
  • A "Steam-like" Storefront: A dedicated, polished "Featured" tab to highlight community games.
  • Media Previews: Game pages now support full image and video previews so players can see gameplay before downloading.
  • Control Filters: Users can instantly filter games by input type (Mouse-only, Keyboard, Gamepad) to find games that fit their setup.
u/RoseVi0let — 4 hours ago
▲ 4 r/pygame

Can i go from a text based game to a graphical game (Python)

Hello, i started making my own Text-based Game And i have been learning! Just a week ago i only knew Print ()

But i have a question: Can i Make In the Future a Graphical game? Does anyone Have a earlier Experience with this?

Edit: yes i use Pygame

reddit.com
u/Castman18 — 7 hours ago
▲ 4 r/pygame

Building a pygbag alternative, what's on your wish list?

I'm working on Pygodide, a Pyodide-based alternative to pygbag for putting Pygame apps on the web.

What pain points have you hit with pybag? What features would you want to see from a project like this? I want to build something that people will want to use.

Itch.io Live Demo pygodide-test-project

  • It's running both numpy and fastquadtree, which aren't pure-python packages
  • Source: Numpy Particles

Main differences from pygbag:

  • Supports all pyodide-compatible packages (e.g. scipy works here but not on pygbag)
  • Typer-based modern CLI
  • Automatic asyncification of your game loop (so you don't have to add async def and asyncio.sleep(0)
  • More extensive error and warning messages to figure out why your app isn't running properly + generated logs for filing issues.
  • Reads the pyproject.toml and requirements.txt for dependencies instead of a comment at the top of main.py
  • Configurable entry point (Not always main.py's main)
  • Relies on Pyodide for web support of pygame and other packages, so when Pyodide gets better, so does Pygodide.
  • Everything can be configured via the CLI, but also via an entry in your pyproject.toml

Similarities with pygbag:

  • Similar super simple user interface pygodide build . --serve

I want to add many more features and QoL improvements (such as a configurable background color) as well as improve the loading times and performance of games running through Pygodide.

Links

Repo
Documentation

reddit.com
u/Dodecaquinox — 8 hours ago
▲ 9 r/pygame+2 crossposts

I built Turn Based Combat game using OOP in python!

Hey everyone

I just finished building a small RPG game in Python and wanted to share it here for feedback.

It’s a turn-based combat game where you fight different enemies like Goblins, Skeletons, Dark Mages, and a final boss (Ancient Dragon).

⚔️ Features:

- Turn-based combat system

- Leveling + XP progression

- Weapons & armor equipment system

- Inventory system (potions, items, etc.)

- Quests with rewards (gold + XP)

- Different enemy scaling based on level

- Boss fight with multiple phases

I built it mainly to practice OOP and game logic in Python, and I learned a lot about structuring systems like combat, inventory, and progression.

It’s still not fully balanced and I know there are things I can improve, especially:

- Damage balancing

- XP progression

- UI/UX improvements

Would really appreciate any feedback or suggestions 🙏

GitHub:

https://github.com/Ezz08/DragonFall-GameProject

u/Mean_Tomorrow_6612 — 1 day ago
▲ 13 r/pygame+1 crossposts

Update: my Python/Pygame chaos game fractal generator now runs in the browser

I posted an earlier version of this as a local Pygame project. I’ve now used pygbag to make it playable online.

You can change the number of polygon sides, ratio, drawing speed, palettes, border visibility, and UI visibility while the fractal draws live. I reached 10 million dots without any issues.

Playable version:

Chaos Game Fractal Generator by sierra_wild_3d

GitHub:

https://github.com/sierrawild/Chaos_game_fractal_generator

I’m still learning, so feedback is welcome.

u/ice77max — 1 day ago
▲ 2 r/pygame

How to get the name of controller buttons?

Hello!

I'm currently trying to get the controllers to work in my game and I noticed I couldn't find a way to get the name of the button that just got pressed. I know the JoyButtonDown events contain the id of the button, but because the layout of controllers are not always the same, I'd like to know if you can get their name without having to manually name every button for every existing controller brand.

Thanks in advance!

reddit.com
u/Leol6669 — 1 day ago
▲ 44 r/pygame+2 crossposts

wip game im working on

added buffs, a wave system and redid the entire ui

demo coming somewhat soon

u/grenskii — 1 day ago
▲ 18 r/pygame

Testing My 3d Renderer

Hopefully this clip is a bit clearer. 1000 trees in this scene, running at ~20 fps

u/BobsMyNeighbor — 2 days ago
▲ 26 r/pygame+1 crossposts

Tile Bash - Efficient Tile Smashing!

I like puzzle games, and after making a Match 3 previously, I wanted to make something a little different. Introducing Tile Bash! The goal of the game is to clear groups of tiles by clicking on them. You cannot clear singular tiles. Scoring is determined by the total moves used, and the total tiles remaining. Less total moves & fewer tiles remaining (or even better, none remaining) result in a high score!

It is available to play in browser on Itch.io (thanks pygbag!). If you are interested in trying it out, I would love feed back.

https://red-clay-games.itch.io/tile-bash

u/WhatJuul — 2 days ago
▲ 33 r/pygame+4 crossposts

My PyZombie Project

Can you give me your opinion about my pygame game? still update it

u/_DedSec_0x90 — 3 days ago
▲ 32 r/pygame

Terraria clone maybe!

Terraria clone ive been working on on and off for a while now...
Just got world limits working properly and wanted to share :)

u/TheSmith123 — 3 days ago
▲ 4 r/pygame

Matrixia - a Matrix rain effect

Matrixia - a simple matrix rain effect with extras

This started as a vibe coding experiment but the LLM suggestion was so bad I had to rewrite the whole program from scratch

Here's the main branch

[https://github.com/shS83/Matrixia\](https://github.com/shS83/Matrixia)

And here's the Linux Binary release:

[https://github.com/shS83/Matrixia/releases/tag/v0.9\](https://github.com/shS83/Matrixia/releases/tag/v0.9)

And here's the Windows Binary release:

[https://github.com/shS83/Matrixia/releases/tag/0.9-win\](https://github.com/shS83/Matrixia/releases/tag/0.9-win)

u/PrometheusAlexander — 3 days ago
▲ 13 r/pygame

Scaling image, concentric circles, moire patterns and stacks of blended shapes in Pygame-CE.

Music: Katie Cadet | Old Dance Thing (2014, Public Domain) | loaded as an .xm tracker file.

Image was made in Gimp sometime before 2010 by me, downscaled and converted to 24-bit ANSI before popping it in this.

Frame rate is locked to 120fps with the image scaling up and down in size, two surfaces made of 100 concentric circles blended with the background and bouncing from top to bottom for the first and left to right for the second along a sinewave and then an additional 333 squares, 333 triangles and 333 circles over top, bouncing all over and blended with everything below it.

The end result is a bit chaotic, but it's pretty neat how far you can push Pygame with just a little touch of Numpy.

u/IceFurnace83 — 4 days ago
▲ 6 r/pygame

can someone help me render a cube

im trying to make a program that can read information from a file and project it

currently, my program renders the positions of the voxels just as points (circles). How can i make it render cubes instead.

im trying not to use ai for my programs

class Voxel:
    def __init__(self, x, y, z, colour = (255,255,255)):

        self.x, self.y, self.z = x, y, z
        self.colour = colour


    def project(self, camera):
        rel_x = self.x - camera.x
        rel_y = self.y - camera.y
        rel_z = self.z - camera.z
        rel_x, rel_y, rel_z = camera.rotate_point(rel_x, rel_y, rel_z)

        if rel_z <= 0:
            self.x2d = self.y2d = self.dist = None
            return False

        scale = camera.focal_length / rel_z
        self.x2d = rel_x * scale
        self.y2d = rel_y * scale
        self.dist = maths.sqrt(rel_x**2 + rel_y**2 + rel_z**2)
        return True
    
    def draw(self, screen, xOfset, yOfset):
        pygame.draw.circle(
            screen,
            self.colour,
            (int(self.x2d + xOfset), int(self.y2d + yOfset)),
            max(1, int(10 / max(1, self.dist))) 
            # minimum size of 1, the second max is to stop divide by 0 error 
        )
reddit.com
u/AtrippleABattery — 5 days ago
▲ 29 r/pygame

Wiping out the bloat: Re-engineering my Python/C graphics engine from scratch using Modern OpenGL 3.3 Core Profile (~1000+ FPS)

Right now, I am rewriting the entire engine from scratch to maximize performance, eliminate architectural bloat, and transition to a modern, bug-free rendering pipeline. I will try to make it modular so that other developers can easily drop Pyforge into their own projects and use it as a hardware-accelerated backend.

After getting some awesome, direct technical feedback from the community on my initial immediate mode blueprint, I went back to the drawing board and completely refactored the core:

🚫 Banned OpenGL 1.0 Removed all legacy deprecated functions and completely stripped out fixed functions like `glBegin()` and `glEnd()`.

🛡️ Enforced Core Profile: Locked the backend down to a strict OpenGL 3.3 Core Profile context.

📦 GPU Instanced Streaming* Replaced slow individual entity loops with single-burst memory array streaming (`glDrawArraysInstanced`) over the C-extension bridge exactly once per frame.

🔄 Hardware Delegated Rotations: Offloaded heavy trigonometry calculations (`sin`/`cos` transformation matrices) completely onto the GPU's parallel processing cores.

Here is a quick 4-second showcase running 100 large mixed primitives (Triangles, Squares, and high-fidelity 32-sided Circles) floating, bouncing, and spinning with sub-pixel drift. By moving 100% of the memory layout and rendering steps to C and the GPU, the interpreter thread is completely unburdened and hits thousands of frames per second unthrottled.

Would love to hear your thoughts on this modern rewrite direction!

u/EliAndrewt — 6 days ago