Figured out how to create a Linux, MacOS (ARM) and Windows executable in a GitHub action for our PyGame mini game: https://github.com/jhutar/CatWars/blob/f2e61c4fcfd942d3e6e73ad2e9551fd61bc9ee25/.github/workflows/on-tag.yaml

Uploaded to https://jhutar.itch.io/catwars if you would be able to try if Windows and MacOS "builds" work - thank you 🙂

#pygame #gamedev #pyinstaller

CatWars/.github/workflows/on-tag.yaml at f2e61c4fcfd942d3e6e73ad2e9551fd61bc9ee25 · jhutar/CatWars

Defend peaceful cat vilage from hordes of evil enemies. - jhutar/CatWars

GitHub

Yay our first game together (me and 12y old) is now on FlatHub! We built it as a vibe coding exercise, learning pygame and Python together 😊

Give it a go, two players on the same keyboard or two gamepads. 120 seconds, the one that gets more asteroids wins.

#linux #game #pygame

https://kitfucoda.medium.com/my-pygame-evolution-embracing-asyncio-and-immutability-for-scalable-design-84eae4601717

My journey into graphical application building started unexpectedly after a friend's game jam project piqued my interest. Exploring Python ports of Processing eventually led me to Pygame, a lower-level library that surprisingly sparked my curiosity. What began as a plan to "build a reasonably functional Tic-Tac-Toe version over a weekend" soon revealed the depth of Pygame's foundational nature and the need for custom architectural solutions.

Pygame's synchronous and non-thread-safe nature posed immediate challenges for building interactive applications. Initial attempts to use asyncio.to_thread led to unexpected SIGSEGV errors, highlighting the need for a different approach. The solution emerged through iterative debugging and a suggestion from my coding companion, the chatbot, to incorporate asyncio.sleep(0). This critical addition allowed asynchronous tasks to finally run effectively, enabling a refactored main loop that separates event processing and display updates.

Managing shared data and dispatching events concurrently presented its own set of hurdles. Drawing heavily from my experience in JavaScript web development, I designed an immutable application registry, leveraging asyncio.Queue to defer changes to elements and the game state. This approach ensures all updates are processed predictably, avoiding race conditions and making it possible to register and dispatch events across the application in a robust, web-inspired manner.

As the code matured through refactoring, a clear architectural structure began to emerge. Extracting game-specific logic into a separate module became trivial, and a review with Gemini confirmed that the design could evolve into a reusable mini-framework. The Application dataclass even showed resemblances to an Entity-Component-System, adding a new concept to explore. While time may be limited, the curiosity to further develop this separation and implement web-like system events persists, motivated by a desire to build robust solutions.

#Pygame #Asyncio #Python #GameDevelopment #SoftwareArchitecture

My Pygame Evolution: Embracing Asyncio and Immutability for Scalable Design

Maintaining a blog is a lot of work, especially when it comes to finding new ideas. Over the weekend, I explored Pygame by building a simple game. I was very humbled by the experience throughout the…

Medium

Another vibe coding morning with my son, and we added a bunch of new features:
- gamepad and rumble support
- powerup sound effect
- difficulty setting (easy keeps powerups)
- allow replay on game round end
- randomly generated starfield

https://github.com/denzilferreira/asteroid-shooter

#game #retro #opensource #vibecoding #pygame

Amazon QにDevOpsマスター養成ゲームを作ってもらったら仕上げに苦労した - Qiita

はじめに 生成AIにコーディングさせることが当たり前の世の中になってきました。生成AIの出現以降、様々なサービスが登場していますが、今回はAWSが提供するAmazon Qを触れてみたいと思います。 これまでその実力を試すことができていませんでしたが、以下のようにAmazo...

Qiita
https://www.project-anime.com/1209899/ [8bit] 新機動戦記ガンダムW OP1 – JUST COMMUNICATION / TWO-MIX | ファミコン・シューティングゲーム風 Gundam Wing ##AnimeMusic #8bit #8bitMusic #Anime #AnimeSong #aseprite #bgm #chiptune #Famicom #FamiStudio #GUNDAM #GundamWing #JustCommunication #mecha #NES #pixelART #PyGame #python #Soundtrack #twomix #アニソン #アニメ. #ガンダムW #ガンダムウィング #チップチューン #ドット絵 #ファミコン #機動戦士ガンダム水星の魔女第2クール [8bit] 新機動戦記ガンダムW OP1 – JUST COMMUNICATION / TWO-MIX | ファミコン・シューティングゲーム風 Gundam Wing TVアニメ『新機…
Amazon Q CLIで今度こそゲームを作成した - Qiita

前回記事の続きです。 今回もTシャツ目当てにAmazon Q CLIを使った記事と、作成過程での学びを書ければと思います。 なんのゲームをつくるか ドットアンドボックスというゲームがあり、古くより紙と鉛筆だけでできるゲームで親しまれているものです。 最近の子だと、S...

Qiita
Amazon Q CLIを使用して車ゲーを作ってみた - Qiita

はじめに Amazon Q CLIを使用してゲームを作るプロジェクトに参加してみました。 動機はTシャツがもらえるk ...AIでどこまでコーディングできるか気になったからです。本当です。 2025年6月20日まで開催されているので、ぜひ皆さんも参加してみてください! ...

Qiita

🔥 A recent breakthrough in my Python/pygame-ce research and coding practice is a feature that I call level chunk management.

Demonstrated in the video and explained in the thread below. 🧵👇

#pygame-ce #pygame #Python

Amazon Q CLIでゲームを作ってみた! - Qiita

Amazon Q CLIでゲームを作った記事です。以下のキャンペーンもあり、これまでQ CLIでコード生成をやったことがなかったのでチャレンジしました。 事前準備 MAC BookにQ CLIをPygameをインストールして実施しました。 それぞれのインストール手順...

Qiita