1000 Players - One Game of Doom
ฝัง
- เผยแพร่เมื่อ 28 ก.ย. 2024
- Twitch
Everything is built live on twitch
Twitch : bit.ly/3xhFO3E
Discord: discord.gg/ThePrimeagen
Spotify DevHour: open.spotify.c...
Editor
/ flipmediaprod
x.com/stxssx
Join this channel to get access to perks:
/ @theprimeagen
Links
Linode: linode.com/prime
/ discord
Twitch: / theprimeagen
Insta: / theprimeagen
Twitter: / theprimeagen
VimRC & i3: github.com/The...
Keyboard 15% off bit.ly/Prime360 USE CODE PRIME360
#coding #neovim #typescript #programming #vim #softwareengineering #codinglife #webdesign #webdevelopment #webdev #javascript #rustlang #rust #twitch #twitchstreamer #programmerhumor #codinghumor #software #softwareengineer #softwaredeveloper #softwaredevelopment
Hey. First video going full time. I hope you liked it. Part of me always feels I could do better :)
But seriously name your first kid after me
@@ThePrimeagenOkay I’ll change Cedric’s name to The
But seriously, fantastic work! This was very entertaining to watch, and great editing too!
@@ThePrimeagen James, the name, Primeagen it is. it'll work out great in future apocalyptic scenarios where in the absence of Duke Nukem, James Primeagen will have to step in to kick some ass and chew bubble gum.
ah!! that was what was different! I love it!!
Prime is doing everything in his power to become a game dev without having to claim that he's doing game development.
He will fail, Thor will corrupt him.
A game jam is getting ever closer, prepare for ligma.
I have been so thoroughly ligma'd that I can no longer tell the difference between web dev and game Dev
Mostly due to balls of course, on the face
@@ThePrimeagenascii doom using js confirmed?
whats ligma?
@@xregularxjohnx steve jobs
@@xregularxjohnx ligma balls
6:00 If you start throwing away bits from color information, always keep most bits for green because human eye is the most sensitive to lightness levels of green color. Always sacrifice blue color bits first, then red and only finally green.
Ohhh I always wondered why I've seen RGB565 encoding but never RGB655 or RGB556. Thanks!
The thing about "Always" is that there are always exceptions to the Always. Even this sentence.
@@arcaneminded if this is how you treat words then there's no utility in having a word called "always", which is why I think this kind of thinking isn't very useful
Even better, doom uses a limited set of 8 bit color palettes so you can get perfect color encoding in 1 byte per pixel.
@@kneesnap1041 Because we misuse language _all the time_ 😉. "Always" here is being used to describe a general instance of something happening, so you are bound to find special instances where the rule can't apply.
Flip went crazy with the editing 11/10 video
Not as good as yours though. Yours are spectacular
Except for the 1 that goes to the A instead of the B and took me 5 second to think why A is 01 and B is 0 😂🩵
Hey, it's the flip, things might flip...
@@hussein-alemam Yup, saw that too :D
flip is flipping out, this video was amazing :D
This is what Prime means when he says "go build fun projects" lol.
right, he sure did 'go build' a lot during that time
But how do you write this on your CV without getting laughed at on job interview.....
@@test-rj2vl most software companies love stuff like this. "I cloned twitter" will get little to no response from an interviewer as they know you could have just followed a tutorial.
@@test-rj2vl who laughs at this, srsly are you crazy, try building it
@@test-rj2vl yes, they will laugh at you for saving them $$$gigabytes/minute
F for the grass that wasn't touched during this project 🫡
The best engineers never see a blade. Big beard, no tan, sporks only.
Only quiche eaters touch grass
Quitting your job was definitely the right move. This video would not have gotten made otherwise
I don't normally make comments but man this video is beyond amazing. The production quality, all the engineering information and how it is put out even someone never programmed his life could easily follow plus Prime being an amazing entertainer as always apart from being a kick-ass-do-it-yourself-hands-on coder/engineer. And joy in his eyes through it all. Man is living his best life.
I fee the same!
Totally, even for someone like myself hovering around the "FizzBuzz" / "Leap Year Calculation" level of programming, this was a really interesting video.
It's my ambition to be as cracked as Prime one day.
Programming is really easy to follow, what is hard is getting creative with algorithm. Crafting solutions it's hard af.
Echoing this, he definitely has a talent for taking low level concepts and showing how they can be applied in practical ways, while keeping things super entertaining and informative!
what a weird dougdoug video
Yh this guy has hair
yeah
he's oddly not BALD
- not bald
- can code
- doesn't have chatters in his basement
this might be the long lost ougdoug
Damn, dougdoug changed
Netflix lost an employee so we could gain a legend - truly top tier content sir.
The work put into this video is astounding. So happy to see Primeagen closer to where he wanted to be so long ago.
4:52 yeah i see that `uuwwUU`
😂
Hope the $EDITOR got payed handsomely cause that shit looks gud
Prime: GigaChad SWE
Flip: GigaChad Editor
Team: GigaChad
Chat: Degenerates
I think that's the best audio-visual explanation of an XOR operation I've seen.
Great project and video. Thanks for sharing!
Also, I loved the Yugioh lifepoint sound/animation you did for the counts.
DOOM renders into a 320x200 8-color bitmap. This means the colors DOOM actually renders already fit into 8 bits. It would be super easy to compile DOOM and make this framebuffer available to your compression stage.
If this is the quality of stuff we're going to get moving forward, this channel is gonna get huge.
12:12 The first bit for B went to previous A
It also confused me and i did a rewind. I believe it’s for 8 bits per line to look nice.
Came here to say this as well. Since your message is already here, I'll like instead.
I think the 1 on the end of the first line is supposed to be before it, it's even animated like it should be there.
This confused me as well, especially because prime specifically states that the same characters can never have different values, and yet on the screen that's *exactly* what's happening. I had to go back and rewind and figure it out and rewatch to learn.
Came to point out the same.. cool to see Huffman tree encoding in use
Amazing editing, amazing pacing and amazing explanation. Another pristine jewel from the development side of youtube.
the quality of this video is unlike anything you've made before! Amazing!
That XOR frame compression technique is so cool! Really made me to start thinking about more good use cases for XOR. Good content as always, you are one of the biggest inspirations in my programming journey.
4:55 "Does anything stand out to you"
uuwwUU - oh god mistakes were made
This is rad. I love the walkthrough of it all. 1000% need more of this.
The compression part is pretty interesting
this is peak programming content, Flip did something amazing in this ones
This is so awesome. I'm really glad you can spend more time on projects like this!
This was an amazing video really liked the graph showing the data saved when using different compression methods!
IMO the best video I saw from you mate, well done. I really enjoy watching all your videos, but this one and the ones you made with this journey was really amazing! keep up the good work.
It's the best creative video!!! DOOM was a great journey and a big challenge, duplicate characters, xor, huffman first try, and a lot of golang content!!
Congratulations, this was a new step in your creation content!!!
LET'S GOOOOOOO BABY!!!
This is amazing, thanks for going full time to produce this sort of content :)
In-depth, yet quick and snappy
This style of video is awesome! Thanks for this
Oh man, I just love this new format Prime! Keep going, you're being a great mentor and a rolemodel because you are always on the path of learning new things, you couldn't even imagine how I feel man :) Keep going, all respects from Turkey
This is absolutely freaking incredible.
this is why we listen to Primagen and not Theo
This is applied computer science
@@TheStickofWar and it doesn’t make it any less incredible
0:09:07 thank you for re-explaining how XOR has memory; I didn't get it the first few times you mentioned that but this video really helped solidify that concept!
This is super work all round and the perfect TH-cam content. Fascinating computer science, history, and project planning. Lovely editing. Superbly presented. Everything else today is going to suffer in comparison.
Turned out great Prime.
Only a small percentage of your Twitch followers understood how hard this was.
One of the best streaming devs on Twitch/YT no doubt.
The best explanation ive seen for what actually gets done to make efficient code along with the process.
Two things im curious on your take:
1) using edge detection and morphological operations for further efficiency since theres a lot of patterns that can be known of neighboring bits
2) client side prediction using player input to process known data on the client side. When youre walking towards a dark step on the stairs, it coming more into vision and getting brighter can happen client side. Server side, you're only looking for deltas that cant be assumed by the client.
A doom map with 1000 simultaneous players, now THAT would be something.
This was a fantastic vid man. What a fun project. I remember writing Huffman and RLE in college and this was really nostalgic.
Bro! This video resonates with me as an engineer so much! I love reinventing the wheel because it's just fun sometimes. Great stuff brother keep it coming!👍🏻
Learned from this what Forward Error Correction is, the XOR trick to recover a single missing message out of many is brilliant
12:15
Here, the value for 2nd A gets mixed up with that of 2nd B.
threw me for a loop
yeah it's getting mixed up so the bits add up to a byte
i thought it was an error at first as well but nah, it was on purpose
What great quality in this video. I enjoy your reaction style videos, but these structured one are my favorite. Hope to see more soon!
the quality of the video is insane the narrative, the edition, the composition. So this is how a full time video feels like, awesome job 👍
This is the perfect kind of video for this channel! Larger and super interesting projects that you enjoy. You also can create these naturally as a byproduct of building the project anyways, so you don't have to feel forced to create a video for no reason. Great job man!
The funny thing about what you did is you basically simulated the same thing as a brain. It’s sifts and weighs the options but uses the data from the sensory tools to construct understanding and that leads to guidance. Wild that maybe the way the worlds pressures form our habits and guides us might be able to be understood by just experiments like this. Good work. What i mean is that the brain uses the data to think like how your people can send in actions and stuff and the ai does what it does. Haven’t watched fully yet but your beginning 0:49 got me thinking.
i love your other formats but this is the best video on your channel so far. learned a lot and it was fun, please more like this
This was such a great video! Props to Flip on the editing.
The production value of this video is nuts! Nice work, Primeagen! :)
Phenomenal video. Love the react content too but the depth you went to isn’t seen to often on TH-cam. Loved it!
I finally understand the XOR encoding. your explanations of the compressions you used are really clear. thank you for the help. the actual application really cemented it for me
You actually Explained huffman encoding pretty well. Good work.
I have to say this video was very high quality, educational and entertaining too.
It looks like you had a lot of fun working on this.
1:41 Prime is becoming my spirit animal day by day...
Awesome stuff!
Also, is 'escape' changing into 'ackscape' like 'ask' is changing into 'axe'?
I demand at least 2 more videos on the code journey of this project
You should serve it using MOSH. Mosh is a fast, optimistic, UDP based way of operating an SSH session. It does roaming too because it is magic. It won'ty get blocked and lagged, if it gets behind it skips ahead to just draw the terminal as it should be. Not sure if it has timestamps but it seems to not get blocked on a slow connection.
Very interesting to see those many techniques of compression together to get from ~500MB to 13MB. Really impressive.
That was brilliant! Thanks for sharing your madness!!! :)
those stairs we're so painful irl. great job on the video
Learnt more in 15 mins than in any other coding video ever.
I love this format!
In my opinion this is hands down the greatest edition of can it run doom of all time
Loved the video, genuinely learnt a lot. Did laugh out loud at all that random techniques to increase compression ratio, finishing with just straight up Huffman encoding to completely blow the rest out the water. ofc effects are accumulative, but just funny
It's the lack of strafe that makes stairs difficult but relying on key look is authentic to the early 90s play style.
Damn, editing is so goooood. Give editor man a raise!
2:46 has always been my favorite meme.. crazy callback()
YOU were the one that did this?? Holy, I remember hearing about this a while back (I'm not a programmer), but that's awesome man, you made internet history!!
7:53 "eyes closed coz he's sleepy awww"
This is like a crossover between a Michael Reeves and Sebastian Lague video. Can't wait to see what's next.
I think when you were in Netflix you didn't think about this stuff, now you are free to make cool stuff!
it is always fun to watch how developers struggled and finally overcome difficulties
Vim tier editor. Happy to be part of Prime becoming a full time content creator!
At first I thought they'll play against each other and we'll have a 1000 different renders. But nope! It's a swarm decision. This guy accidentally created an incredible social experiment!
One of the best tech TH-cam videos I’ve watched in a long time.
Dude I need more content like this, it’s fun and I learned something really neat. Editing was fire and was wondering if it was intended to have no background music? ❤
Best video so far of the primeagen, the amount of optimization put on the project no wonder the dude worked successfully for 10 years at netflix as backend engineer this is so motivational
This is the definition of insanity engineering. Subbed.
If DougDoug and Dr Disrespect had a child. Who also happened to work at Netflix at one point btw.
I got lost at huffman encoding. What was done to figure out the encoding rules? Is it an encoding scheme per frame? Or for all 10000 frames figure out the character frequency and create the tree. Then with the tree/scheme use that each frame. That tree/scheme needs to be sent to the client some way also right? Is it a one time thing or per frame? (It may be a skill issue on my part by the way)
I am watching you from time to time. I have very little understanding in coding, I aspire to become a gamedev using Godot, but I am disorganized and have bunch of fears and doubts, lazy.
You ported Doom in a way I could not comprehend for chat to play on stream. You are nuts, that seems like magic to me. Pretty entertaining stuff.
Anyways, love your content, I will try following more tutorials till I face my fears and start my own project.
Flip went in on this! Great video 👏
okay, that's a great video!! but how does it help me in my REACT code?
YO That DD Mega-Doo-Doo is an all-time classic. Tell me you're an elder millennial without telling me.
When you've introduced XOR and finished your explanation I was sitting here and said out loud "holy shit, that's genious"
prime just motivating me everyday to become a better engineer, reminding me why i got into programming (to have fun)
So cool to see inside the thought process of a prime engineering something
Bro has compression algo so good, he compresses all that knowledge into 15 mins.
This was amazing! I would've been way too lazy and just ran the whatever GB it was on a rented Hetzner server using Docker. Hetzner dedicated servers always come with unlimited traffic and 1Gbit up/down. The subscription runtime is 1 month and renews itself each month. So that would've cost me around 50-60 bucks plus setup once. No idea if the clients would've been happy tho hahaha
Damn Flip, this editing work is really spotless, awesome work
Love this style of video! Great job Prime!
this is amazing. should have a lot more views tbh
He made it surprisingly simple to understand❤
Absolutely enjoyed this vid.
This was an awesome breakdown of what you did and great editing. I didn’t catch every stream so this was nice
Huffman compression just blew my mind away!
Just amazing, greatly edited and also, great explanations of the topics along the way. Great editing, great explanations, great video. Nice! Keep it rolling!
Thats a rare programming topic video explanation I literally watched like magically hypnotized to not even look away for a second. amazing.
Even though it was for a hobby/meme project for twitch, the engineering and science going into this, is impressive
Damn! At 9:12, I was like "THIS IS WITCHCRAFT!!!" Maths can sometimes be the true magic.
You know what, I learnt a few things here. I'll have to re-watch to grasp it all. Might just try running ASCII Doom myself if it doesn't take my only brain cell away.
This is pretty cool. I love the visualizations.
I feel like I learned more about compression algorithms from this video than multiple college classes on the subject lol