Making Minecraft from scratch in 48 hours (NO GAME ENGINE)
Вставка
- Опубліковано 21 лис 2024
- See the code on GitHub: github.com/jda...
NOTES:
The water and lava textures are from the now defunct (?) Painterly Pack, my animation skills weren't up to the challenge.
The depth sorting algorithm depicted is mergesort but it's mislabled as quicksort (oops!). I was initially using mergesort but ended up using quicksort in the game itself.
Subscribe to see more, I'll be updating my Minecraft clone regularly!
TWITTER: / jdah__
PATREON: / jdah
Music used:
Chill Day - LAKEY INSPIRED: / chill-day
Lemon Tea - GYVUS: • GYVUS - Lemon Tea [Chi...
“And after about an hour of work I have a blank window” is the most C thing I’ve ever heard
But to me, doing the blocks with an infinite generated seed is the very C thing.
It is pretty hard in most languages, since few "serious" languages include any way to put a pixel on the screen. So either you use a library (not from scratch) or start making OS calls and takes some time. The languages that DO have a way to put pixels on a screen built in, usually it isn't sufficiently powerful to do 3d rendering.
@@JackMott do you consider opengl as a library
@@brainloading5543 Good question! Sure, so is the operating system api, and I suppose by convention when people say "From scratch" they don't usually mean "also the 3d api and operating system"
@@JackMott I could imagine the guy who made this video self coding his own graphics api as well.
This guy is the reason coding interviews are so hard
What
@@AceDeclan yes
Maybe you're just bad at it.
nah, coding interviews are hard because I get anxious as fuck and forget literally everything.
Nah coding interviews are hard because it's all theories and school algos that you don't ever need again in your job. But a book like Cracking the Coding Interview helps a lot.
Seeing just how much code it took just to get a green square blew my mind.
Learning opengl in a nutshell
Don't worry. Making the rectangle is the hardest part. In terms of pure opengl code, there is not very much different concepts you will be using. From there on, it's mostly just abstractions.
@@ahmadayazamin3313 you need about 1100 f
OpenGL is absurdly verbose. That's not to say 3D rendering doesn't require a shit ton of code (it does), but OpenGL definitely at least doubles the number of lines for all the graphics rendering
OpenGL be like
More examples of why you should be paid on the hours of knowledge it took to learn how to do your job, not the hours spent doing your job. This man coded Minecraft in 12 hours, but to learn to code this way in C would have taken him thousands of hours. Huge respect.
thats why theres higher positions in jobs
Not only is this the most shallow, surface level take, but it's also how the world works anyway. Maybe you've heard about things like colleges, universities, apprenticeships, you know, things that help you learn a skill to get paid more?
@@ahall9839 so if you asked me to make a game for you and I did it in 10 hours you would pay the same as you would i if it took me a year? If your answer is yes than you're the minority as many people would disagree. Maybe do research into areas such a freelance before making a stupid comment.
@@jackhawkins7285 What? Are you 5? If you made a game that was worth anything in 10 hours you could sell it yourself. Wtf is this juvenile mindset? People are payed for what they produce. It just so happens that having skills means you produce more/better in less time. If no one wants your product, it doesn't matter how long you spent on it.
@@ahall9839 when you grow up and learn how the world work get back to me. do your research before acting like you know what you talking about
"rome wasn't built in a day" but Minecraft was built in two.
notch wasn't really that genius, simple game, good luck and good idea
Damn that was a nice one lol
Roma comparata con un gioco, mi sento offeso.
@@Vvopat96 I mean the game was made in 2009 so ye
@@Vvopat96 Inspired by infiniminer, he kept updating it with great ideas and it became well known.
non programmers can’t even start to comprehend how hard this is and how much pure talent and skill you need to do this. respect.
you know ive tried to do programming until i realized how hard it is but i dont know that this is hella hard to do
its not about talent or how hard it is, no such thing as natural ability. you only need lots of experience and knowledge to make something great like this.
Talent, no. Hardwork, yeah
I'm a programmer and I can only speculate how hard this is 😂😂
@@AlexandrBorschchev Only someone with natural ability says this, its cute
Dear my fellow depressed coders/game developers, the takeaway here is that despite how clearly skilled and experienced he is, he still encountered several issues and learned a lot while doing this project. So don't feel discouraged if you encounter setbacks, and always be ready to learn.
*Heavy sigh*
agreed...i spent like 2 hours making an inventory system on unity, then realized i need to completely restart since there was no way to determine if the item is stackable or how to equip certain items. 😆 definitely gonna make it work tomorrow
@@joeman123964 Did you get it to work?
@@plebisMaximus yeah it works great!
@@joeman123964 Congrats on that, mate!
I just started coding this year and I was watching this video like wtf does any of this mean. It looks like an alien language to me.
8:40 "the chunks are rendered in the wrong order so i have to .." for me as an absolute programming beginner in my first semester in informatics the way of thinking and actually realizing what the problem is amazes me so much. great video !!
I can smell the countless hours of work he invested throughout his life to achieve something like this in 12 hours. Really inspiring
how does one putted ?
@@keanestewart4837 was wondering this myself
@@ebush he said 12 hours in the video
@@JohanSimonsson ok?
@@JohanSimonsson 💀💀 o...ok
being a programmer for 4 years, professionally, i feel like a failure after watching this
damn
The Imposter Syndrome is real :')
Just take some time to learn c and open gl. Honestly shouldn't take more than 6 months to make something like this.
I tend to think the same thing sometimes. But any skill can be learnt. Never Give UP. you have 16 Years to go to becoming a Master Coder
@@Kevin-rk4qu isn't it 8 hours? Also c and the math isn't that bad to learn. 1 hour a day is more than enough
@@Kevin-rk4qu you should watch blackpenredpen if you're struggling with calculus
"Mom can I buy minecraft?"
"No"
"Fine. I'll do it myself."
🤣
you copied my damn comment.
@@yeozdemir75 no one gives a shit
just pirate it tho
YigitTheGeek made this comment 11 months ago. Could be a coincidence though.
This kinda highlights how good of a programmer Notch actually was when the made Minecraft in Java.
@@xxgamerhdxx898 he legit said that? can u read
@@xxgamerhdxx898 You illiterate?
@@angy1717 bro is actually silly
@@xxgamerhdxx898 r u dumb?
Notch used the Infiniminer source code
I'm currently working on a master's degree in computer science and I highly doubt I could do something like this at my current level AT ALL, let alone in 48 hours. Well done mate
That's because school does next to nothing for you. The only way to become proficient is to actually code. Masters degrees in particular are a huge waste of time; there is no comparison in terms of skill level when comparing someone who was coding for 5 years versus someone who was going to school to learn to code for five years. The one thing I've seen college grads have an advantage on is *sometimes* understanding 3 dimensional calculus and more often a better understanding of data structures and when to use them (although that usually becomes "when to use hashmap").
The big takeaway is you don't actually go to school to learn to code: you go to school to learn to college/university. You learn theory and become a "computer scientist" instead of a software engineer. The amount of code people who have wasted their time at school have actually put out is next to nothing.
A highschooler can be taught to code at a professional level, especially if he's being mentored by the previous generation of engineers; college will get you fired and keep you away from high paying jobs if you treat it as anything other than a ticket past the hr firewall.
@@Akalos1 Well it could be useful for your resume
I remember when I went to school for computer science. I had more skill than anyone there because I live and breathe code since 1990. People going to school for it limit their exposure to programming to only classroom learning. However, programming requires a lot more than that, it requires one to learn how to use the tools given to solve a grand problem. One of the issues I see is schools focus too much on OOP design that takes the user out of problem solving and more on how to think abstractly or design patterns(ie. the terrible software engineering class). I remember all my projects were so well written and unique that my professors didn't believe or trust my abilities at first, until my senior capstone project that they saw me design and implement over the course of the semester. To get to this level is going to take more than just what you do in school or at work try working on projects that will build your skill overtime.
@@Akalos1 that's exactly what I think
@@eeeesyywuwiz2836 I mean depends on the job. When it comes down to a regular programming job they could give a rats ass if you have a master's if you can't code. If he's going into computer science research then yes it would be very helpful
"Every other guy on youtube used some kind of cheat like pre-existing useful things, so I destroyed spacetime and created a brand new reality"
And imported a bunch of stuff from our reality and bwammm.. 1.5 billion years later...
jup he took there honour in slapped it to the bare ground XD
He accuses people of being cheaters then literally says, "Thankfully I have a library called GLFW, that does all the heavy lifting for me"... completely negates what he is accusing people of lol
@@robertstrickland9722 It seems to me that he didn't set out with an absolute goal like doing it without using the work of others at all. More like he just went a level deeper than the others. I mean otherwise you would have to not use any C libraries not made by yourself which would make this take far longer (if possible at all). Then you could complain that he's even using C in the first place, which is higher-level than x86 (or whatever his architecture is) assembly. Then you could say that all the instructions in assembly are machine opcodes and you're using work done by the developers of assembly for your architecture. All right then, "making Minecraft in machine language". But wait, you will also invariably be making system calls made by the developers of your operating system and thus you have to write your own. What about the kernel? Even if you write your own kernel, you're still using a CPU (as well as peripherals) with an architecture made by others. So in the end, if you don't want to use the work of others at all, you will have to make your own CPU, with its own architecture, from scratch, mining the materials for the transistors out of the dirt with no tools. In other words, you would have to play IRL Minecraft.
I'm evidently not one to speak loudly about how seriously other people need to be taken but I think "not using shortcuts" was more of a tongue-in-cheek statement.
@@danallan8526 or, you know, just use the os API and an IDE.
I bet that someone is watching this and thinking:
„ C is too easy, im going to write it in pure Assembly ''
No but yes.
Assembly is too easy, I'm going to write it in pure Binary.
Binary too easy, I'm going to write in a paper
@@linkdx7079 Paper is too easy, I’ll do it in O2
@@OneTwoThreeFour56 Void is too easy, I'll write it in
If this man can make minecraft in 48 hours then theres no reason mojang can't add firefiles
that is just some basic minecraft without any features and probably lots of bugs and no multiplayer, still need lots of hours of work lol
@@KaMeR1337You really underestimate Mojang. Theres 600 developers there. They are able to make fireflies
@@KaMeR1337adding something to a game is easier than making something from scratch. That's why modding is popular
@@slokxoxoI imagine you have no coding experience let alone know how to coordinate 600 developers
lots of bugs but no fireflies?@@KaMeR1337
this is the best minecraft clone of those that i have ever seen
A
Q
U
A
Most useless goddess
My man is insane. First, he makes google developers look silly, next, he put copper into his version, and copper was announced to be in minecraft AFTER this video
And he tried to make mountain biomes.
It's not hard at all to add an ore into MC. What is hard though is deciding how that ore should be valuable and if it should even be in the game in the first place.
@@arnox4554 while that might be true loads of mods have added copper ore and placed it well enough around iron tier but gives you more options within the mod along with people wanting more ores in the games and more blocks, Minecraft does need constantly a new influx of new blocks and ores to keep the game fresh
@@Prince_-vu4wu Yeah but it's very different when you're working on the actual main game itself where your changes will not just be permanently incorporated into all MC games (without mods of course), but also will be incorporated in all future versions of the game.
@@arnox4554 true but it's something the community has wanted for a while plus it's adding new varients of blocks which can bring a lot of new fun things and i know a lot of people are really hyped for it being added only thing i'm not happy for is wanting to cry while in caves more from getting jump scared
Kid: mom can you buy me minecraft?
Mom: NO
Kid: *Builds his own minecraft
You mean
Karen: NO
Mom: :0
@@Supervisor360 or maybe they just don’t have the money man :(
And then she blows up his pc XD
Me : MOM BUY ME MINECRAFT OR ELSE
Mom : NONONONONONONO!!!!!
Kid : *He hacked minecraft and made it free*
10 months later
Mom : how did you have minecraft?!
Kid : I hacked minecraft
lol
You know it's insane when he said, "I decided to write my Minecraft clone in C".
He still used tons of libs.
@@AnoNym-zi5tyHe still wrote it in C? Tf? You can only go like 1-2 levels lower in terms of languages
@@eneadon6592 damn, how much experience does it take to do something like this?
@@eneadon6592your missing the point, his entire rendering system is built strictly off the OpenGL library
@@AnoNym-zi5ty Reckon the middle ground here is that he clearly understood what path to take and how to get to his goal. Guys obviously familiar with making an openGL game on C, to say the least xD
You know that shit gonna go serious when he says "shortcuts like languages with classes"
Next step is to do it in assembly or binary :)
Which isn't a big deal, if your code is supposed to be used during 2 days only
@@ddd21465 After that on paper, then in O2, then in void, and then in
Classes, OOP and so are just a programming language feature, an actual shortcut could be considered as a game engine, and frameworks, libraries etc.
@@xenizs9112 I mean, classes seems to me as basic thing as variables now. So it sounds crazy to make game without classes and OOP
Him: this wasn’t to hard
Me: tf I struggle to use unity
LOL
me who doesn't have unity: guess ill die
same, none of the mouselook tutorials i find work.
Me getting compilation errors on line 84 of my 13 line program
@@strilx5277 i just wished unity was as easy as RobloxStudio to script / Handle know what i mean?
That you managed to do that without a game engine within 2 days blows my mind.
Awesome video.
Make it without a game engine isn’t that hard he did it without object oriented and with a custom compiler
Epic man go to src the main.c is right there. If anything you’re a fucktard for not knowing how to use git clone
@@KRYMauL Implying Object Oriented Programming improves productivity.
@@pendergastj Actually class based programming improves productivity because it allows you to have inheritance.
@@KRYMauL Great then you have to keep up with an ever growing mountain of virtual functions and your code begins to slow down as the vtables takes up your cache which makes your program slow.
bro this is INCREDIBLE! even mojang took shortcuts and still took years to make the game we know and love; you made it in 48hrs!
They also have a lot more features than just flying around and generating chunks
First version of minecrat was built in 6 days by Notch. After Microsoft acquistion, the development is slow af
Its a lot easier to make a clone of a game than come up with it entirely from scratch
As a Software Engineer student, I am intimidated. This guy is an absolute coding monster with all that knowledge.
Hey I am also a software engineer focus majoring in computer science, I know this comment was a year ago but hope your doing well!!!
Me too, really interested to try this out in a more comfortable language like C#, but god damn that math is dounting and I am usually not scared of math, but damn Vector math is annoying af haha
Fr, all of this just feels overwhelming right now
As a software engineer with 10 years of experience, some of it spent leading teams... I am intimidated.
Do NOT do this with a garbage collected , JIT language.
I mean notch did. But he's different
and he didn't open stack overflow once
he’s God tier already.
Plot twist: he opened stack overflow on his phone or something
@@retro9293 what kind of language requires you o search that up?
@@InfinityBS come on man! it was a joke lol
@@retro9293 oh ok
When he mentioned "things like classes" I realized this video was special
Im in my first year of university as CS major, and I'm learning C/C++. This video blows my mind. Super impressive.
I tried to learn c++ a little while ago and man that was complicated i couldnt even get past setting it up idk how people do it
@@DOGMA20051learn C instead it's a billion times better
Same except I’m learning Java, finished my first year a few days ago. Barely understand what’s going on in this video lol
Just checking weather u still sticking with c/c++ or switched to any other lang??
@@dharmadeepmadisetty3569 I'm still with it
I love this, and I especially love how you start with "I don't need all that helpful stuff." followed by immediately including libraries. :P
“These people are using game engines, I’ll do it from scratch”
* imports graphics library
* imports 3D math library
Doing it from scratch would mean creating your own chips, since these days you get floating points baked into the chip. Do it on a c-64 in machine language, no assembly, just numbers that you poke into memory like we did in the old days and you will impress me :)
there is a difference in impressiveness between buying your own car and customizing it and then driving it places
and ordering parts and building the car yourself first before driving it places
"well he said he isn't gonna use a pre built car, but immediately ordered parts, lol"
@@Maric18 My point was that, say, Unity doesn’t actually help much with creating a Minecraft-like game either and you still need to write most of the code he did.
Using C equals showing off. You are writing the same but way more verbose code than what you would write in C++ or C#. You would still generate and sort meshes, write shaders and load textures, but with less time spent on plumbing.
If you bothered enough to code mesh generators in C, could just a as well write your own vector lib with SSE assembly. Kinda pointless, but about as pointless as using C for personal gamedev when C++ exists. Not necessarily “modern C++”, most of which is cancer.
”I don't need all that helpful stuff”
*Procedes to use a programming language
Like just write it in binary, ones and zeroes, language is a shortcut
"There's always somebody who's better than you."
So there’s someone better than this guy?
@@InfinityBS yes
@@Monsizr name
@@Anto-xh5vn idk
@@Monsizr he is the one on top of the piramid
I’m currently in college pursuing my bachelor’s degree in information technology with a concentration in database technology & programming. This guy’s skill level blows my mind. Not only did he code it in C, not only did he not use an engine, but he also coded it in 2 DAYS. Meanwhile I’m still learning python 😭
EW python
@@ArizonaJewell lets not discuss PHP lol. also did you begin to get into programming before or after you heard about python
@@sneakycheeky531 you are junior programmer right?
@@sergioenriquediazortiz5131 ive been programming for like 8 weeks so I'm well past junior. im late mid
@@sneakycheeky531 are you kidding me? ._:
Bro needed a project for his resume FAST
“And of course, the next thing to do...”
Me (not a programmer): Of course!
The pfp fits so perfectly
@@derikkudesu6294 fax
Me (a programmer): Of course!
@@abdel5678 Ok
I'm a software engineer on minecraft at work and I love that YT recommened this to me. I'm seeing a bunch of familiar things :)
so u r working in microsoft, right? How amazing is that?
Cool!
How'd you go from a weird android game to working at microsoft in 4 years
@@maya-the-shitposter not the weirdest thing i have heard really.
I feel your depression 😭
I spent a whole week 12 hours a day learning opengl , glfw, c++ to render one simple textured cube and understand the basics of render pipeline. This guy made a whole game in 48 hours. That makes me feel the most slow-brained person in the world lol
im still using scratch and gmm2 dnd so
its been 4 years
he probably already knew all of that, that's still pretty impressive considering all you learned!
A week to learn C++? How!? (OpenGL/GLFW is simple enough after you learn C++, so I'm not counting that)
@@nikkiofthevalley i think he meant, learning extra C++ stuff related to the library, not the fundamentals of the language
I would like to see you continue onto this. It would be cool to see how much farther you could get with another 48 hours. I would definitly watch it.
This video is legendary. I've seen a lot, but this. is. BRILLIANT!
No he copied MEEEEE!!!!!??????
@@clutch4dadub no
Ok?
@@clutch4dadub what?
Minecraft is Bad
︎︎
︎︎ⓘ Wrong Informations detected
8:13 You know he's going at the right direction, when he get the exact graphic-glitch from Minecraft time to time.
Hardly.
@@foobarmaximus3506 Nein
Why is the grass of every minecraft remake so damn bright, legit neon lime
because the first version of minecraft had bright, legit neon lime grass
Programmer art. They probably picked RGB #00ff00 for green, like any artistically challenged person would.
Because they all suck at that part honestly. Sorry to be blunt
generally people doesn't understand color theory unless they study it
To be fair...
Programmer trying to do art: finds something recognizably green
Artist trying to program: Where do I run "rm -rf /"?
as a c# programmer my brain cant even comprehend how difficult this is, i cant even use C++ to make games let alone doing it in plain ol' C and openGL, huge props to u
same(i do c# in unity ,lua and some python) ,i hope i could reach this when i grow up
I program in C# but now I am going through CS50 course. I can tell that C is not that bad. I would even say it is fun to learn because it feels like you are coding everything by yourself, and additionaly can better understand computer memory and low level set of things. I recommend to give it a try.
@@azir8930coding in C is good and all. But the reason it seems so is cuz you only see others code. When you do it yourself, you would realize what pain in the ass it actually is. You have to be very cautious, one tiny carelessness could take away your sleep
C aint that bad, its just that people dont use it anymore so theres not that much of rich documentation with C and OpenGL
@@TheNew1234_y”people don’t use C anymore” lol excuse me what?
[0:00] Intro & Env
[0:34] GLFW & CGLM
[1:40] Texture Atlas
[2:30] Blocks & Occlusion/Culling
[3:37] Chunk Loading
[4:14] Block-breaking
[5:02] World gen
[5:56] "Lighting"
[6:31] Water & Glass
[10:35] Trees
[12:00] Animated Textures
[12:51] Flowers
[13:26] Ore
[14:03] Distance Fog
[14:38] Liquids
[15:05] "Biomes"
[15:24] Building
[16:12] Outro
Too smart for me every second
Appreciate it
Seeing this as a beginner programmer is just mind-blowing. Keep up the good work man
i dont have anything idea what he even type and change in those pages of words all i know is that what ever he doe id way too complicated and time consuming
@@AstrosSnipe If you want to learn, there are many tutorials on UA-cam that cover the Basics, Bro Code has massive full courses for Java, C++, C#, Python and more for free here on the UA-cam.
I'm fairly new to programming, my head just exploded.
My day typically goes - code for an 10mins, research how to do things for 3 hours, bug fix for 6 hours.
I didn't think this sort of thing was possible
From my own experience I can tell you it will get less pretty quickly.
Imo this only stays high when you work with big frameworks as there is a load of stuff you can't possibly know.
In the video he used nearly no librarys. This makes it that there isn't so much stuff that he needs to take "care" of. When you do a couple of projects like that, you'll know your stuff.
I started a computer science degree this year. The only part of this video I understood was the hello world part
@@egg-iu3fe In my first semster I practically only needed to know how to print "Goodbye World". So I think you'll pass.
Not shown in video: The tens of thousands of hours he spent previously researching problems. You'll get there.
@@egg-iu3fe Working toward mine and did a programming class last semester (learned Java first and only one I have learned thus far)
I am right there with you
I've been learning to code for a year, but I feel like I can't code at all after watching this. BIG RESPECT!
As someone who programmed in C and also tried to make a 3D engine, I think this man has superpowers. I don't understand how it's possible to write so much C code on such hard topics this easily, I feel like this should be illegal.
I can't believe that he wrote so much code in C in just 48 hours with no big errors or memory leaks / segfaults.
My guess is that he tried multiple times and just recorded the last one
@@Taletad bro was 2 years late with that theory
@@zzGreen beter late than never
After 3 years: "I'm gonna write this using binary numbers for better fps"
😹😹😹😹😹😹😹😹😹😹😹😹
If we talk theoretically it would technically be worse to write it manually cause you don't know all of the shortcuts and compression a compiler does. So it would work worse
@@mathiasensimon He does know (I was joking, that he is now so genius that he can code in binary, so he does know all these things and it would work fine)
Honestly, if most game developers actually optimised their code things would be a lot better
@@RobotronSage as someone with a potato pc I completely agree with that. The problem is that most of the time when you optimize something you get 1 fps more. For example, Minecraft java edition is slow af, but it's actually well optimized, Minecraft bedrock edition is faster because C++ is faster than java
9:34 Jdh : "I decided on a proper sorting algorithm (quicksort)"
*Video : shows Mergesort*
I saw that too
It's noted in the description :)
@@jdh Ah, I hadn't noticed. Thanks for pointing that out !
I literally searched "sort" to see if this was already in the comments lol, didn't wanna post it twice
As someone who has been coding for about 6 weeks and just wants an intermediate level of skill at Python, this is very encouraging. If you can be this ridiculously skilled then surely I can obtain my considerably easier goal lol! Thanks :)
i love what you're doing with this and its really skilled programming but i just have to say that you have just tanked the self esteem of every single programmer on this planet
At least reading the comments makes me not feel so alone anymore lol.
Facts
yeah, i wanted to learn coding, but after watching this im not so sure.
@@DaphneBlue50s why not?
@@ghostg6107
Because it looks complicated as f#ck!!
Interestingly enough, if we take that the guy wasn't sleeping, he was typing 15 lines of code a minute(taking that his repo has 42k lines and that the average line of code has 10 characters ), with all the testing and bug fixes. If truly done, this is one of the most impressive things I've seen
Some was copy paste and dependence’s like glfw
This makes me very grateful for the "shortcuts" I've been blessed with.
I have been programming for years, but every time I see such videos I am always amazed, congratulations!
I have finally found someone who is too cool for classes, namespaces, interfaces, polymorphism, etc. You are an instant subscribe.
I have to use C# at work at the moment and I agree.
Classes and stuff can be a useful tool, but they're only useful with certain things.
However he’s definitely using an object oriented approach at coding. Just wrapped in plain C
@@lsfornells If that, then why not just use C++? From my experience, that approach is good for things like Vectors and stuff which could be their own datatypes but for real objects, that method is very bad. The mess it creates is really bad. Even C++ OOP creates a big mess, so I don't use it.
this was a fascinating peek into how games are REALLY developed. i never thought of some of these problems existing, and it really makes me appreciate the work that goes into these things. bravo!
MAN that grass is green, though.
Agreed
This isn't how games are REALLY developed though. Nowadays almost every games are built using a game engine like Unity or Unreal or whatever, which provide libraries and API to make it more convenient. The whole point of this video is that he did not use one of these game engines.
@@matixlol Unity only mostly used by starter developers like unreal engine, but you are right
@@matixlol Plenty of game developers made their own engines for the purposes of their games. You mention the Unreal engine. Guess which game it was made for.
@@zorkan111 please tell me, was it a 1-man-project or how is that related to small-scale game development?
This man here has done a better job at recreating minecraft than most YTbers or knock off clones could ever dream of. And this was all done mostly from the ground up. Mad respect for actually getting transparency to work right!
The man did a better job at minecraft than microsoft did that's for sure
@@RobotronSage what... I don't see any logic behind your statement
I sometimes like to think I am a basic coder, then I see someone like this guy and realize I am a fool.
I think I’m good at it until I realise I’m doing the programming equivalent of banging rocks together
this dude can create a game without a game engine in 48 hours while i can't even complete one homework in a week LMAO
in other words
you're lazy?
Not something to be proud of…
@@johnandrevalencia7170 yes.
@@wattleproductions8026 he never said he was proud of it?
@@wolfbreaker4401 Suppose that he is a good person. He is lazy. This implies that he is proud of being lazy. Because if he wasn't proud of it, he would have to be ashamed of himself. If he is ashamed of himself, and do nothing to stop procrastinate, then he is not a good person. We have a contradiction. Therefore, if he is a good person, he is proud of himself.
Suppose that he is a bad person. Bad person are proud of their bad qualities, because they are bad by definition. But laziness is a bad quality. Therefore he is prouf of being lazy.
In all the cases, he is proud of himself.
Maybe he never said that he was lazy, but it is so evident that you don't have to see it written to notice it.
Stop pretending to be smart and shut up.
I program a lot in C for school and watching this hurt my head a lot. I have never done anything close to this level and find it incredible. Amazing work, I hope one day I am as good as you are.
I love how he says " as I was wrapping up" and then writes like 40 pages of coding.
Besides writing the Minecraft clone, the flashing timelapse of dark IDE and bright window is a perfect epilepsie speedrun, well done mate 😂
10 years later: “I decided to completely clone the earth and every human who’s ever lived and then I just for entertainment birthed a new planet”
in 72 hours.
@@JMRC It just might happen...
20 years later: "I birthed a universe as complex as our real life universe"
Using just C code.
I've seen that Rick & Morty...
"The next attempt gave me an ominous black pillar." Ah, yeah, the Spire of Darkness, every programmer knows that one.
2001 A Space Odyssey
This is exactly what I imagined Minecraft would look like in 2nd grade, this video gives me lots of nostalgia.
all the non programmers cant even comprehend how hard doing something like this is, especially from scratch the way that was done in this video, immense respect to this guy
Dude, I just spent 20 minutes explaining to my wife , who knows NOTHING about programming, why you're a goddamn wizard. That's how impressed I am by this....
HAHAHAHA SAME
Hahaha feel it
But your wife doesn't express interest or even try to comprehend it. My mistake, that's my wife. Consider yourself a lucky man.
@@tylerfortner9500 I think it’s time for marriage counseling, Tyler
HAHA. This is the best. I explained to my cat just now.
As a fellow c-programmer and someone who uploads videos doing custom implementations and explanations, I appreciate this video immensely. Great work!
You are everywhere
as a fellow c# multiple game creator he didnt explain almost anything good enough, he just gave us a basic idea of what he did but not how exactly to do it etc
Ok he edited his comment so mine doesnt make as much sense lol
sounds like you have lots of c knowledge yourself, would you be able to program something similar as well?
Is that a normal skillset of the usual C-Programmer?
Good to know, +1 subscriber.
8:09 the "I'm not bothering" branch
8:13 the "never eating _that_ again" branch
8:20 the Kubrick branch
8:27 the "fk it, I'm starting from scratch" branch
8:32 this is when you force merge all previous branches together
Lol yea
💀👌
It's crazy enough to make a minecraft clone from scratch, it's even crazier to make the engine you use to make it, and it's mindbogglingly crazy to make all of that in just TWO DAYS
this is honestly the coolest programming video ive ever seen! the final product looks almost exactly like the early alpha versions of minecraft! holy moly!
imagine the amount of feeling of satisfy this guy got from thousand of hour of study to be able to build minecraft with C.
coding is probably just like blender
@@arcandi5560 what do you mean?
@@arcandi5560 what
@@arcandi5560 absolutely not
> "Most people use shortcuts"
> Uses libraries
Kidding aside, awesome work! The level of technical work involved in this is astounding.
"and after an hour or so" Proceeds to show a task that would have taken me 2 days for sure.
My face when he said "So I had to leave that for the next day"...
Like he did all that in less than a day??? That would take me months honestly
@@curiously-cinnamon that would take me years
@@alexkeys776 centuries
@@ben-hurray eons
@Glizzster ¿Qué pasa?
Imagine what he can do in 7 days.
God needed to rest on the 7th day. This guy would keep going.
@@givrally no
@@givrally God is not good at programming. Look at the indentation of DNA.. tch
@@Ludifant Plus, we know for a fact that He didn't comment his code ! What a slacker.
@@AceDeclan yes
I started coding about 2 years ago, and I aspire to a programmer as great as you. This was really amazing!
Dude this is literally talent! I don't even know how to program, but I can tell that this takes skill. Good job!
And here I am learning Python and being happy with myself for creating a simple calculator and stuff...this is insane...
I am happy typing print("Hello za Warudo") on the command thou
I'm happy to make a spam bot that Writes hello 1, hello 2, hello 3...
@@pommesdeterru2400 Is this a Jojo refference?
@@tln_greks2896 I guess
I started learning python, but realized it was too hard and quit the same night. Now I am focusing on blender and 3D art.
8:18 PRAISE THE MONOLITH. BASK IN ITS DIVINE SHADOW
This is gorgeous. I write embedded C. I tried learning some OpenGL when I was 15 because of Minecraft's original popularity wave, then sort of gave up. Maybe 10 years later is my time.
I've been thinking about learning to code, but what you do looks beautiful and scary at the same time
Bro that is opengl it's hello but other stuff are way easier and less scary it's easier to write entire 2d games in other languages than to load a simple cube in opengl
Man this gives me flashbacks to when minecraft was a browser game. The world generation looked pretty much like this and in early alpha as well.
It never was a browser game, it was Java though. Maybe it had an applet version? Not sure. But yes it looked like this, to me not much different from modern minecraft, better sharers, but equally ugly at least hah
11:40 wtf that sentence flows so well with the music lol
Please keep going with this project!!
Add health, survival, mobs, ect!
I'd love to see a long-term recreation of minecraft, rather than just a singular video.
I think if he does that he may get sued by the original Minecraft
@@katech6020 yeah but he isnt selling it
@@katech6020 By original Minecraft, do you mean Infiniminer? heh
I dont think thats the point of this video
@@katech6020 Sued for what? He's not stealing or copying anything from the Minecraft game, he's developing it himself. And he's allowed to do it because Microsoft doesn't have a patent for Minecraft.
Mad respect for getting something this functional in only two days. Nicely done
as a guy who just started taking a quickie programming course at uni, I find this very impressive! great work man
Coding interviewers after seeing this video:
"Good day, gentlemen. I am here to change the future."
I'm not even a coder, so I can imagine how intimidating that must sound💀
I see a lot of programmers lamenting in the comments about how they feel bad about not being able to code this fast / this well. It's an impressive feat - but the reason it's possible is that the author has lots of experience & familiarity with solving these problems.
Just to start writing code you need to have learned about GLFW and CGLM; how to setup and run a C project; how to use OpenGL shaders. This is just to know how to start. Then there's all the other cool stuff he talks about in this video (which he was clearly learning about as the video went on).
So if you're a dev in another industry, or a student, and you look at this and go man that's impossible, remember: it's a whole other area of expertise. It's like if you are learning to paint and are mind blown by seeing somebody animate. It's a different set of tools to learn. If your goal is become this good - it's possible learn by seeking out information and tutorials and put your knowledge to practice in some real stuff. It's fun :)
I am a new coder. What is GLFW & CGLM?
Amazing video, I could however not finish it due to the flashing white that comes from the screen while it zooms by. What little I could see was amazing and you seem like a very competent programmer and it was a nice insight into what more advanced coding looks like. Thanks!
him: *places sand and it does not fall *
me: wait that's illegal!
"Aaaaaaaaarhg"
Foxy
under a full day of coding isnt enough to get all of the physics into a game made from scratch, special physics are a crucial 2 hours of work at least and some gaps in coding, the creator of this video made a world record of an almost perfect older version of minecraft
@@AlpacaNix i don’t code C, but I’m pretty sure it’s not hard to check if there is a block under the sand, then drop the block if there is none
Is it possible to learn this power?
It will not come from a unityfan.
learn to code in C
@@nbacivilnba8950 Learn OpenGL which is just as hard
Not from an Engine
just don't over complicate your code with oop and weird "best practices" lol
You know, I never understood the true meaning of solid/nonsolid blocks until you mentioned it was for efficient rendering of block faces.
For the longest time I wondered why stuff like slabs and stairs were nonsolid. They have a hitbox. In my mind that counts as solid.
But now I get it. Those blocks are nonsolid because you can see OTHER block faces through them.
i feel like i always hear the term "transparent" vs "solid" blocks instead of "nonsolid". Its a much more explanatory term since transparent gets directly to the point that took so long to reach when using the term "nonsolid"
And everyone thinks that making games with engines is hard, my guy just showed how much harder it is to make a game from scratch. This guy proves that game engines make game making very easy. (Compared to scratch)
8:27 This is where squidward ended up after the time machine broke
in the next day:
"Every other guy on youtube used some kind of cheat like a programming language, so I decided to create minecraft with holes in cardboard"
Programming language are holes in an electric board
stolen comment
@@JovanLemon your comment has been stolen the most, stfu
@@tvbluebull866 no not really
also the other one is the exact same
"I decided to create mincraft from scratch by rediscovering electricity and starting from there"
I love watching the randomly generated terrain come out of the fog seamlessly.
I've started to get into programming. I've been following along on yt videos coding stuff like a calculator and what not to learn how code works...after seeing this I understand I have years of learning ahead of me
this is highly underrated
Honestly, though, this is amazing! I really love the fact that you didn't use a game engine! Only pure code! That's freakin awesome!
Yeh OpenGL is hard af, but he did it!
@@yeppiidev ikr!!
-no shortcuts-
10 seconds later: so i used this library that did all the heavy lifting.
@Cid pal i know how to handle opengl but i find this ironic af
I have yet to come across an OpenGL application that makes direct calls to the GPU instead of using a library.
Here's an analogy:
Direct OpenGL calls to the GPU is like building a house with your bare hands.
Using an OpenGL layer like glfw is like building a house with a hammer.
Using an Engine like Unity or Unreal is like building a house with an established foundation.
Using the math's library he got for the perspective camera however is a little bit of a cheat in my opinion
if he's going all the way with it.
glfw is fine IMO, you could avoid it if you want to go hardcore but it gets boring to do all the "plumbing" from zero. I agree with @Gabemeister1201 that using the math library for the camera is a shortcut. Nice video though.
@@Gabemeister1201 There's no such thing as "direct OpenGL calls to the GPU". OpenGL is just an API designed to interface with graphics hardware. Since the inner workings of a graphics card are vendor-specific, each vendor has to implement this API on top of their hardware which translates the API calls into what the hardware is actually supposed to do. This is why, at the start of any such application that uses an API like OpenGL, one has to load the driver's API implementation library in order to access the correct functions.
GLFW actually does very little with OpenGL directly. It merely creates and somewhat manages a window with a context for you. However, you'll still need to separately load the OpenGL implementation to be able to use it (using e.g. glad).
Unless you expect him to write his own OS, including any drivers needed, there's no real practical way around using a bunch of libraries. And a maths library is certainly one of the smaller ones.
@Nybbl er Take a look at Vulkan. The reason these things require so much boilerplate code is simply because they're pretty complex.
C and OpenGL are probably one of the best documented things out there. If you can't find documentation on it, you're doing something fundamentally wrong.
In any case, no one needs a PHD, or anything near that, to do graphics programming.
As an aspiring programmer that's been learning to code for years but started getting any meaningful results just a little ago, I have to say that this IMPRESSED me.
Especially phrases like "that took a good hour of coding", well, sometimes you can't find a way to fix a simple bug in several hours, even when the code is WAY less complicated =)
Anyway, good luck, that's really an achievement for two days.