"or if you've never learned linear algebra, think back to after you watched this section". That sentence alone was worth watching this video for. Great video!
@Chloedasher3 ай бұрын
"I don't wana include a 3d model for every letter, number, and symbol. That would be ridiculous" Later... "I'll need to add a 3d model for each letter number and symbol"
@spin4team40967 күн бұрын
But those are different, that's just because the game needs those models, but a different game made in this engine obviously won't need a 3D texture for every letter because they probably won't use flying letters as projectiles.
@98ahni3 ай бұрын
I made my own 3D game engine as part of my education. The feeling of making something from nothing is truly unique!
@InkboxSoftware3 ай бұрын
It's a great feeling for sure
@YaBoiKerpal3 ай бұрын
So you're telling me that an American Company had a project called the Manhattan Project aimed to destroy the Japanese hold on the gaming market? Hmmm...
@RobinThePaladin3 ай бұрын
Hmmm...
@Idiot3543 ай бұрын
Hmmm...
@Neelesh1442 ай бұрын
is that what known as illuminati lol
@MS-LOL2 ай бұрын
@@Neelesh144 The la li lu le lo!
@reeman2.0Ай бұрын
@@MS-LOL ra ri ru re ro*
@BananaMan67633 ай бұрын
I'm really surprised with how you can just jump around doing different types of things involving programming games. Like, coding nes games in 6502 assembly, coding gbc games with 6502 assembly as well I believe, coding an mmo game using angular, and now coding a 3d game from scratch with DirectX!
@starleaf-luna3 ай бұрын
GBC is incompatible with 6502 assembly. you're thinking of SM83.
@jajoothecoolman3 ай бұрын
He is too smart.
@RedstonekPL2 ай бұрын
thats what recreational programming is all about tbh just messing around in whatever you want
@instantlymeatified2 ай бұрын
Gameboy is z80
@skyeplaysgames459825 күн бұрын
@@instantlymeatified Gameboy is SM83, as someone above you already said
@joaquinvanhouten3 ай бұрын
I don't know a damn thing about programming. I didn't understand a damn thing he said. I did have a great time.
@JoeyCoco20243 ай бұрын
Glad I’m not the only one..had no clue about what he was on about but the knowledge is impressive!!!
@juanmacias59223 ай бұрын
I know programming. I didn't understand a damn thing he said. I did have a great time. :D
@bosballl3 ай бұрын
my 10 year old sister can understand this.
@AFirex073 ай бұрын
@@juanmacias5922 real
@leonlysak49272 ай бұрын
Then you would likely become a great programmer. Get after it homie. It's fun!
@xenotiic83563 ай бұрын
My brain is melting trying to understand the math, but it's still really cool!
@TheIndigoShine3 ай бұрын
Just... calculus of points and data make funny shapes on screen yee!
@Innuya3 ай бұрын
Man, the project is cool and all but your presentation is A++, incredible work dude.
@modlich_3033 ай бұрын
8 BIT Minecraft. Like how a widow looks into the sea. Knowing that her beloved has been taken by it, but still waiting, for his return. I too look into this channel, hopelessly awaiting 8BM's return. Although I know it's fate, I still await it's return, feeding myself lies with every breath i take.
@MengoOfficial3 ай бұрын
2 weeks....
@j-w-83 ай бұрын
Still waiting after 10 months and still no 8bm. I wonder if Inbox decided the game was done
@MengoOfficial3 ай бұрын
@@j-w-8 he said 8BM was just on hiatus in another comment.
@boody88443 ай бұрын
I've always been curious and interested about how all of this works on a lower-level software speaking. It is kinda interesting that software engineers do not have to worry about things like this anymore and can just use frameworks but for some reason it doesn't sit right with me.
@another39973 ай бұрын
Underneath, they are clearly very complicated tools, but it's the same as you or I 'building' a computer... you don't need to know anything about electronics. It's like putting together Lego tricks. Writers and artists don't need to understand how paper, ink and paint are made, they just use them. Bricklayers building houses don't have to understand the chemistry of bricks or the physics of adhesion. Car drivers don't need to understand rubber compounds, the physics of steering or the chemistry of petroleum or diesel in order to drive a car. 😉
@boody88443 ай бұрын
@@another3997 That does make sense, should be left to computer engineers to worry about 😅
@TheIndigoShine3 ай бұрын
@@another3997 Consumer is the end user. That how things are. There are so much complex stuff we aren't supposed to worry! For all of this comes out of human cooperation and good labor. Components for tools, tools to assemble creations or products to please a need. And now tools combine. We combine vehicles with radio and speakers, now we add computers and cameras, illumination and even sturdier crafted glass materials. To make things better and to evolve.
@lukeskywalker22 ай бұрын
@@another3997 Abstracting away all the complicated engine work has allowed so many individuals to create their dream game they never would have otherwise but devs nowadays tend to take it for granted combined with how powerful computers are so long gone are the days of clever optimizations and now we have the standard 500gb aaa game
@pacomatic98332 ай бұрын
@@lukeskywalker2 They can and likely want to make it smaller, but they don't have the time or money for that. Why? Because the stupid shareholders demand more, more, more profits.
@totoshampoin3 ай бұрын
Well, rendering hundreds of cubes bellow you as one giant floor is kind of a bad idea What you could do instead is make a single quad which's UV coords go higher than 1, and make sure its texture is set to repeating
@InkboxSoftware3 ай бұрын
Good idea, I'm sure I could write a shader for that
@aspectreishauntingeurope3 ай бұрын
@@InkboxSoftware you don't need any shader for that, you just need to configure the sampler differently...
@soryabuscompany3 ай бұрын
@@aspectreishauntingeurope wouldn't you need to edit the code in the shader to do that then?
@aspectreishauntingeurope3 ай бұрын
@@soryabuscompany no, samplers are created on the cpu.
@freezingcicada68523 ай бұрын
@@soryabuscompany Nah, theres some "Hints" or w/e its called that you could have repeating texture, clamp texture or just a single texture.
@ryanbeatty54783 ай бұрын
This is an absolutely amazing breakdown of the graphics pipeline
@Justinjaro3 ай бұрын
Yo to help with the floor rendering, add a UV multiplier into your base shader and you can gain back a lot of the performance from just using a single plane like you did previously, and scaling the floor UV texture.
@DemonixTB3 ай бұрын
9:30 No. A CPU does do SIMD. They have registers of sizes up to 512 bits now (with MTX extensions coming that'll have 1024 or 2048 in the future), and instructions that operate on them as though they were packs of 64/32/16/8 bit registers, in a way it is similar to what GPUs do, but on a far fewer number of, but far larger and more pipelined, and completely out of order, predictive, highly optimized cores. Instead, GPUs use SIMT, Single Instruction Multiple Threads. A GPU is made up of (in nvidia's terms, every vendor calls them something else) many GPC's (General Processing Cluster) that contain many SMs (Streaming multiproccesors) that contain Thread Blocks made up of two Thread Warps, which are basically a pack of 32 execution units that can do memory, floating point or integer related instructions, but no decisions, those are made by the SM controller, and all do waves of the same instruction (or they need to stall if not all of the threads are meant to take the same execution path).
@Hatomix2 ай бұрын
I have no clue what i read but it seems smart so have a like lol
@user-tk5gj2cz5qАй бұрын
this you? 🤓
@FastDuckProgrammer2 ай бұрын
This is so calming but also explaining really hard things easly without cutting anything out or saying something that changes like ho many buffers direct x has!11!1!
@morgan02 ай бұрын
right now i am working on writing my own like, not game engine, but kinda the graphics side of a game engine, mainly for very fancy uis for my use case. i have not gotten to the stage of it being able to draw anything, except drawing pain into my mind. i am certain that it will need significant revisions for it to be useful for someone that isnt me lmao
@Junkman3 ай бұрын
Instead of using a bunch of cubes for the floor, just make one large cube and set the UV map to > 1 so the texture will repeat
@daviddelgado55533 ай бұрын
Thank you for consistently proving us with subtitles even though I may not understand everything you talk about. :)
@soryabuscompany3 ай бұрын
Wow, that game was really realistic
@ferenccseh40372 ай бұрын
Many people pointed out the floor, so I'll say this instead: Instead of sending an image for each color for the enemies, you can send a single, grayscale image and tint it by multiplying by a color based on their health. Sending data to the GPU is usually the biggest bottleneck, so this should speed things up a bit.
@bengoodwin21413 ай бұрын
I gotta be honest, that 3d UI thing you did seems cursed.
@aspectreishauntingeurope3 ай бұрын
it is indeed incredibly cursed and stupid lol
@lazerpie1013 ай бұрын
the more you dig into the workings of a computer, the more horrific things you find.
@aspectreishauntingeurope3 ай бұрын
@@lazerpie101 nah not really tho the grease sits atop
@RADkate2 ай бұрын
wait till you find out about the full screen quad and its even more cursed cousin the full screen tri
@bengoodwin21412 ай бұрын
@@RADkate that doesn't sound that bad as long as it's just one polygon. Still weird though
@Will-zv1tm2 ай бұрын
This was so great, and you really did a fantastic job explaining the CS concepts in the video. I’m going to say the next thing purely because I want to see this channel continue to grow, but you might want to consider getting a slightly better mic or teaching yourself to speak with more inflections and pauses. It would really help with some of the humor in the video and would enhance the learning experience.
@LobotomyTC2 ай бұрын
2:49 "and several DirectX boxes later..." Opportunity to throw a picture of the Dreamcast in that lineage, missed. I don't know why people always forget it was the first DirectX box.
@cambocontent67322 ай бұрын
I definitely need to keep revisiting this video, you are doing great work just creating educational videos like these! Very informative.
@CoolJosh3k3 ай бұрын
Instead of a different texture for each colour, you could have used vertex colours.
@commander34943 ай бұрын
Oh my god that outro music brought back memories.... That's a really good choice for an outro track
@MilesLabrador3 ай бұрын
This is absolutely stunning!
@J4y_boi3 ай бұрын
Just started the video, I’ll predict that it’s sponsored by Brilliant
@MengoOfficial3 ай бұрын
🤯🤯🤯
@thatsmilyalt2 ай бұрын
Yes
@Nada-nonexistent3 ай бұрын
i really hate to say this type of stuff, but where 8bit Minecraft update i don't want to put pressure i just really like this concept and i admire the effort you put into it and id hate to see it all go to waste
@InkboxSoftware3 ай бұрын
2 more weeks
@Nada-nonexistent3 ай бұрын
@@InkboxSoftware yippie 👍 I also want to add that I don't really mind the time it takes. In the sense that If gave devs take time for their mental health it will end up into better and more fun results. so take your time, no pressure
@cloudy7723 ай бұрын
6:28 oops typo. Should be “fragments”
@TheIndigoShine3 ай бұрын
Great video! This is so fun! You've done great! Would be cool to see more of this!
@BananaMan67632 ай бұрын
I just realized that you have been able to make a lot of games with different programming languages, and I remembered today that when it comes to programming you need to focus more on being a great problem solver rather than remembering syntax, and I believe that will help you be able to learn any programming language. I learn't about this from Fireship's video, how to learn to code - 8 hard truths. Do you ever have any difficulties with making new games with different programming languages? And if not, do you think there's a reason?
@InkboxSoftware2 ай бұрын
All high level languages are basically the same, so it really comes down to what platform do you want to write a program for. Windows, c#, c++. Web, javascript. Linux, c, c++. Just want it to work and don't care how: python. But of course the most fun: assembly.
@ret-si2 ай бұрын
20:34 okay that was smoother than my brain, totally subscribed, maybe i'll get smarter!
@JustJory3 ай бұрын
I absolutely love your mic, it reminds me of a video from 2015, please keep it 😭🙏
@CasiniLoogi2 ай бұрын
When creating the sphere guys, whyd yolu give them a texture? Wouldnt it be much more efficient to have vertex colored them? Or even just create a 4×4 texture with all the colors you need in the different pixels, then scale the uvs for the faces down to 0 and position them on the pixel that you want instead of creating a diffuse map for the whole thing
@R2AUK3 ай бұрын
Well done! ❤ Next steps: animation and shadows.
@clarkecreates3 ай бұрын
You'll probably never see this but thank you this was a very fun watch, I've always wanted to do this process myself but I'm extraordinarily lazy and probably never will.
@Lampe20202 ай бұрын
21:50 Wasn't that exactly what you tried to avoid by putting written characters on a texture instead of 3D-modeling them?
@Capi_sigma_pro_coder2 ай бұрын
I’m surprised you didn’t use vulkan
@chromosoze2 ай бұрын
i would have been surprised if they _had_ used vulkan. the amount of boilerplate you need to write to get basic rendering is significantly much more than that of D3D11 or OpenGL.
@Capi_sigma_pro_coder2 ай бұрын
@@chromosoze open gl is old and bad 🥱, vulkan is open source and not more compatible but definitely an alternate, it interacts with the computer system way better, open gl is limited becuase it’s old and needs to keep its compatibility
@detectivepyro69633 ай бұрын
Please never quit youtube
@AngelicDirt3 ай бұрын
I feel like he foreshadowed this by asking us to not ask whether the OLED watch could play Doom before. Unlikely, but still. 🤔
@Gauley_3 ай бұрын
Video starts at 4:50
@Sunrymoon3 ай бұрын
How so
@Sunrymoon3 ай бұрын
The intro is clearly axed on giving viewers a basic knowledge that most don't have for the rest of the vid,is this some sort of new trend where people do their best to discard intros and context in the videos because of their ever shortening attention span
@AcsaiGuy2 ай бұрын
Thank you lil bro 🙏
@seamo-vt2 ай бұрын
@@Sunrymoonprobably to skip the sponsor segment
@orangsuccАй бұрын
It actually starts at 0:00, like every video. Hope this helps! 🥰
@Benethen_3 ай бұрын
What's the chiptune music at the start of the video called?
@skylark.kraken3 ай бұрын
0:09 I have never plugged a monitor into any Raspberry Pi I've owned, if it would make it cheaper (no HDMI licencing fees) I'd like them without any graphical capabilities
@cool-person11613 ай бұрын
Better to have it and not need it, than need it and not have it
@skylark.kraken3 ай бұрын
@@cool-person1161 Well, I own 17, the 16 that are in a cluster don't need any display out, I may as well keep display out on the 17th (I may actually use it one day, if making a game I can check on the worst case scenario hardware-wise)
@Hellscaped3 ай бұрын
i ❤ tty over usb
@SSukram_3 ай бұрын
Arduino?
@skylark.kraken3 ай бұрын
@@SSukram_ I need something more powerful than that and cheaper
@vagmcpan6007Ай бұрын
If you re-compile the video in parts and change it a bit, you can explain the 101 of reverse-engineering 3d game files 😉 all these files contain is vertex and index buffers ❤️
@SEGACD32XMODEL12 ай бұрын
I misread “from Scratch” as in the programming language “Scratch”
@shango4651Ай бұрын
That would still be absolutely fucking epic
@j-w-8Ай бұрын
Love the cheese icon in 19:20
@bilalmahmoud12253 ай бұрын
I can't wait for Inkbox to discover SDF for 2d Text rendering^^
@RawFish2DChannel2 ай бұрын
I never done any DirectX stuff but I don't think you need any matrix (orthographic or perspective) to render 2D stuff. You can just use a different shader with only 2 values for position, and hardcode z coord in there. At least that's what I do in OpenGL/Vulkan
@Macko_z_Bogdanca3 ай бұрын
Since you programmed in gameboy and now 3d maybe it's time for 3d software renderer on gba? 😅 Great video!
@No_True_ScotsmanАй бұрын
There are bunch of those! Look up the Super Mario 64 GBA version some guy is making, it's incredible. Oh and the Tomb Raider one
@AdamFahn3 ай бұрын
Pure genius!
@skydivertyler3 ай бұрын
I learned so much in this short time wow
@TannerJ072 ай бұрын
7 minutes in and my mind is blown. Depth buffer is the smartest thing I've heard in a while.
@costelinha18673 ай бұрын
I tried learning graphics programming once, but I wasn't able to absorb much other than the bare minimun to render a single triangle. When I think of all the math background seemingly required to do all the stuff you do, specially with my next to LITERAL ZERO math knowledge, to the point where I can't even multiply or divide, it makes me feel very hopeless on that front. To be fair, I was learning OpenGL, not DirectX, but I doubt that would have made any difference, the pipeline seems to be pretty much the same.
@gemtun23 ай бұрын
these games are getting really realistic!
@briarwentling54353 ай бұрын
crazy that 3D rendering is just... how it works.
@Maxjoker983 ай бұрын
Very cool video! Now do a triangle rasterizer yourself and do a complete software renderer ;) (Also you don't need to create many objects for the ground, you can just repeat the texture on a single ground plane, by providing sufficiently large UV values and setting the texture clamping value) (Also you don't need to have non-static geometry for text, you could just as well use uniforms in your shader to get texture coordinates for your letters)
@BaldiReycaster3 ай бұрын
At this time, it is impossible to have watched the entire video, because it was released 3 minutes ago.
@xronium3 ай бұрын
watched it at 9x speed nerrrrd
@BaldiReycaster3 ай бұрын
Wrooooooooooong!@@xronium
@TheKdcool3 ай бұрын
An LLM could!
@NerdCloud-IT3 ай бұрын
nuh uh just watch it at 2x speed
@minirop3 ай бұрын
youtube counts a view after a mere 30s.
@titaniumtomato72473 ай бұрын
For the HUD elements can't you just ignore the projection and modelview matrices? Doesn't that put it directly in front of the screen? sorry if thats idiotic
@ClayMurray82 ай бұрын
Yes. Not sure why he thought he had to “undo” the movement. Your hud coordinates are just screen space coordinates. Or if you want to be fancy and screen size invariant your hud coordinates are from 0-1 as a percentage of screen size then you only need to multiply by 2 and subtract 1 to put it into NDC in the vertex shader.
@bvonline2 ай бұрын
Unreal is nothing against this! Call of Duty needs to be done with that realistic game engine.
@watson152432 ай бұрын
Gltf is 3d wraped in json it should be quite easy to unpack and use in your code
@JasperFoxoАй бұрын
couldnt you have set the uv coordnates to more than 1 for it to tile? or is it not how that works in raw d3d?
@Generlc_Human3 ай бұрын
WOOOOOOO NEW INKBOX VIDEO FUCK YEAHH LETS GOOOOOOOO
@iO-Sci3 ай бұрын
Serene ! this is a serene and cubical 3-D Game Engine 고요하고 입체적인 3-D 게임 엔진입니다
@21_electro2 ай бұрын
i feel so smart watching these 🔥🔥
@simonciott2 ай бұрын
you made 90's bowling alley animations into a game
@adamrushford2 ай бұрын
The way unity handles UI is to rendering it on a plane and stick it too the camera and use orthogonal view on it, rather than another ortho gfx pipeline... it renders faster UI being the worst fps hog to begin with. it also transfers CPU to GPU for some calculations.. also UI libs just need a renderer.. and you can get away with only windows buttons and text fields and editboxes with nothing else
@TheIndigoShine2 ай бұрын
I guess is easy to work with squares, but I wonder if there are examples of games who render text with a single polygon, Instead of a quad made of two polygons.
@vaibhavmishra51793 ай бұрын
Hi! Would you please provide the source code of Typing Simulator 3D? Is it available on Discord?
@janikarkkainen39043 ай бұрын
oh god, DX11. How many factories do you need to use to get stuff working? :D ...so much boilerplate
@uzlezz_35873 ай бұрын
"So much boilerplate" Vulkan: "Hold my VkInstance, VkPhysicalDevice, VkQueueFamilyProperties, VkDevice, VkQueue's, VkSurface, ..."
@duckicodes2 ай бұрын
Wow that sponsor transition was smooth
@GamerMan3.142 ай бұрын
At this time, it is completely possible to have watched the entire video, because it was posted 3 weeks ago.
@a.j.outlaster12222 ай бұрын
This was awesome!
@theholyquran_shorts2 ай бұрын
Inkbox please make this a tutorial step by step so that we can make our own 3d directx engine PLEASE!
@mohkh76102 ай бұрын
I did not understand much but you're underrated
@stevep91773 ай бұрын
I'm a big fan of graphics
@buzzbuzz20xxАй бұрын
A masterpiece of a video game
@guyguy4673 ай бұрын
To quote Ryan George: Wow wow wow... wow
@joeupdateandstuff2 ай бұрын
can you add ray tracing? or just better lighting?
@aspectreishauntingeurope3 ай бұрын
why use the proprietary directX, especially for hobbyist purposes, when there is OpenGL / Vulkan?
@InkboxSoftware3 ай бұрын
Had to start somewhere, and if you have Windows, you have DirectX
@aspectreishauntingeurope3 ай бұрын
@@InkboxSoftware just as you have opengl ;-)
@SuperXzm2 ай бұрын
why don't you install Gentoo?
@0tter5012 ай бұрын
@@InkboxSoftware but vulkan works anywhere (techinaclly directx does too but thats only because the directx to vulkan layer works anywhere)
@MS-LOL2 ай бұрын
I think it's because directX is the most popular set of APIs for rendering.
@ETK_8003 ай бұрын
now make your own rendering engine
@anon_y_mousse2 ай бұрын
Clearly a fan of Duke Nukem. I'd love to see this engine fully fleshed out and open sourced, if only to add to the competition for game engines. Although, I do wonder why DirectX instead of OpenGL or Vulkan, since those are far more cross platform.
@__Bomberman__24602 ай бұрын
Nice, but how do I make transparancy?
@elcucumber284721 сағат бұрын
windows pinball music goes hard :3
@No_True_ScotsmanАй бұрын
What's that game set in Australia at the beginning?
@ddxaidan79693 ай бұрын
What is the program at 3:47 that lets a user create a windowed application?
@paxcoder2 ай бұрын
Why Windows, Inkbox? I would never go back, despite the nostalgia
@davibergamin59432 ай бұрын
20:55 couldn't you make the texture repeat? in opengl (i know you are using directx) you can set the texture to repeat by using glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT) and then you can set the UV to the range [0; N] and the texture will repeat itself N times
@diaryofagamer-gl1bzАй бұрын
briliant is taking over
@cdkw23 ай бұрын
16:32 where are you getting these win95/98 styled icons?
@InkboxSoftware3 ай бұрын
They are windows 98 icons
@Nbrother16073 ай бұрын
20:39 i feel like i've seen this font in a certain viral video
@matticolo3 ай бұрын
I love this channel
@DerKlemm-Crafter3 ай бұрын
This is insane. I don't understand much of it, but who cares? I still enjoy it
@AJarOfYams3 ай бұрын
People who do care, care
@bosballl3 ай бұрын
it's really not that insane
@DerKlemm-Crafter3 ай бұрын
@@bosballl I guess I'm just stupid
@bosballl3 ай бұрын
@@DerKlemm-Crafter No
@wiggletonthewise21412 ай бұрын
“Bill Gates, you never cease to amaze the rock” sounds like a quote from a wattpad fanfic
@The-python-guy3 ай бұрын
When I do projects like this I just load in a image and render it seprately over the image (overlay)
@michaelespinoАй бұрын
Yo WHERE THE HELL IS 8 BIT MINECRAFT IT HAS BEEN ALMOST A YEAR
@voxeledphoton2 ай бұрын
cheddar video dude!
@segfaultdev2 ай бұрын
super mario land's ending song as an outro? 10/10
@cerulity32k3 ай бұрын
Hell yeah! I'm making my own game engine with wgpu, I love custom-made engines!