This project brilliantly demonstrates how data-oriented architecture can redefine the limits of scale, even if it requires a stark trade-off between raw performance and visual immersion. It is a compelling case study in the engineering sacrifices necessary to support ten thousand concurrent players.
深掘り
前提条件
- データがありません。
次のステップ
- データがありません。
深掘り
World's Largest Battle Royale追加:
Six years ago, a YouTuber made the largest battle royale game with 10,000 players. But the record has stood long enough, and it's time to take the crown.
I'm making the world's largest battle royale game with 10,01 players.
Just like the original, the players are going to be everyone who has commented on one of my videos. So, I made a little Python script that ties into the YouTube API and pulls the top 10,0001 commenters into a JSON file. We'll get back to that a little bit later. Instead of cubes, I thought it might be fun to make this into a demolition derby. I found this car model where each part of the car is a different mesh. So, I made a script that manages each part. When its health reaches zero, that part falls off and becomes debris that the cars can run into. Admittedly, I don't know much about cars, but I wanted to make it so that when some crucial parts fell off, it affected how the car drives. So, damaged front wheels will affect a car's ability to turn, and damaged back wheels will make acceleration worse. If the parts that protect the engine fall off and the engine health reaches zero.
Up until this point, I've been manually controlling the car. But for this to work, I need to create behavior that automatically drives the cars. So, I created new auto steer and auto throttle nodes in my custom visual scripting that tie into the nav mesh system. I use the nav mesh for the pathf finding and then the car tries to steer towards it. I made another node to get information about other cars, including their position and parts. But I quickly realized that there's infinite strategies here. And for a demo derby, I want to find a solution that deals the most damage. So I put out an open invite to devs to make a solution with the plan to simulate them in a tournament and then use the best solution as the brain for all of the players in the battle royale. In preparation, I created an arena out of prefabs I had in my project. I lined the perimeter of it with tires using the spline tool, and then I just had to wait.
Even though my custom visual scripting system is still kind of scuffed, the devs have been able to build some really impressive bots. This challenge has really reminded me how useful it is to containerize complicated systems into reusable parts. Once complex behavior becomes simple and modular, it gets way easier to build, experiment, and actually finish things. It's almost like somebody should make a whole game engine around that idea. Game Maker has a visual scripting system that makes it really easy to start building games fast. When you're brand new to GameDev, it can feel like you're drinking from a fire hose. You might understand the logic, but coding can still feel intimidating. What's nice with Game Maker is that you can start visually and then get comfortable with how everything works. Games like Undertale, Hyper Light Drifter, and Pizza Tower were all made using Game Maker. I've been weirdly obsessed with rebuilding Pong in every game engine, and I got this version working in Game Maker with an AI opponent in about 2 hours. It was super fun and easy to pick up. And perhaps the thing I love most is that you can make pixel art and even animations right in the editor. If you're interested in making your own games, I recommend you check out Game Maker using the link in the description. If you end up building something, send it my way so I can check it out. Big thank you to Game Maker for sponsoring this video.
It's tournament day and lightning. Emoji 35, Escapist, Microwave, Artico, and myself have all shown up to compete. We couldn't have asked for better weather, but I can assure you there will be tons of destruction. Three, two, one. Maya lands the first blow on Martico. Emoji 35 and escape is narrowly missed and microwave stops before backing into emoji 35.
Emoji 35 t-bones ya with a door.
Microwave currently sitting in first.
The microwave collides with the barrel and loses both a front and back wheel.
Moji35 somehow narrowly misses three competitors. Mico and Ya both seem stuck against the wall. Lightning reaches some high speeds and collides into the barrels. His engine detaches and launches towards Martico, dealing an incredible amount of damage and disabling Martico. By the end of most competitors are immobile and Emoji 35 takes the win. My plan at this point was to hardcode emoji 35 solution to remove the performance overhead of my visual scripting system. But as I'm sure many of you have suspected, at around only 20 cars, the game is practically unplayable. I even tried just letting the simulation play at low FPS and then using the replay system to record and replay it at full speed. When you get to even 100 players, nothing moves. To get to 10,0001 cars, I need a different approach. So, I pulled out the big guns, the data oriented technology stack. I've never used Dots before, but whenever I run into optimization problems, I just assume Dots would fix it. The downside, as I would quickly find out, is that it's an entirely different architecture that doesn't even use game objects. So, I lost a bunch of features. No debris, no explosions, no player models, no animations, not even any particle effects. I'm pretty sure you can do all of that with dots, but this is basically relearning how to make games. So, I've decided to take some steps back so that we can hit our number. I stripped up basically all of the functionality, but I was able to get 5,000 cars to spawn.
It's pretty clear that we need a larger arena. So, I made our area three times bigger. Now, I need to reintroduce the driving. There's a sample vehicles package that I used to hack my solution into the pathfinding. I remember my friend Turbo talked about something called flow fields. It's great for when you have a bunch of characters trying to go to the same spot. So, I made a bit of a dual approach here. All of the players will try to go towards the center, but when they see another player, they'll retarget their focus. Of course, since it's a battle royale, we have to add a zone that closes in. I made a giant purple sphere and reverse the face that it renders on and then just had it scale down over time. Normally, I would damage the car based on triggers or colliders, but instead, I decided to just have the cars check the current radius of the circle. I noticed during testing that the cars tended to flip over a fair amount. So, when that happens and they've been stuck for 10 seconds or more, they just get eliminated. The last thing I need to do was have the JSON list applied to the cars. If you've seen some of my other simulations, you may have noticed some of the graininess in the text of the name tags. That's because I've been using a worldspace canvas, and I have a script to just face it towards the camera. Aside from the graininess, it's been okay until now, but with 10,01 players, that's just not going to cut it. So, I transitioned the name tags to screen space, and I also made the name tag using the new UI toolkit. There's a global name tag manager now that each car can subscribe to when it's on screen. Then, we can have a max number of name tags and show the ones that are closest to the camera.
The cars get a name applied from the JSON file. And for each user, I pulled the country if it was available. I made the health for each player, the number of comments they've left, and that was pretty much it. Now, all we have to do is declare the winner. We've spawned in 10,01 players. The largest battle royale ever is about to go down. We've got Sir Chum, Chicken Jockey Man, FNAF Jazzband 67, Booket Gamer, Mudbane, and ITR are among the unluckies closest to the edge.
Today's weather is a bit foggy.
>> Gamers are being eliminated so quickly because so many just have one health.
The zone is chewing people up.
Sher on a little bit of a rampage. Two elims. Three.
>> Valentine with a streak of his own.
TAKES OUT BUSHMAN. TAKES OUT SUDAN.
TAKES OUT DAMI. BUT HE'S ELIMINATED by Eugene.
>> The boys are moving in from the edge.
>> Snake wants in on this dance but gets eliminated by Leho.
to wield it against pig boss. 132 comments from the BIG BOSS. ELIMINATING PEOPLE WHILE UPSIDE DOWN, but that'll be it for him.
The yolk star with 61 comments makes quick work of Vidium.
And Costa declaring himself the king of the mountain getting elim after elim.
>> That'll be three for him against Wii.
but is shut down by the shelfman.
>> Closing in on our dancing competitors.
Makes quick work of cringe. Leo headed towards the center now. Yolkar against awesome. Anthony coming in. HE WANTS A PIECE. HELPS OUT YOLKAR.
Work on Tyrone. 35 comments. Makes quick against Hedgebite. The battle of the heavyweights. TYRONE FLIPS UPSIDE DOWN.
HEDGEBIGHT AGAINST TYRONE. Tyrone is upside down. Both are going to be eliminated.
ONLY THREE COMPETITORS LEFT. ORICS, CINDY, GORDON, and Leho. Orics heading towards Leo. GOES THROUGH THE BARRELS.
OH MY GOSH, THAT WHAT A HACKER. IS HE HACKING? LEO AGAINST CINDY. AND HE WINS.
Let's go. Big congrats to Leho. If you like this video, you also might like this time where I challenge my friends to code a car to park before some machine learning could learn to do it.
And as always, thank you so much to all the YouTube members and Patreon supporters who allow these videos to keep being made. Later, nerds.
関連おすすめ
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
Re: 🗣️📍theprophedu📍2026 GST 103 CLASS (E-EXAM REVISION)
theprophedu
636 views•2026-06-04
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Instagram accounts got PWNed
EricParker
13K views•2026-06-03











