← Back to video archive

Airdroplet AI summary

Google JUST WON the Coding Game...

March 28, 2025Wes RothAI score 98111,072 views

Watch original on YouTube ↗

AI-generated summary

Google seems to have seriously upped its game with the release of Gemini 2.5 Pro, a new AI model that's crushing it, especially when it comes to writing code and building simulations. This thing shot up to number one on AI leaderboards overnight, showing off some seriously impressive capabilities, including understanding and generating complex projects like training other AIs or creating intricate game mechanics from scratch. It feels like a major leap forward, handling tasks that were previously difficult or impossible for other models in a single go.

Here's a breakdown of the cool stuff it did:

  • Gemini 2.5 Pro is a Beast: This new model is apparently number one across AI leaderboards, particularly strong in coding, math, and creative writing. It's the largest score jump seen on the Arena leaderboard, beating out top models like Grok-3 and GPT-4.
  • Amazing Coding Abilities: It's described as "easily the best model for code," incredibly powerful, and capable of one-shotting entire coding tickets, meaning it can solve a complex problem in a single prompt.
  • Massive Context Window: It boasts a 1 million token context window, which means it can remember and process a massive amount of information at once. This seems key to its ability to handle complex, multi-step requests like creating entire games and training pipelines. It feels like you can give it a lot more to think about, and a 2 million token window might even be coming.
  • Self-Correction and Reflection: A surprising insight is its ability to self-correct and improve its reasoning during the thought process. It thinks through a problem, reflects on its initial ideas, and often refines its approach based on that reflection before providing the final answer. This is different from models that just think and then output.
  • Snake AI Simulation: A complex test involved asking the AI to create a two-player snake game in Python with barriers and power-ups, make it play autonomously using reinforcement learning (RL), and set up two different RL training approaches to compare them. Reinforcement learning is like teaching an AI through trial and error, rewarding good actions and penalizing bad ones.
  • One-Shot Potential (Almost): The goal was to see if the AI could one-shot this entire process – game coding, RL pipeline, training setup, and code output – from a single prompt. Previous models couldn't do this, or if they seemed to, you couldn't verify the code.
  • Deep Q Network (DQN) vs. Q-Learning: It chose to compare two RL algorithms: simpler Q-Learning and more complex Deep Q-Learning (DQN), which uses a neural network (like other modern AIs). The DQN approach involves storing learning in a neural network for better scalability, especially in complex environments, unlike Q-Learning which uses a table.
  • Troubleshooting Success: While it didn't perfectly one-shot the snake game code initially (requiring a few back-and-forth interactions to fix syntax errors), it successfully resolved all the issues and produced working code. The presenter doesn't see needing a few rounds of troubleshooting as a failure, calling it reasonable.
  • Successful RL Training: The AI successfully set up and ran the RL training simulation for the snakes. After 10,000 episodes, the snake trained with DQN learned much faster and achieved significantly higher scores than the one trained with Q-Learning, confirming the DQN's effectiveness for this type of task.
  • Out-of-the-Box Outputs: The AI automatically included helpful features like outputting training data progress during the simulation and providing clear instructions on how to run the code, even though these weren't explicitly asked for in the initial prompt.
  • Soccer Simulation: Tasked with creating a self-playing 2D soccer simulation with stats and player trails based on a screenshot, the AI produced working code flawlessly in the first attempt. It used Pygame for the graphics.
  • Iterating on the Soccer Game: When asked to add more detailed stats (ball possession time, kicks, goals) and longer trails, it successfully iterated and added the requested features without breaking the existing code, which is impressive.
  • Galton Board Animation: Asked to create an animated Galton board (a probability demonstration showing how balls fall into bins forming a bell curve), it generated code with various sliders for customization (number of balls, speed, size, left/right bias, bin width).
  • Visual Effects and Physics: It could add physics simulations and trails for the falling balls. When asked to make it more visually appealing, it added color-changing trails and floating numbers showing bin counts.
  • Reliability: A key takeaway from the Galton board and other tests is how rarely the AI breaks the code. It tends to produce working, usable code on the first try, even if it's not exactly what was initially envisioned. This is a significant improvement over older models.
  • Flappy Bird with Hand Tracking: An ambitious task involved creating a 3D Flappy Bird clone controlled by hand motions via a webcam. The AI successfully generated the code, which ran locally in a web browser, smoothly handling the webcam integration.
  • Input Visibility Issue: The first version of the Flappy Bird game worked but lacked a visual representation of the user's hand input, making it hard to control. When asked to include the camera feed and hand tracking overlay, the AI failed to produce a working game, showing the hand tracking but no bird. This was a notable failure point.
  • TV Channel Simulation: Asked to create a simulated TV with different channels (0-9) showing random animations based on classic TV genres, the AI created a working interactive simulation. Each channel displayed a unique, creative animation (static, sketches, abstract graphics, sports, space, cooking, mystery, nature). This worked well right away.
  • Blood Bowl Game Simulation: A complex request was to create a game resembling Blood Bowl (fantasy American football with violent mechanics and permadeath) featuring Orcs and Elves with specific stats and dice rolls for actions and injuries.
  • Text-Based Interpretation: Initially, the AI interpreted the request for a game based on a board/video game as a text-based simulation, which was technically a very accurate and brilliant interpretation of the board game mechanics (turn-based, dice rolls, injury checks). This initial version worked exceptionally well, simulating detailed game events and injuries, including player death.
  • Attempting Graphics: When asked to make it a real-time game with basic graphics, the AI struggled. It produced a text-based graphical display, then a simple real-time simulation that was hard to follow, and finally a version where players mostly just fought instead of playing football, though injury and death mechanics were present.
  • Refining the Blood Bowl Sim: Changing the sport to soccer (which it had success with earlier) helped. The AI started building in concepts like player states (idle, moving, injured, dead) and future-proofing (adding HP even if not used yet).
  • Partial Code Outputs: A frustrating aspect encountered during troubleshooting was the AI sometimes only providing the corrected code snippet rather than the full, updated code file, requiring extra steps to merge the changes. Setting a system instruction to always provide the full code helped.
  • Successful Soccer/Blood Bowl Hybrid: After several iterations and specifying full code output, it finally created a real-time soccer-like game with Blood Bowl injury mechanics. Players could pick up the ball and run, and the injury/knockdown system worked, although the player behavior was still somewhat unrefined (sometimes freezing or just fighting).
  • Plague Inc Simulation: Testing the massive context window, the AI was asked to create a game similar to Plague Inc (spreading a pathogen globally, evolving traits, racing against a cure). The prompt included feeding it detailed game mechanics described by another AI.
  • Initial Text-Based Output: Similar to Blood Bowl, the first attempt was text-based. When asked for graphics, it produced a visual map where you could choose a starting country and mutate the pathogen.
  • Speed Issues and Fixes: The initial simulation speed was very slow (real-time). Asking it to add speed options (2x, 4x, 10x) helped. It successfully added transmission types and showed infection spreading on the map.
  • Visual Glitches: Some visual elements clipped off-screen, and connecting lines (potentially ports) weren't fully clear, but the core infection simulation worked.
  • Hand Music Player: The final test involved creating code to play musical notes using hand motions tracked by a webcam. It successfully generated a web-based application that tracked finger positions and played notes when specific fingers were brought together, though the input method felt a bit awkward.
  • Overall Impression: The AI is extremely impressive at understanding complex prompts, generating working code, and handling large amounts of context. While not perfect (some graphical issues, occasional failures on complex visual tasks), its ability to create intricate simulations, including machine learning pipelines and game mechanics, is a significant leap. It rarely produces completely broken code, and its troubleshooting capabilities are strong. It truly feels like a powerful coding assistant.

Video transcript

Open transcript
I think Sam Altman annoyed Google one too many times and they dropped this. Gemini 2.5 Pro. It becomes the number one in the arena leaderboard overnight. And it's the largest score jump ever, plus 40 points versus ROK3 and GPT 4.5. Number one across all categories, uniquely number one in math, creative writing, and uniquely number one in many other important categories. And people are raving about it. Here's McKay Wrigley saying it's easily the best model for code. Extremely powerful. The 1 million token context window is legit. It shows flashes of genuine insight, brilliance, and consistently one-shots entire tickets. That's been my experience as well. This is the first model I was able to do in one shot. One of the hardest problems that I've tried. Having created a video game from scratch. Creating an entire reinforcement learning pipeline to teach the little bots in there to play that game. Like create neural nets and then run those bots through simulations to develop skills. And specifically, I've asked it to create multiple approaches to test those approaches against one another to see which one is better. So this thing wrote the code, created the machine learning approach, the training pipeline. As you'll see, it did it better than the other models did it with some like genuine insight and brilliance. It's smart just out of the box. You don't have to spell things out for it. It did it in one shot, the only model to have done so. If you want to try it for yourself, head to AISTUDIO.GOGLE.COM. It's free. The model we're talking about is called the Gemini 2.5 Pro. And right now, that's the experimental 03-25 model. Notice the knowledge cutoff is January 2025. One thing that I've noticed that kind of caught me off guard is this self-correction slash improvements during thought process. It does a sort of self-correction, self-reflection during the reasoning process, during the thought process. So usually you see a model, think about it, then output the answer. This seems to work a little bit differently. This seems to think about it at length, but then it almost uses that context to think about it some more. Like it's a second reasoning step almost, and only at the end of which it's going to output the actual sort of the answer, the inference for you. So recently we saw the 03 Mini High was an excellent coder. We had Glorock 3, another excellent coder. We have the Cloud Models 3.5, 3.7. Again, excellent coders. And in my mind, they're kind of at the same tier. Maybe some are better, some are worse, but they're all kind of about the same. They're all very, very good. I think I maybe missed the release of this model because I assumed that it would be kind of on that same tier. It would be on par with what OpenAI and Grok and Claude, Anthropic, what they have right now. I was very surprised when I saw it. I was like, whoa. I got caught just gibbliging everything in my life and making studio ghibli versions of basically everybody that I knew. But I'm back. My head's back in the game. We'll talk about OpenAI gibbliging everything in the world tomorrow. But today it's Gemini 2.5 Pro experimental time because this thing is a beast. Let's check it out. A snake with a brain. So one of the funnest things I've come up with to test these models to see how well it can code is this. I want this AI to train another AI to do something for it. So to actually train up an actual neural net, use some sort of a reinforcement training pipeline to create an AI to do some task or project. Now, I was never been able to create this in one prompt. So usually you would create the task first, have it code up the task. Like, for example, if you want to learn to play a snake game, you create the snake game first. Then you have it come up with the reinforcement learning training pipeline. Then you run it yourself. And then you have it combined. Never have I been able to one shot the entire process from beginning to end with one prompt. With this model, with the large context window, 1 million tokens, let's see if we can make it happen. The closest thing before this was Manus AI. It seemed like it ran everything, but it wasn't able to get me all the code and all the files for me to be able to confirm it. So it looked like it did it. I just could not 100% verify it. It did provide the sort of the report. It looked legit. But let's see if Google can do it. So we're going to create a two-player game in Python. The two snakes will compete against each other for the high score. Add barriers, power-ups, and complex mazes. Make it play autonomously. Create a reinforcement learning training pipeline where the snakes learn to play and improve. Create two separate training approaches for each snake to see which one makes the better approach. So it kind of deconstructs the request. The core game is a two-player snake. Simple enough. It eats and gets the high score. But we're using RL. We're using reinforcement learning to teach the snakes. So it's not a little script. It's, you know, a neural net. It's a brain, if you will. And the whole point is to compare two different reinforcement learning training approaches for the two snakes. So it thinks through the game loop, how to design the game. So again, I'm sure that it's going to be able to do this. And it's probably going to be able to do this very, very well. We're not necessarily looking for the most complex of snake games. I'm trying to see if we can one-shot the entire RL training and then give me all the code needed to run it, test it, and compare it. That's really where this comes into play. So it thinks through state representation for reinforcement learning, action space, reward function, RL algorithms, deep Q network. So this is important to understand because before you had to know quite a lot to be able to do anything like this, right? Now we're able to just jump in and start doing it, start messing around with it, start learning about it. And the AI model kind of like provides the training wheels for us. Now, obviously, if we just like copy and paste the code, we don't even understand what it's doing. It's kind of missing the point. It's still cool, but you're not learning. But if you're using this process to always dig deeper and try to understand what's happening and keep learning, then this could be extremely, extremely useful. So here's the reward function, right? So it gets 20 points for getting a food, 15 for the power up, loses 30 points. If it loses, it wins 30 points if it wins. And there's a small penalty per step to encourage speed. So meaning that the faster it does it, the less of a penalty it is. So it means like just hurry up, like don't take your time to win, just win. This is terrific so far. Notice how it does self-correction and improvements during the thought process, right? So it's kind of doing this self-reflection thing, right? So the initial thought is maybe just end the game when both snakes die. But after going through this, it sort of corrects its thinking, its initial thought, right? So its initial thought is do this. Then it thinks through a whole bunch of stuff. And now it's like, no, wait, that was a bad idea. Here's the correction. Here's the new and improved thought. Ending the game when one dies simplifies the winner-loser rewards and makes episodes potentially shorter, right? So it's thinking through how to make this efficient, how to make this faster without losing any quality. There's other things that it thinks about and corrects. This is interesting. So simple cue learning for both, right? So it's like, oh, we're going to use the same algo for both of these or the same sort of RL approach. And it corrects. It's like, no, no, no. We need two different approaches. So now we're doing a cue learning and a GQN and we're going to be testing those against each other. So it's like a split test of different training approaches. Now, I told it to create power-ups. So its initial thought was like, let's make like really complex power-ups. It corrects to like, no, no, no. Let's get the core reinforcement learning working and we can add more complexity later. I got to give it a pat on the back here because if it decided to ramp up the complexity, but the code didn't work, that would be kind of a waste of time. Every once in a while, it's so bizarre to read these outputs because, yeah, it's just text on a page. But no, not really. It's reasoning through how to create a project that you've just randomly come up with. You're like, hey, make these two snakes battle each other with reinforcement learning. And this is it thinking through all the future possible permutations of how to do it to come up with the most optimal answer. And then it does it. Like, I get that we've seen this before, but I hope it never loses its magic. Do you know what I mean? So it creates a whole huge project structure again, which is good. Now for this, I'm always going to tell it to just condense everything to one file. But I mean, this would be for like a real quote unquote project. This would be a better approach. Very cool. So it creates a requirements file. So basically for running any of these things, you're probably going to have to install a bunch of stuff. PyTorch is a reinforcement learning, open source training sort of a system created by Meta, aka Facebook. But it puts all the required installations, all the packages in a requirements that TXT file, which is a sort of common way of doing this. If you're getting something off of a GitHub project, for example, they'll usually have something like this. That way you don't have to know how to install everything. You just type this one line and you say install everything in this file, right? And then this is the file and just installs everything. And here's like the bulk of the code that's defining the game, the neural network, the agent logic. Then we have the training script. Every once in a while, I get comments on these videos telling me that I'm hyping things too much. How can you not be hyped when you do you understand what it's doing? I don't know if you're not hyped. Keep in mind, like three, four years ago, it couldn't code. Now it can code and do machine learning to create its own little AI agents. Where do you think it'll be four years from now? Just think about it. All right, so it explains the key concepts, tells you which every one of those little documents and files, what they do. It tells you how to run it. And then it kind of gives you potential improvements and further complexity. Once you're done, you can just take this, paste it back in there and be like, make it better. I've asked to just combine it into one file just for simplicity's sake. Also for troubleshooting, I just want to be able to like copy and paste it in there and be like, like you deal with it. You just change whatever you need to change. Now, unfortunately, it was not able to one shot it. I had to paste this error message into it. It tried to do it. It wasn't able to do it. I had to paste it in there again. So it's like, oh, you're right. My apologies. But even that was not enough. Unfortunately, we're still getting hit with error messages. And it would insist on giving you just the corrected portion. And it would be like, and the rest of the code goes here. It's like, no, no, no. Just rewrite the entire code with all the corrections and make sure the problem is fixed. This is the hallmark of being a good manager, of a good leader. You're like, make sure it's done. Make sure it's good. You know, and then everything's fine. So at this point, you thought maybe we're kind of in a doom loop. It's not going to be able to do it. But no, it did it. I had to paste the error in three times for it to troubleshoot it and resolve everything. And it did it. It freaking did it. I would not take any points for that even because, again, it's like part of the troubleshooting process. Three sort of back and forth to fix all the code and make it work. That seems very reasonable. So here's kind of how we run the game. So first and foremost, we run the training mode. This is the command to run that. And we can set how many episodes we want to run it for. So, for example, if we wanted to run it for 10,000 episodes, that means those two little snakes will, in this Groundhog Day simulation, wake up each morning and then run through their little paces until one of them wins. Now it happened 10,000 times. And each time they will get rewarded for certain strategies. Right. So the better they do, the more rewards they get. And over time, they'll figure out how to play the game to the best of their ability, to the best of how well they've learned to do it within those 10,000 simulations. And we're able to do it like this means. So it's like headless. It runs faster. So we don't see any visuals. It runs kind of behind the scenes. It doesn't render it for us. Whereas, or we can use this visual train. It will run with visualization. It's very slow. Right. So 10,000 episodes will take days, weeks. Who knows? But let's try this 10,000. All right. So that's our little command episodes. Let's do 10,000. And let's see how quickly this goes. And away we go. All right. So it's starting to train. So as you can see here, 200, 300, 400. So that's going pretty fast, I got to say. And as you can see, as we're going through the steps, we're seeing the improvements of these models. They're getting a little bit better and better. So basically what we're kind of looking at is the average score for the last 100. And we're looking at player one and player two. So as you can see here, when we started, the average scores were very, very low. 0.04 and 0.06. Right. In the first 200, it looks like one of them was even at zero. Player one is at 0.02. So very, very low. Also, it looks like the time is going to go up the better they get. I mean, they're going to be able to play for longer the more and more they understand it. Right. So here by 1,500 sort of episodes in, the scores are going up. Right. 0.07, 0.1. And as we keep scrolling, look at that. This player two is hitting 0.31. So much, much better than where they started. So this DNQ seems to be winning so far, 0.58. So we see the learning progression. It's learning new skills. It's learning how to avoid dying. It's learning how to keep eating the fruit and growing, etc. Player one is also learning, but a much slower pace. So it's still at 0.11. About halfway in, player two is hitting, you know, 1.05, 1.43. And the games are taking a lot longer now. By 6,000, player two is hitting 2.13. Player one is still low. 0.2 seems like one of the highest. All right. So that took a good amount of time. That may be six to 10 minutes. I would say something like that. But it finally completed. As you can imagine, player two was the winner. Much, much better scores. Much faster learning abilities. And the time of the games was getting very, very long towards the end. So it started fast and then really started slowing down because they were able to keep it going for much, much longer. So here at the end, that's eight minutes. So it's simulated sort of eight minutes worth of time in seconds, basically. And I asked ChatGPT for kind of the key differences between the two training approaches that we've used. So player one was QL, Q learning. And player two was DQN, deep Q learning. And while they're somewhat similar, the QL, it's a simpler approach. We're storing these values in a table, whereas with a DQN, we're storing them in a neural network. So DQN is closer to, you know, ChatGPT and all the other neural networks. I mean, obviously, there's a difference of complexity, scale, et cetera. But the deep Q learning is much closer to what we think of as AI today. It has great scalability, whereas the Q learning is poor. Q learning, you want kind of the action space in the state. So how complex the learning environment is. If it's small, it's very like a discrete as in it's either this or that. Like it's easy for Q learning to do well there. But for more large, continuous environments, you want a DQN. And with DQN, you have experienced sample efficiency with via experience replay. It's more complex. So and we kind of saw that. We saw that play out because they start out about the same right here. You know, they're kind of both bad. But after a thousand iterations, the DQN starts pulling ahead and it keeps going ahead fairly rapidly, getting better and better and better. Towards the end, it's many, many, many times more effective at the game than the Q learning approach. Notice both improved quite a bit, but one was just faster, a faster learner. It adapted better. It learned faster. It improved faster. Interestingly, we can probably have kept this going and improved it even further. But let's see if we're actually able to play the game and see how well these snakes perform. So, for example, we can run this command. And this does five games by default, but we can add however many we want to. We can play 10 games or more, for example. So let's say play 20 games for us. Let's see. So that is it. So as you can see here, player one is. So I'm trying to figure out which one is which. So it seems like blue is player two. It seems like green is player one. So as you can see, player two is winning handsomely. Right. So it keeps scoring, keep winning. And now, as you can see, it's looks like it's got stuck a little bit. They both got stuck. Uh-oh. But you can see player one is a little bit more adaptable and just seems to be more intelligent about how it's going about playing the game. The environment is pretty simple and the model chose to keep it simple, but also, you know, sort of had some suggestions for how to improve it, how to make it more complex, more interesting, et cetera. But as it stands now, I am very, very impressed by how well it did. So here's the thing. This is the first time any model that I've tested has been able to just one shot this. And I'm not, I'm not taking the consideration of the fact that we had to go back and forth a little bit for it to troubleshoot. There was some error, some syntax error. I'm not seeing that as an issue. It solved it quickly. It was able to solve it. It's just not a big deal. It was able to take this one prompt and complete everything exactly as described. In the past, also with other models, once they complete the first time, I often had to come back and tell them, okay, for every sort of training run as it's going, output any data that would be interesting for us to see as it's improving, that we can feed back into the model to how it makes some improvements, right? So for example, if one of the training approaches isn't working that well, why, right? So if you have some data output, you can just put it back in and say, fix it. Here, it did that by default. Notice nowhere here that I explained for it how to do those sort of the little outputs that it did. So this whole thing, it came up with on its own and it decided to do it on its own. And also the commands that I need to run to do the training to do this, everything was spelled out. Everything was in one file. This was far and away the best attempt at this particular prompt, the prompt of this complexity that I've seen bar none. The only thing that came close was Manus. Now Manus is an AI agent. It's running off of Cloud 3.5 Sonnet, but it's running in its own sort of a Linux virtual machine. So it's got a lot more power to do stuff and to test stuff. And it ran for a while. It ran for like 15 minutes and it was able to provide to me the results of this. And it came to the same conclusion that the DQN did better. But here's the thing, because all of the code and all the documentations was on its own sort of virtual machine that it created. I couldn't pull the code and actually verify it. And Manus is a brand new project. They're still ironing out all the bugs and stuff like that. So it seems like it did it. But again, I can't 100% say that it did. Here, again, it did it. It did it without being sort of an agent. It's just a large language model chatbot. So it just outputs the code. I run the code. And I was able to one shot it, include everything without even sort of like anything like being plugged into Cursor without having that sort of agentic structure. I got to hand it to Google. They've created something really special here. This thing is a beast. Goal. So I saw this person, Trudy Painter, do a soccer simulation based on some old school game I'm not familiar with. But the idea was very interesting. So I uploaded a screenshot from a random Nintendo game in 1990. And I said, create a game like the screenshot. Make it a simulation of soccer that plays itself. There should be two teams. Each player should have a trail that displays the path they traveled. Add live stats that update as the game is played. It chose to go with a pie game and put all this stuff out, all this code. And here's that game running right here. So as you can see, the trails could be a little bit longer. We definitely need to add those. But it's playing by itself. It's got two teams. Definitely would like a little bit more stats, but I can probably explain to it exactly what we want. But I mean, this is very, very good. Very impressive for how quickly, how accurately it did everything. There were no bugs, no errors. I mean, not that long ago, you'd expect there to be some errors, some issues here. It just makes what you ask for. And the version one is something that works and works very well. That's fluid. It's polished. And then the details that you want to change, you can change. All right, so this is great. We'll give it a thumbs up. So let's make the trails longer. Let's give each player a number. Let's have the left side team have a display of all the player stats. How long each player held the ball, how many passes and kicks they've made, how many goals they've scored. So let's see if it can sort of iterate on that and add the additional functionality that we need. And so here's that. It's a little bit hard to see here on the left-hand side, the stats. So I'm guessing that's Brazil. The trails are longer, which is perfect. So as you can see here, player four and five looks like are the only ones that have made contact with the ball so far. So, okay. I mean, this is looking very, very good. So it's tracking their kicks, the number of kicks that they've made, how long they've had possession of the ball. As you can see here, it's like running up. If they have possession, that timer keeps going up. And, you know, the number of goals, which is right now zero because they're getting whooped. Oh my God. I feel bad for this team. But at least we know the stats of why exactly they're sucking and we know what to improve. The game ended with bra zero and three goals by the opposing team. I gotta say, this is impressive. It's one-shotting this stuff. It's very, very good. Disturbing display of distribution. All right. Next one. Have you seen those Galtron boards? Basically kind of shows you the distribution of things. If you have like a 50-50 probability of a ball either bouncing left or right. So let's see if we can recreate something like this. So for this prompt, I said, create a code to animate a Galtron board. And then I used another model to create some possible sliders and options to use. And this is what came up with. You'll see all these things in just a second, but here it is. It outputs the file and there it is. So the number of balls is going to be the total amount that we run through the simulation. So if we set it to like 30, then it will be done at this point. You can kind of see the distribution. So let's just keep it going at a thousand. Peg rows. So this is expanding how big this pyramid is. Drop speed. We can have it go very, very fast or slow it down. Interestingly, 10 is slow and one is fast. Then we can also increase the ball size. Let's see. So this is the largest. And here are the small. You can barely see those. They're like grains of sand. All right, let's do. This is a good one. And let's slow down just a little bit so I can show you the other things. A left or right bias. Now, obviously, 0.5 is where it has a 50-50 chance. But if we skew it a little bit to the right, that, of course, changes. Let's see. Let me just double check. OK, so it's left bias towards falling towards the left. OK, let's put it back at 0.5. Bin width factor. So how big the bins are. OK, so let's do this. We're going to slow it down. And as you can see here now, they're just going to click left or right. And here we can actually enable physics. So it's a little bit more. That's interesting. So kind of like some of them kind of teeter on the edge before slowly falling down. And if we increase the speed a little bit, that's how that appears. That is pretty cool, I got to say. And we also can do show trails. And this way, let me do the speeds a little bit faster. We can see the trails of them as they're falling down. So that's pretty cool. Because keep in mind, the only thing I wrote is create this board. And then I had chatgpt04 say, hey, come up with some cool things that we can test out. So what happened there? There might be some glitch, some visual glitch there. So here's kind of a reset of it. So it would be good to be able to change how fast they sort of fall. So I think if the drop speed is too high at first, it might cause some issues down the road. There's some graphical glitches. But if you do it at the slower speed, you can kind of slowly see all of them making their way down. I would give this an A right off the bat. But can we crank it up to 11? So we're going to say make it much more visually appealing. Default to physics and trails being on. Add any cool visual effects you see fit. Maybe some floating numbers showing something. Let's see what that does. Okay, so here's that. The thing that it recreated. So I no longer see the balls, just the trails. Okay, so it either shows the balls or the trails. Okay, that's a little bit weird. Let's split down the speed a little bit. So it looks like as they're falling, they're sort of changing colors. Oh, and there's some floating numbers here that show kind of, what is it? I'm guessing seven. I guess how many fell in there? Nine? I'm not sure. Is it like points? Am I winning? I'm not sure what these numbers are. Okay, so the floating number is just a bin number. And the bin count is at the top. So like it falls in here. That's 11. This is a... So it just shows the bin number it fell in. And this shows the score. And this shows sort of the graph of the distribution. So, so far it's very good. I got to say, the one thing that's noticeable out of all the experiments that I've done so far is how rarely it breaks stuff. You know, knock on wood. But so far it's been pretty, pretty unlikely to break stuff. I can't think of anything that had completely broken, at least as of this recording. It tends to put out usable working code. So I'd give this a 9 out of 10, I think. It missed a few things, but overall it's very, very impressive. It follows the directions. Every single one of the sliders pretty much works perfectly. As far as I can tell, I didn't test them in this iteration, but I assume they're all working just fine. And I mean, look at that. Wow. That's actually pretty impressive. And we shift it to one side. Wow. Okay. That's, that's pretty neato, I feel like. And then if we change the ball size to here, I, I, it did everything very, very well. I got to say, I'm impressed with how well everything works. Nothing screws up. Nothing completely fails to, to work. Like none of my complaints are about it not being able to function properly. And it's like, it just does everything. You know, maybe it's not how I, it's not how I imagined it in my head, but the fact that it puts out, you know, working code that works every single time. Come on. Think about how mind blowing this would have been three, four years ago. Right. You would have been like, it does what? Anyways, um, solid nine out of 10, but I just realized I haven't been grading any other ones. So this is so far the only one I've graded. So this is kind of like whose line is it anyway, where, you know, you get points, but they don't really mean anything. So, but still nine points. Flap your hands, flappy bird. So on Twitter, Peter Levels had that video game vibe jam 2025, where people basically created video games with AI doing a vibe coding. One of the entries was a guy like flapping his hands in front of the camera. And that translated to a 3D bird flying through pipes, a flappy bird, if you will. It was literally a 3D flappy bird clone that you had to control by flapping your hands, your wings. And I don't remember who it was. I wish I could give him credit. If I find, I'll put it in the comment section if I find it, but I really wanted to test that out. So create a game similar to flappy bird and make the game 3D. Use the user's webcam to track their hand motions. As the user moves their hand up and down, that makes the birds flap its wings. It did it. It worked. It ran it in a, like a local server so that you're able to just open up in a webpage. By the way, this model was the smoothest one so far and being able to do that. Just phenomenal. I haven't seen other models. Sometimes you have to do a few things. Sometimes it won't work. This one just boom, did it. The problem is I couldn't record it since I had to use my webcam and recording at the same time was an issue. And it didn't display a visual of me on screen. So it was a little bit difficult to figure out kind of like the input was hard. It was hard to figure out how to flap your hands around to make the bird fly. It was okay, but it was a little bit, you needed some sort of a display of where your hand was or some sort of a representation of your hand on the screen. So I am going to redo that whole thing. So create a game similar to flappy bird, make the game 3D, use the user's webcam to track their hand motions. But I'm going to add, have the user's camera feed be visible in the game. I'm going to say have some sort of an overlay over the fingers or the hand that shows how it's getting tracked. So I'm going to start there. So in each case, it gives you three files, the index, the script.js and a style.css. It defaults to that. But basically what you do is here's our HTML page. By default, we just call it index.html. So we take this code, we paste it in there and we'd save that as index.html. Next file is a game.js. And that's this right here. And actually here, it just wants those two files. So let's check it out and see if it runs. All right, let's try it. So that's not working. So interestingly, I just see a black screen. But in the top right corner, I do see kind of a, this is my hand, if you can tell. As I move it, I guess I can make it into a fist. Peace sign, OK sign. So it's picking that up and it's drawing like a little overlay. So ideally, as I do something like this, the bird would fly and be able to control the game this way. But there is no bird here or here or here. But where is the bird? Where? Is it here? Is it here? There? It's nowhere. Where's the bird? There are zero, zero birds. Zero, zero birds. So interestingly, it says add this to the CSS file. It did not have a CSS file, which is kind of what you use for styling and stuff like that. So I've created it. I need to add this to the top of the index file. All right. So we're back to here. We have the hand, but still no bird, as you can see. Grrr. All right. So we have the style sheet. And now this is what the entire window looks like. I can see my hand. But as you can see, there's no bird. Not here. Not here. Very frustrating. Grrr. Grrr. Frustrating. Channel surfing. Credit to Alexander Chan for this one. And create a TV with different channels and just create random animations on each channel. So let's see what it does. So here's the prompt. So coded TV that lets me change channels with keys zero through nine. Come up with an idea for all the channels, all the numbers. Inspired by classic genres of TV channels. And then I give it some specifications on how to do it. And so here's the initial output. And as you can see, static void. But once we start pushing the buttons on one, it's live. Sketch goes live. Local artists competes TV simulation. Very cool. Number two, Tooniverse Junior. We just basically have this red ball flowing up and down. Number three is Echo Pulse. Very incredible, amazing graphics. Number four is some sort of a, I mean, sport? Soccer? Or what is that thing where you hit the little ball with the sliding thing with the rackets? There's a name for it. Is it air hockey? I think it's air hockey. And the score is just going up. Actually, it's not going up. It's going up and down. It's just random numbers changing. Okay. Number five is the cosmos. As you can see, we are approaching a planet with some sort of a spaceship. I have no idea, but it's terrific. And six is our Saber Station. Are you ready for the flavor explosion? Something's cooking. And something is mashing something else. You get the idea. Eight is Silver Shadows. Ooh, this is some sort of one of those things where, you know, it starts out with a happy family and then it goes really, really bad. And the rest of the time you're trying to figure out what happened. Some sort of a murder mystery or something like that. Silver Shadows. Let me ask you, what movie do you think of when you hear the song Singing in the Rain? Was there a movie that just ruined that song for you? And if so, which one? And nine is, of course, Terra Focus. So this is your animal planet. Oh, look. What is that? Some sort of a frightened cat, I think, that's slowly creeping across the savannah as the sun's going up. Wonderful. And Zero is Static Void. Well, I gotta say, that's pretty good with just one prompt. Blood Bowl. There used to be this tabletop game and eventually became a video game called the Blood Bowl. So if you kind of think of the Dungeons and Dragons universe, or specifically, this is the Warhammer universe. It's that, but they play, you know, American football. And it's very bloody. People get hurt and injured, etc. And the different teams are sort of the different sort of sets of mythical creatures. Like you can have the dwarves, the orcs, the elves, etc. Can this model just recreate that? Let's see. Let's create a game that resembles a Blood Bowl. This game takes place in a Dungeons and Dragons-like universe. Each team has a collection of fantasy creatures like orcs, goblins, elves, etc. The game they are playing is a more violent version of American football. Create a game that plays itself. Create an orc team that is slower but hits harder and is able to knock down opponents. They excel at running the ball and are hard to take down. The other team will be elves. They are faster and better at the passing game. Create each player of strength, endurance, agility, and speed. Stats. Strength determines how hard they hit. Endurance, how likely they are to not get knocked down or not get injured. Agility is for passing and handling the ball off. I was thinking handing the ball off, but maybe handling the ball is probably a better way of saying that. Speed is the movement speed. Make each one between 1 and 10. Each action gets a simulated 20-sided dice roll to see if it passes or fails. The number needed to pass depends on the player's stat. 1 is always a critical failure. 20 is always a critical success. Otherwise, it might be something like to knock down an opponent by blocking. The formula is 8 plus strength. If the roll is above that, the block succeeds. Create a display of all the player's stats and also a box that shows the results of the dice rolls as they happen. Alright, so that seems pretty complicated. I don't know where it's going to go with this. But I just want to add one thing that is sort of, I think, the special sauce that makes this game just incredible. Because in that game, these players develop experience and get more abilities over time. So you sort of are very invested in these players. And as they level up and get better, you kind of rely on them more and more. Here's the problem. Anytime they fail or they get hit, there's a chance that they are sort of injured. And then you roll the 20-sided die again to determine how bad their injury is. And if that number is bad enough, they die. Or they have some permanent injury that makes them, you know, lose agility, for example. So it basically means that your star player can just drop dead, you know, at any time. The chance is low, but it does happen and it is just devastating. I've never had any anger issues, but the closest I've come is playing this game. Whenever a player gets hit or fails any action, roll a 20-sided dice to see if they're injured. And I know that dice is plural and die is singular, but I feel like this is just going to be a little bit more clear. I'm going to say rolling one is instant death. Two to 10 is injury, meaning they stay down until the end of the round. Otherwise, no injury. So we'll at least get that sort of mechanic in there and we can add more sort of flavors of various things that can happen to them when they fail in action or get hit. Let's go for it. All right. So they gave us the code here. Let's find out how well it works. Press enter to start the game. Okay. All right. So first and foremost, I did not realize, but it chose to do it as a text-based game, which is interesting. That's not why I expected, but actually it could be very interesting. And now that I think about it, I mean, since the original game was a sort of turn-based, this is, and it's probably thinking I'm referencing the board game. I mean, the text-based game is literally the best interpretation of what I told it to do. So as you can see here, the elf thrower attempts a pass. The agility is 8. It rolled a 2, and it's a failure. So he drops the ball. Fumble. The turn is over. And then as the game continues, the elf thrower tries to block an orca blitzer. Critical failure. I'm so sorry. There's an injury check, and the elf thrower is knocked down. This is beautiful. Again, it's not what I wanted, so to speak, but I didn't specify. And based on the prompt, I got to give this thing an A. This is beautiful. Brilliant. Very, very well done. Each sort of round that we play through kind of shows you like we have an injury here. We have a knockdown play here. Absolutely incredible. That's who has the ball. All right, I'm blown away, but let's try to make this into a real-time thing with graphics. But I got to say, this gets an A for me. So I'm pasting in the same exact prompt. I will add this. Let's make this like a game with basic graphics, and it will play out in real-time, not turn-based. So let's see how well it does there. Everything else is staying the same. One thing that kind of jumps out at me, so these are sort of the thoughts of the model as it's doing the task. As it gets to a certain point, it outputs the code, right, which is sort of normal. But so that code is actually within its reasoning, within its thoughts. However, next, it continues, and there's yet another code block. So it almost seems like it has multiple sort of reasoning steps that it goes in and out of. So I have to verify that, but that's interesting. I don't know if I've seen that before. But let's see how well it was able to make this game. So again, it's text-based. Okay, so it's got like a little basic graphics. I guess it chose to do text-based graphics. Okay. I actually found this game from the 90s, the Blood Bowl game from the 90s. So I'm going to use this as a sort of an illustration of what it should look like. All right, so we're going to try that again. I'll specify that it should not be text-based. And I'm going to add this as sort of an illustration of what it should look like. So here's the fantasy football sim. I'm not a thousand percent sure what exactly is happening. Let's roll it again. So here it is. They, yeah, I'm having a hard time following exactly what's going on here. But, I mean, stuff is happening. I'm just not sure exactly what. So one of the things I think that we're encountering is sort of like the football, American football might be a little bit difficult for it to create just due to how the plays are and stuff like that. So I'm going to just change it to soccer because we know that it's able to do soccer well. Let's see if I can change that. I just want to see where we're kind of losing it because obviously it's doing a good job. It's doing something. But I feel like the soccer AI might be a lot easier to create. And since it's kind of an ongoing thing, the game structure might be easier to implement. So let's see where it goes with this. So interestingly, it kind of defines the various player states. Idle, moving, has ball, blocking, passing, knockdown, injured, dead, getting up, etc. We have our injury, duration, knockdown, duration, action, cooldown. Very, very cool. Creates the dice log. Defines the critical success and critical failure as well as the instant death. This is interesting. So notice it's setting the player current HP to zero. And in the comments it says, assuming that, you know, HP might be added later. So it's almost building in a certain future proofing, right? So it assumes, hey, later we might need to add HP. So let's just create this thing now, right? So in case it gets added later, it's defined. That seems very smart, doesn't it? Also, I'm not saying it has a lot of comments that almost hint at what it would do next, potentially, if I had to kind of expand on this. So maybe something that would work here would be to just say, OK, like make it better. And I think it would be able to go through it and just even just based on the comments, improve the game, or you might even take this, add your own comments, expand on them, upload the same code back to it, say improve it using kind of the comments. So here's our new game that's looking pretty good. So this is definitely more of a soccer type thing. The first one crashed, but here it is again. So as you can see here, oops. So there is a error code. Let's see. I'm just going to throw it back in there. I'm kind of glad it happened because this is interesting. It's got to be able to fix any error codes, any error issues that we've sort of encountered. But one thing that is definitely kind of feel it almost is the fact that this is a 1 million token context window. It just feels like you can do a lot more thinking. And it does seem like the 2 million context window is coming. I got to say, like you feel it. It can go through and think about more things, even in that sort of first attempt that it seems like it's having a strong effect. So one thing that's a little bit annoying is it's not giving me the full code. It's like, oh, here's the part that was wrong. Here's the fix. But if I ask for the full code, it should be able to quickly just output the same thing, just the entire thing. So I can just copy and paste it. I'm not doing this because I'm lazy. I'm doing this for science. No, who am I kidding? I'm doing this because I'm lazy. It's just it's easier to ask. Just write the whole thing again, just so you don't have to like control F and find the right code block to replace it with. I understand that it's like 10 times more work for the AI versus me. You know, just a few button clicks. I get it. But such is life. All right. So here's that code again. Boom. Perfect. OK, so we have. Oh, wow. OK, so we do have some sort of a blocking mechanics. It looks like a few people are knocked down. So interestingly enough, it just seems like they're all getting together and just fighting. Most of the elves are injured, a few dead. So they're just basically like piling in there and just fighting. OK, so there's a lot of things that were right. But something with picking up the ball and running into the end zone is not working. So let's see if we can fix that. But I got to say, just as it is, this is kind of interesting to watch. They're just like fighting. Some of them are getting injured. There's a countdown timer for their injuries. It looks like right now the entire orc team has been disabled. Now one of them is back. So there's a lot of things that they got right here. The sort of only issue is that the elf that had the ball should have been running towards the end zone instead of standing there just fighting. Well, technically, Blood Bolt, that could be one of the strategies. In fact, you could be very successful just by trying to beat the other team up instead of actually focusing on scoring the touchdown. So you could argue that this model did sort of capture the spirit of Blood Bolt. All right, but it's got the new code here. Let's see if it helps. OK, so one of the things it's doing is it's not giving you the full code each time. It makes a correction. So for the system instructions, I'm going to say always give you the full code, not just the part you changed. So we'll add that in there. I'm going to say give me the full code here. All right, so let's try that. And here's our new version. So now, yep. OK, so he picks up the ball and he start running. That is very good. Number four is going for the end zone. He might go all the way and nobody that the field is clear in front of him and go elves score one. That's working exactly as intended. That's perfect. So as you can see here, the elves now, some of them are hanging back a little bit. Once the orcs, which are the green, they picked up the ball. Now the elves start charging forward. They're kind of forming a little formation. I got to say, I mean, on, I don't want to say this is the first attempt because we kind of had to go back and forth. But for the first sort of working version of this, this is looking pretty good. All right. So the orcs, it looks like when they beat up enough elves. Oh, nope. The elves got the ball and they're running for the end zone once again. Ooh, they get knocked down. The orcs have it. This is kind of exciting. I mean, they nailed this game. I got to say, there's definitely like a little bit of a back and forth. The AI kind of like the script is still not perfect because they kind of tend to freeze. They kind of tend to wait. But that can be fixed. All in all, as you can see here, they got stuck because the three of them, the one with the ball isn't making it to the end zone. But those are things that we can fix slowly over time. Also, the elves are killing way too many orcs. That seems like it should be happening. There's this game you might have heard about called Plague Inc. I think it's called, that gave birth to this meme where basically someone, if anyone in Madagascar ever sneezes or coughs, like it just shuts down everything. Basically, it'd be like a virus or a bacteria or some sort of a plague pathogen that started somewhere in the world and would slowly infect more and more people, slowly killing people. And you would mutate with different abilities. And it would be a race against the clock because once the world governments would start noticing what's happening, they would start sort of shutting down ports and airports, etc. So I really wanted to kind of take advantage of the massive context window and see just how much sort of directions I can give it. So I actually had in chat GPT, I'm going to try this, the same approach here in Gemini as well, but to have it do a research and kind of write out all of the different core gameplay mechanics, what works, what doesn't kind of describe the game in a lot of sort of detail. And then just tell it to create the following game in whatever coding language is best. Make sure you have graphics, not just text-based. I find myself needing to add that more and more for this model in particular, because sometimes when you give it some complex games, it will do them, but it will kind of opt to do them as a text-based game. So the first time I tried this, it came out as a text-based game. It was pretty good, pretty interesting, but I just wanted to see how well it's able to create the graphics for it. The other thing that's for testing purposes, I keep asking you to make it all in one file. If possible, you don't have to do that. But since this isn't plugged into Cursor or some other development environment, just for testing, it's a lot easier to just smoosh it onto one file so I can just test it out. But here's that. As you can see here, we have the different countries on the map and we get to choose where we get started. I'm going to choose Madagascar to get started. So it looks like we have 20 DNA points and the time is ticking here. 4.1 billion people in the world. One infected. That's our patient zero. And here's the progress for humanity to find a cure. Now, they're still not doing anything because they still don't know that this thing exists. But let's see. We only have one infected. This allows us to mutate and gain different abilities. So let's make them cough a little bit, which increases infectivity. Rash increases severity infectivity. Basically, we want it to be very, very infective. Like the transmission has to be rapid. Also, if it spreads over air, that would be terrific. And maybe if we have how it's spread over land. I don't know. And maybe a rash. There we go. That sounds great. And it's very apparent to me that there needs to be some sort of fast forward button because this is not sure. Is this moving in real time? Is that what this is? Like we would have to wait a few days for somebody else to get infected. All right. So I said no one else is getting infected. Check to make sure it can spread. And also, let's add the ability to run the game at 2x, 4x, and 10x speed. Yeah. Okay. So it's been almost two minutes. And finally, the second person is infected. This is a little bit slower than in the original game. Or maybe the original game had those like speed up timers. So maybe that's what's happening here. And here's that. So interestingly, I'm not sure what these connecting lines are. Maybe these would be the ports. And there's a separate system for the airport. So I'd have to double check. And let's pick up more populated country just to get the ball rolling in China. Please, nobody like yell at me and take this too seriously. This is just a video game. But oh, okay. Look at that. Wow. So look at that. There's definitely a lot more infected people. They're getting infected a lot faster. There's a little bit of an issue with the some of these things kind of clip off screen, but that's fine. Okay. So transmission. Let's add. We have 20 points. How about coughing and air transmission and rash and land? And okay. So there we go. We have 600 people infected and the numbers are going up fast, but I can't change the speed here. Yeah. Please don't make this a political thing. I just started. Just the number was high. Okay. We could have made up. I guess I should have asked for like imaginary countries or something like that just to not start anything. I'm not trying to start anything, but we've got almost 3000 people that are infected. So far, zero dead. Bit of a spoiler, how you win this game is you start by being very infective to where it's like easily gets people infected and transfers, and then you evolve the fatal traits. You don't want people dying too early. Otherwise, it spooks everybody. They close their ports. They close their airports. And you're going to have a bad time if you're the plague, you know. But so far, so good. I'll keep this running. We'll come back and see how this thing evolves. Play that funky music. All right. Here's one where we ask it to create code that uses the user's camera and hand motions to play musical notes. I probably could have worded that better. But basically, we want to be able to handle our hands in front of the camera and play music with it, basically. So here's what it did. And here's the result of the hand music player. So it tracks my fingers pretty well and kind of even predicts where my fingers end up. And I guess how it did it is I have to put, you know, these two fingers together and it plays a note depending on where I am. Come on now. It's not bad.