# I Built a GAME OF KAREN with Genspark AI + GitHub (And Made Expensive Mistakes 😅)

## Метаданные

- **Канал:** Python Simplified
- **YouTube:** https://www.youtube.com/watch?v=fI9Z1-SPfaI
- **Дата:** 10.04.2026
- **Длительность:** 23:58
- **Просмотры:** 8,386

## Описание

What if your silliest, most chaotic game idea didn’t need a full studio, months of work, and a team of developers, artists and musicians to become real? 🤯🎮

In this video, I build GAME OF KAREN — a ridiculous Pygame platformer following a legendary hero on her quest to the manager. I combined an all-in-one AI workspace called Genspark with proper version control on GitHub — as if I were running an actual gaming studio full of human employees!

Art department? Check. Narrative team? Check. Sound department? Check. Junior developer who occasionally ruins everything? Also check. 💀 I even got you freebies so you can follow up on your end! 👇

💵 Get 100 free credits on Genspark with my special link:
https://www.genspark.ai/?utm_source=yt&utm_campaign=PythonSimplified

But here’s the catch: this was my first time using AI for absolutely everything, so I made a whole bunch of expensive mistakes — I wasted credits, I micromanaged, and I made sure to record all that mess so I can help you avoid it on your end! 💪😉

So this video is not just about building a funny prototype. It’s about learning how to manage AI talent with clear roles, proper instructions, credit savings, and a GitHub workflow with branches, commits and merges (yes, I will teach you how to do it step by step! 😀). So if you're curious to see my creative process from start to finish, stay tuned and watch until the very end! 

📚 In this video you will learn:
- How to turn an idea into a software prototype with AI
- How to balance between AI-guided and manual workflows (saving lots of Genspark credits!!!)
- Why AI works better when it knows a lot about a little (not a little about a lot)
- How to avoid wasting credits on the wrong things
- How to generate consistent character assets for a game
- How to collaborate with AI on GitHub
- How to use GitHub branches, commits, pull, push, checkout and merge

🛠️ Tools used:
- Genspark AI (Claude, Gemini, ElevenLabs)
- Pygame
- GitHub
- WSL / Terminal
- Python

🔎 Resources & Helpful Links:
⭐ GAME OF KAREN code & project files on GitHub: https://github.com/MariyaSha/game_of_karen
⭐ My Pygame tutorial: https://youtu.be/W-QOtdD3qx4
⭐ My WSL setup tutorial: https://youtu.be/luM5kwH6tjQ

⏰ Timestamps ⏰
01:30 Project Overview + Time vs Budget Tradeoff
03:01 Genspark Studio Setup + My Credit Consumption History
05:21 Narrative Department — AI Slides + AI Chat
08:19 Art Department — AI Image + Character Assets
10:26 Sound Department — AI Music + Audio Workflow
11:09 Development Department — AI Developer + GitHub Setup
13:10 Local GitHub Repo + Pygame Foundation
15:13 AI Developer Branch + First Prototype
18:14 Manual Refinement of Agent's Code
20:38 Git Merge + Final Integration
22:26 Audio Mistake Review
23:03 Play the Game! 🎮

💸 Expensive mistakes I made (so you don’t have to):

1️⃣ Mistake #1 — Poor resource management [04:06]
2️⃣ Mistake #2 — Natural language prompts [05:31]
3️⃣ Mistake #3 — Micromanaging insignificant design details [06:20]
4️⃣ Mistake #4 — Asset generation chaos [09:01]
5️⃣ Mistake #5 — Late audio integration [10:29]
6️⃣ Mistake #6 — Full code-base revisions [18:14]

💻 Example Git workflows from the video:

1. Download and connect to your remote repository:
    git clone git@github.com:MariyaSha/game_of_karen.git
    cd game_of_karen

2. Add new files to remote repository (after files are already saved locally):
    git add .
    git status
    git commit -m "added new files"
    git push origin main

3. Review the code Genspark added on its dedicated branch (run it only once):
    git fetch origin
    git checkout genspark_ai_developer

4. Review Genspark’s revisions (after you ran "git checkout genspark_ai_developer" once):
    git pull origin genspark_ai_developer

5. Make manual changes to Genspark’s code (after saving the changes locally):
    git add .
    git status
    git commit -m "refined game manually"
    git push origin genspark_ai_developer

6. Merge Genspark’s branch with the rest of the tree:
    git checkout main
    git merge genspark_ai_developer
    git push origin main

7. Game is ready! 😀

💌 Dear viewers 💌
If you end up cloning GAME OF KAREN and building your own version, please send it to me on social media — I really want to see what kind of beautiful nonsense you create with it!! 🤪

#python #ai #github #pygame #pythonprogramming #pythontutorial #gamedev #aiagents #artificialintelligence #coding #programming #genspark #Genspark #WorkWithGenspark

## Содержание

### [1:30](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=90s) Project Overview + Time vs Budget Tradeoff

So, first things first, let's be fair about the timeline. It will take you 20 minutes to watch this video, but on my end, being the CEO of an AI gaming studio was more of a two-days job. But, it's only because it's my first project where I used AI for everything. So, I made a lot of expensive mistakes time-wise and money-wise. I was wasteful, I was picky, and I experimented way too much. So, in this video, my oopsies are your lessons. I will highlight all my mistakes as they come in, okay? And I will show you exactly where I burned my budget and time so that you can avoid it. And speaking of time and budget, this is the ultimate trade-off in the creative world. We are paying money for AI so it saves us time. Or we are investing time in manual work so it saves us money. You cannot save on both. But in this video, I will show you how to balance between the two, particularly in the coding section, but also in the art department. And finally, even if you are familiar with software development and GitHub, do not skip the Git section. Working with humans and building one feature after the other is very different from collaborating with an AI colleague, okay? One of my biggest mistakes was maintaining a step-by-step workflow. Let's figure out the game logic first, and only then we will plug in the audio. Don't you dare doing that. And I will show you why shortly. So, with this in mind, let's quickly jump on the computer and let's start building our game.

### [3:01](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=181s) Genspark Studio Setup + My Credit Consumption History

For this, we will navigate to GenSpark, an all-in-one jack-of-all-trades AI workspace. If it sounds a bit familiar, you may have seen their ad during the Super Bowl. Now, you can of course find the link in the description, and if you click it, it will give you 100 free credits because this is my special link. Also, if you do so, GenSpark will know you came from this video, so go ahead and click it right now. Now, GenSpark will be our creative studio headquarters where different AI employees are in charge of different tasks. But I like other AI platforms where we talk to one model that knows a bit about a lot, in GenSpark, we talk to many models that know a lot about a bit. Basically, experts in their own field, which is perfect for our project. Another reason we use GenSpark is because instead of subscribing to Claude, 11 Labs, Nano Banana, Gemini, and all kinds of other platforms separately, it combines all of them in one place. So, if you pay about 20 bucks for each of these every single month, you just pay 20 bucks for GenSpark Plus and you have access to all of them. But before we start burning credits, let's talk about my biggest mistake, which is being wasteful, or as a proper CEO would say, poor resource management. I managed to blow 34% of my 10,000 credits on 11 Labs. I generated all kinds of sound effects in bulk, and many of them were absolutely generic. You don't need AI for sounds like jump, hit, or attack. They exist in many, many variations online. You only need it for unique sounds that don't exist yet. So, don't be hasty with your resources like I was. Now, the vast majority of my credits went on coding with Claude. And while AI image features and AI chat features, they are unlimited for 2026, they don't cost you any credits, redoing the same slide over and over again does, okay? So, when you see 12% for image edits, you know I didn't just waste it, I butchered it. And I'll show you exactly how. You'll see all the iterations. But uh luckily, I'm the one who paid for these lessons. So, if you follow this video, your credit consumption will be much, much more efficient. Now, the first task with any idea is

### [5:21](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=321s) Narrative Department — AI Slides + AI Chat

planning. Let's offload our thoughts into a bunch of AI slides to help us visualize the game. Now, you can of course throw some natural language at it and hope for the best, but this would be mistake number two. Why not use AI chat, our studio's narrative expert? Let's quickly pull it from the plus icon, followed by AI chat, and it will help us turn this organized thoughts into clear instructions. For this, we will pick our favorite model, in my case, Gemini, and we'll consult with it until it produces the perfect prompt for our slides agent. Now, fast forward to the end of our concept meeting, we have a clear prompt with instructions for each and every slide. So, let's go ahead and copy it, and let's paste it to our AI slides agent or Nano Banana, who is a distinguished member of our art department. Now, let's hit enter. And within a minute or so, we'll have a beautiful presentation that we can use as a guideline for our project. But, here's mistake number three, and it's being anal about insignificant design details, or in CEO speak, micromanagement. If you keep asking AI to redo the same slide over and over again, not only are you wasting credits, but you will also end up with a low-quality, over-processed image like this one. Now, it's probably worth it if these slides are your end product, but in my case, all these revisions, they didn't matter at all. So, let's use our slides to go over the story. Our hero was an ordinary shopper that accidentally interrupted an intense customer service complaint, and she got bitten by a high-ranking Karen. This bite transformed her into a powerful superhero, starting her quest to the manager. Demanding compensations for the injury and for the terrible shopping experience she has endured. But, our young and beautiful Karen must gain experience before her complaint is taken seriously. She must grow from a slight inconvenience, Karen one, to a serious complaint, Karen two, and finally, a massive tantrum, Karen three, that nobody can ignore. Now, on her way to the manager, she must defeat three kinds of enemies: the slacker, who just browses his phone, the skater, who moves recklessly, and the flying hazard jetpack guy. And for each defeated enemy, Karen gets store credits or golden megaphones that take her to the next level of Karen. And then, the final boss is the store manager, a heartless cyborg with a flamethrower who doesn't believe in refunds or compensations, the arch-enemy of Karen that must be defeated for the good of mankind. So, when I told you I have a creative idea, I was not kidding. Next, we will generate the actual assets of the game based on the design document, which is built. For this, we

### [8:19](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=499s) Art Department — AI Image + Character Assets

will use AI image and again, just like AI chat, it doesn't cost you any credits. But, one tip, okay, before moving on. Convert the slides from our PDF document into images. Image references are much easier for AI to handle, and by sharing them with each and every AI expert in our team, we are keeping them in sync. So, once again, we will use AI chat to build a clever prompt, but whatever you do, do not generate separate images for character variations, okay? If Karen needs to walk, jump, attack, and fall, make sure you put it on the same image. Just take a screenshot of this and tell Gemini that you want something similar. Mistake number four was wasting time on separate images for each variation. I got a different shoe color, I got different dimensions, and then, the cherry on top, okay, was a different number of arms. Later on, and yeah, this kind of sucks, you would have to manually crop each variation into a separate file. But, this is a small price to pay, you know, for three shades of Karen. Additionally, be explicit. Don't just tell your model that you want your background removed. Also, tell it not to paint a bunch of white and gray squares pretending like the background is removed. Don't let it trick you because it will try, okay? And then finally, we have the mystery of the seamless loop. We need our store background to repeat time and time again, but AI really struggles with matching the edges of such a complex image. It works for simple patterns, but not so much with a high detailed environment. So, I had to manually fix it in Photoshop, but if you don't have the time or tools, you should go for something basic. Once we have our images, it is time to handle the audio where the best approach is getting your generic sounds from Mixkit or Pixabay or any other royalty-free website, but unique sounds such as the boss has arrived or the main theme song of our game, these should come from our sound department using AI music via

### [10:26](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=626s) Sound Department — AI Music + Audio Workflow

ElevenLabs. But here's mistake number five, which I will not allow you to repeat, and it's plugging in the audio assets only after the rest of the code is written. And again, it makes perfect sense when you're programming with other humans, but it is such a stupid thing to do when you're using AI. So, prepare all your media assets in advance, your images and your audio, and then get AI to incorporate them in one go at the same time. And in the next section, I will show you what happens if you don't do that. And finally, let's bring it all together with our software development department. This time taking the role of a team lead reviewing and testing the code written by juniors. So, we'll go

### [11:09](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=669s) Development Department — AI Developer + GitHub Setup

ahead and click on the AI developer agent, and in our case, we'll pick a starting point of an existing GitHub project. We will then click on the go to GitHub tab followed by authorize a GitHub app. We will then pick our account, and we'll give it access to all our repositories, and we'll of course verify it via email. Now, once the authorization is successful, GenSpark will be connected to our account, or more accurately, Claude will. So, back on GitHub, we will make sure we have a new private repository named Game of Karen, into which we have already uploaded our assets. Now, on my end, you will only see my beautifully labeled images, such as Karen 3 attack right, but on your end, make sure your audio files are there, too, in a separate folder named audio. And make sure these files have descriptive labels, such as Karen jump or Karen attack. Now, clear labels are very important here, because Claude cannot actually see or hear those files. So, if you name them logically, he'll understand their purpose from their title alone. So, now let's use GitHub as a bridge between our computer and GenSpark. For this, we'll go ahead and copy the SSH address of our repository. If you need help with setting up your SSH credentials, please check out the pin comment below. I left all the instructions there. Then, we'll go ahead and open a WSL terminal, and if you don't have one yet, I have an amazing tutorial on the topic. You can find the link in the pin comment, as well. And then, inside our terminal, we will go ahead and type git clone, followed by the URL that we just copied, and let's hit enter. We will enter our root password, of course, and then we will navigate to our project folder with CD, change directory, followed by Game of Karen, which is exactly where our project lives. And beautiful, we are

### [13:10](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=790s) Local GitHub Repo + Pygame Foundation

officially accessing our GitHub repository from our computer. Now, if we want to add a new file to it, for example, a very basic Pygame application, where we only have a star background, as well as Karen, who can only move left and right. And yes, I have a great tutorial for Pygame, too, but we don't really need it because in this video we are barely coding. We are mostly supervising AI. So, all we do at this stage is we save this file locally in our game of Karen folder. On my end, I called it app. py. You can, of course, copy it from my GitHub. And then back in our WSL terminal, we will go ahead and pip install Pygame. Then we will give it a quick run with Python 3 app. py. And beautiful, we see a solid foundation for our game. And now Claude can take over from here. So, let's go ahead and upload our local changes into GitHub because for now they only live on our computer. So, let's quickly collapse our application. And for our first Git command, we will type Git add dot as in Git add all the files in the current directory. And let's hit enter. Then we will double-check that only one of our files has changed. We will do so with Git status. And beautiful, only app. py will be added to GitHub. Everything else will remain unchanged. Next, we will describe all the changes we've made with a comment. We will type Git commit -m and we will type a message of added main game file. And then finally, to send our changes into GitHub, we will type Git push origin main. Where main is the name of the only branch in our GitHub tree, the branch of the team lead. Very soon Jens Spark will

### [15:13](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=913s) AI Developer Branch + First Prototype

sprout its own branch, and he will start working on our project in parallel. If we like what he did, we will then merge it with our branch. But, if he messed it up, the mess will stay on his branch and will not affect ours. We will just get him to fix his code as many times as needed until we are happy with the result. And only then we will go ahead and merge them with the rest of the tree. So, now once our changes were pushed, we will go ahead and refresh the repository in our browser. We will then see app. py and JenSpark will see it, too. Now, after consulting with AI chat, we have a prompt that explains the game to Claude. If it is short, then you did it wrong. It must be very specific, going over the rules and the logic of the game. Also, make sure you are referencing our design document, our AI slides. Additionally, don't forget to add some audio instructions unless you really want to repeat my mistakes. Just keep in mind that no matter how specific you are, you're not going to get the perfect game on the first attempt. That's why having a proper paper trail with GitHub is so important. It stores each and every iteration. So, if Claude decides to go wild, you can easily revert it back. Now, after Claude finished generating the initial game, we will see a new branch on GitHub. We have main, the one we used earlier, and we have JenSpark AI developer. So, let's quickly see what it came up with. For this, we'll navigate back to our terminal and we will type git fetch origin, which will download the latest updates from GitHub. Now, to switch from our main branch to the new one, we will go ahead and type git checkout followed by the name of the branch, JenSpark AI developer. And boom, we are in. And if we now list the files in the current directory, then we see a brand new Python file named main. py, as well as an SRC folder with a whole bunch of files in it. That's where all the objects from our object-oriented workflow live. Okay, and all of it was generated by GenSpark. Let's quickly go ahead and play this game with Python 3 main. py. And okay, most of the elements are here, but we have a major physics problem. Karen is walking on air, and also the camera is stuck. Instead of a scrolling world that progresses towards the manager, we are trapped in the static box. Not good. Now, fixing these two problems didn't take very long, but fine-tuning each and every element in the game to my exact needs required seven revisions, which

### [18:14](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=1094s) Manual Refinement of Agent's Code

brings me to mistake number six. Close enough is good enough. You don't need Claude to revise this huge body of code time and time again because much of it you can just fix on your own. Let me show you how. So, let's say we are finally happy with the changes on the GenSpark branch, and since we are already checked into it, we will just sync the latest updates with get pull origin followed by GenSpark AI developer. And this is the only command you need when you are testing Claude's revisions. Now, when we play this game once again with Python 3 main. py, it is much better than before. The logic is solid, but the size of characters is kind of weird, and Karen, she's not really flush with the floor. But instead of asking Claude to fix it, let's just ask him how to fix it ourselves. So, all we do is ask, "Where can I modify the size of Karen, enemies, tokens, and boss? " And then Claude will reply with the file name as well as the exact variables to modify. You don't need to be a software developer to follow these instructions. You're just playing with numbers. For example, let's open Okay, let's open settings. py and we will click on the find tab followed by another find. And then at the very bottom, we will go ahead and search for Karen height PCT. Okay, there you go. When we find it, we will then modify its value from a size of 15% to a size of 25%. Ta-da! And then, if we go ahead and scroll down, we can do the same for the enemies. We will change their size. Okay, let's say to 25% and then to 20% and then finally to 14% and so on and so on. So, yeah, it will take you a bit longer than just asking Claude to do it for you. But again, this is a trade-off between time and money. If you have the time, do it. money, don't. I'm just showing you that there's different ways of approaching it. Now, let's say we are

### [20:38](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=1238s) Git Merge + Final Integration

happy with our manual changes and we want to push them back to GitHub. But how on Earth are we supposed to do that from the Gen Spark branch? Well, similar to earlier, we will go ahead and type git add all. We will double-check with git status and we will then leave a message with git commit {dash} m and our message would be let's say refined the game manually. But unlike previously, when we pushed our changes to the main branch, we will now push them to the GenSpark branch. We will do so with Git push origin GenSpark AI developer. Boom. Great. We pushed it, but now we need to merge it with the rest of the tree. For this, we will go back to our main branch with Git checkout main. And then we will merge all the code we wrote with GenSpark into it with Git merge GenSpark AI developer. Now, with this command, we have merged them locally. Now, in order to update these changes on our remote repository, we will go ahead and type Git push origin main. Awesome. Now, when we navigate back to the home page of our game of Karen and we refresh it, we see our most recent comment refined game manually, which means that our merge was successful. Yay! Now, here's what happens when you try to load the audio only after the game is ready, aka mistake number five. So, I

### [22:26](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=1346s) Audio Mistake Review

uploaded all the audio files into the main branch and I asked Claude to reload the entire repository, so he is fully aware of them, but he completely ignored me and in his branch, he did not include the audio files at all. He just hallucinated their entire existence and pretended like they were there. So, I ended up manually wiring all the sound effects and all the music and I just couldn't stop cursing because I should have known better. AI will AI and we always need to keep it in mind. But eventually, I made a really

### [23:03](https://www.youtube.com/watch?v=fI9Z1-SPfaI&t=1383s) Play the Game! 🎮

cool prototype, and we can finally play it. And thank you so much for watching. If you found this video helpful, please share it with the world, and don't forget to leave it a huge thumbs up and all kinds of comments. Now, if you'd like to see more videos of this kind, you can always subscribe to my channel and turn on the notification bell. I'll see you soon in an awesome tutorial. So, in the meanwhile, bye-bye.

---
*Источник: https://ekstraktznaniy.ru/video/52903*