Godot Source Code explained by Technical Lead 01: Source project folders

  Рет қаралды 17,251

Juan Linietsky

Juan Linietsky

Күн бұрын

Пікірлер: 74
@kiyasuihito
@kiyasuihito 10 ай бұрын
I'm a full-time C++ embedded developer, and contributing to/tinkering with Godot's source has really accelerated my learning and has enhanced my skills at work. I think my boss even sees the difference.
@NitroNovaMusic
@NitroNovaMusic 10 ай бұрын
This owns, man. Here are some timestamp chapters. :) 0:15 - Intro 0:59 - core - Engine core summary (typedefs.h, config, crypto, error, extension, io, templates, object, os, string, and variant) 6:00 - server - Internal game engine workings (rendering, display_server.h, navigation, audio, text) 8:12 - scene - Nodes and resources used in the editor (main, main/viewport, 2d, 3d, animation, audio, debugger, gui, resources, and themes). 9:54 - modules - Adds functionality to the engine 10:47 - thirdparty - External libraries bundled in the engine (and he lists off some examples). 12:31 - drivers - A variety of technologies that allow Godot to be exported and run cross-platform. 13:12 - editor - The engine's UI for editing game projects (export, project_manager, editor themes, etc). 14:36 - platform - Specific platform support technologies. 15:15 - main - Main entry point for the engine. The first lines the engine runs. 16:05 - tests - Unit tests of the engine 16:20 - bin - Not shown, generated when you build a project in Godot. 16:35 - misc - Assorted scripts for making the engine compatible with various specific things. 16:55 - doc - Documentation
@reduz
@reduz 10 ай бұрын
Oh thank you so much, I am quite unfamiliar with KZbin, so I need to learn how to do this.
@MihroTwo
@MihroTwo 10 ай бұрын
​@@reduz Chapters require an initial 00:00 chapter to be recognised and applied. Just prepend that extra line (or change it like "00:00 Intro") and KZbin will apply chapter markers to the video.
@vid2422
@vid2422 10 ай бұрын
we really need some documentations for the C++ engine code, it would help contributors be more efficient and save a lot of time. especially the Core part of the engine, I see a lot of PRs where a contributor makes some really impressive changes but end up using wrong data types or using inappropriate classes. I understand that this happens and we have other contributors who know better and can correct each other but having official docs for the engine code is a great long term investment in my opinion.
@reduz
@reduz 10 ай бұрын
This is in large part why I am going to work on this, some things are hard to write in comments regarding to how stuff works, so I will go over everything I can in these videos. Then if someone wants to help out writing code documentation for the core classes, they will have these as reference.
@jayrulez
@jayrulez 10 ай бұрын
@@reduz This seems like a roundabout way of doing things. Since you are already knowledgeable of the internals, why not just write it in the source code instead of explaining it in a video then hoping someone will then write in the code after watching the video. For one, it will take a long time to cover all the missing stuff in videos. Additionally, videos become outdated as the engine evolves. The written documentation will evolve with the engine, unlike these videos. I appreciate these videos, but you have to really think about the purpose. These videos may be great for beginners, but more experienced people will prefer documentation they can just read and get going. Is the idea behind these videos to get beginners looking into the code? Or is it to get more experienced people contributing?
@reduz
@reduz 10 ай бұрын
@@jayrulez Because a) Technical documentation in the source code takes far more time and effort and b) Can't really comment about everything in code comments, so would still also need a lot of extra supplemental documentation in the docs page. That would take a ton of time I simply don't have, so in the best spirit of a community project, I do my part and others do theirs, like everything has been up to now.
@Dent42
@Dent42 10 ай бұрын
@@reduzWould you accept comments written by an LLM trained to generate comments from code? I’ve found that code -> comment has much better results than comment -> code
@Zarial_
@Zarial_ 10 ай бұрын
@@Dent42 llm generated comments are flacky, it would take more time to fix the mistakes than commenting by hand.
@MajikayoGames
@MajikayoGames 10 ай бұрын
Awesome video! Can't find this kind of content anywhere else, super valuable for anyone who has poked around in the Godot source code to modify it. Which can be quite the time investment to learn it, so watching a quick 20 min video is nothing for us. Would love to see more of these, even if it's just giving an overview and rambling about whatever you feel is interesting/important to know. Appreciate the awesome engine Juan! I see your name every day when I boot up Godot lol.
@TheKbdering
@TheKbdering 10 ай бұрын
Christmas came early this year! I was really expecting this series
@purplepixeleater
@purplepixeleater 10 ай бұрын
This has completely demystified Godot code base to me, I am very grateful for everything you do Juan! Amazing content.
@gnatinator
@gnatinator 10 ай бұрын
Thank you for having the foresight to simply embed third party libraries into Godot directly. Can't imagine the pain in the ass of having to maintain builds for all those.
@purplepixeleater
@purplepixeleater 10 ай бұрын
Like old GDN and Modules? :)
@vectoralphaSec
@vectoralphaSec 10 ай бұрын
Wow. The original creator of Godot. Awesome.
@emiliotorres3774
@emiliotorres3774 10 ай бұрын
Juan, it’s awesome to see a fellow Latino and the brain behind Godot share these insights. Can’t wait for the next one!
@mono9613
@mono9613 10 ай бұрын
I planned on contributing to the engines source code for a long time now. This will definitely help a lot!
@squarerootof2
@squarerootof2 9 ай бұрын
Juan "I'll get into that later" Linietsky.
@cybermonkey2807
@cybermonkey2807 10 ай бұрын
Much needed thanks for your efforts...please continue this series
@ekings2119
@ekings2119 9 ай бұрын
These videos couldn't have come at a more opportune time. I was just trying to get into contributing, and felt EXTREMELY overwhelmed, even with the bit of experience I have. Thank you.
@collinvisser7108
@collinvisser7108 10 ай бұрын
Thank you for making the time to make this.
@Temple_Cloud
@Temple_Cloud 10 ай бұрын
Really really love this video and it's content. Thanks so much! I totally admire Godot and it's communities commitment to not only providing an awesome open source game engine, but also 'opening up the source' so anyone can get started being creative and learning something new. I am really looking forward to this series - not only to learn about the Godot engine, but also to gain an insight into how professional developers go about designing a large complex multi-platform C++ application in practice. Tres excited!
@Temple_Cloud
@Temple_Cloud 10 ай бұрын
Oh, the just one thing to add... sadly I am a bit old nowadays (probably a bit too old to be dabbling in this sort of thing tbh) - so my eye-sight is pretty awful, so if the font size could be bumped a bit in the next vid then that would be really appreciated! No problem if not though... the content is the important thing!
@Temple_Cloud
@Temple_Cloud 5 ай бұрын
@KosinsStuff 💛
@David-eb4rp
@David-eb4rp 10 ай бұрын
Awesome work, looking forward to more explanation videos!
@Lexie_T
@Lexie_T 6 ай бұрын
Thank you for making this! I would love to contribute to the source, but such a large project is intimidating to jump into. I look forward to seeing more!
@souvikkar5515
@souvikkar5515 10 ай бұрын
Awesome content man! Looking forward to more such videos
@jostasizzi818
@jostasizzi818 10 ай бұрын
Finally somebody so I can really get deep knowledge how things work in 3D also inspire me to make my own fun projects too Thanks Juan
@aboudaladdin8604
@aboudaladdin8604 10 ай бұрын
This is/will be very helpful, thanks Juan!
@michaeloconnell145
@michaeloconnell145 10 ай бұрын
I love Godot! Thank you for making this video!
@RadheSarmiento
@RadheSarmiento 10 ай бұрын
Este video es oro, siempre quise entender el codigo fuente de Godot para poder empezar a regresarle a la comunidad todo lo que me ha dado
@Fupicat
@Fupicat 10 ай бұрын
I had the 3.X version of this video on my watch later for so long, guess this is a sign for me to actually start now!
@purplepixeleater
@purplepixeleater 10 ай бұрын
at least you didn't waste time on that :) (I did the same lol)
@Pracedru
@Pracedru 10 ай бұрын
This was a very informative video. Thanks Juan.
@vectoralphaSec
@vectoralphaSec 10 ай бұрын
Would you ever think about doing a whole course series on Godot game dev?
@Hawthorne-Studios
@Hawthorne-Studios 7 ай бұрын
Cool wisdom vibes emerge from the tunes of synth...
@emanvidmaker
@emanvidmaker 10 ай бұрын
this is awesome, keep doing them, please
@semaph0re
@semaph0re 10 ай бұрын
Godot code is pretty easy to work on. I'm not a engine developer but was able to put my own stuff into Godot easily.
@nephew_tom
@nephew_tom 10 ай бұрын
Great Juan! Is this a present coming from Fallas? 😄
@santimachin9294
@santimachin9294 10 ай бұрын
Inspiración total. Gracias
@EsmaeilEhsanmanesh-st9ux
@EsmaeilEhsanmanesh-st9ux 10 ай бұрын
Best thing could happen for an open source game engine.
@IceCreamPie9000
@IceCreamPie9000 10 ай бұрын
Here we go
@FalconFetus8
@FalconFetus8 10 ай бұрын
This is very helpful!
@mohsenzare2511
@mohsenzare2511 10 ай бұрын
Thanks for Video Juan Most server classes are virtual classes, is it possible to extend them through modules? as an example add a new physics server or rendering server?
@reduz
@reduz 10 ай бұрын
In most cases yes, (or would be easy to add if not). Rendering is harder because you most likely don't want to reimplement the whole thing, so overriding at a more specific point of the rendering code is going to be added also.
@kiyasuihito
@kiyasuihito 10 ай бұрын
Awesome thanks! 🎉
@perkarlo
@perkarlo 10 ай бұрын
Here we go 🎉
@hammer86_
@hammer86_ 10 ай бұрын
Thank you! I would like an overview of the GUI code. Isn't the Godot editor written using it? Is it something I could use in a 2D application? I tried to figure it out years ago but I couldn't find where, for example, it actually draws a line.
@ferxas4560
@ferxas4560 10 ай бұрын
Thank you for this!
@leolopezdev
@leolopezdev 10 ай бұрын
Hi thanks for your effort, someday I want to make games with godot.
@kusumaglawe5455
@kusumaglawe5455 10 ай бұрын
Thanks 🙏
@Heni_zion
@Heni_zion 10 ай бұрын
Thanks!
@mr.condekua6141
@mr.condekua6141 10 ай бұрын
is that windows?
@vuurmos6257
@vuurmos6257 10 ай бұрын
This is great! I'm a noob but it's a dream of mine to help contribute to Godot
@comedyclub333
@comedyclub333 10 ай бұрын
Although I really appreciate the effort, I'm not sure what the purpose of this video series is. While the source might seem intimidating at first, it turns out to be very readable and well structured if you take your time diving into it. I had a question the docs did not answer and was able to find the answer after 20 minutes of reading the source code, although I never had a look at it before. That's about the length of this video which covers only the surface. Of course this is highly subjective. Maybe it's just my perception and others have more trouble reading it. It's still nice to hear something from you, Juan!
@mehdimarzban2824
@mehdimarzban2824 10 ай бұрын
Do I hear it correct? You pronounce it GODOT? With a "T" in the end?
@reduz
@reduz 10 ай бұрын
I'm a native Spanish speaker!
@el_primer_y_el_ultimo_caiman
@el_primer_y_el_ultimo_caiman 10 ай бұрын
i think you forgot the scene folder lol
@el_primer_y_el_ultimo_caiman
@el_primer_y_el_ultimo_caiman 10 ай бұрын
​@@senkrouf my bad i was watching on the toilet at 6 am half asleep
@4115steve
@4115steve 10 ай бұрын
you should do coding live streams. I think there would be a lot of interest in watching you code
@Ah2o5b
@Ah2o5b 10 ай бұрын
Thank you🎉
@mrhyperbit4882
@mrhyperbit4882 10 ай бұрын
thanks
@agustinsida8877
@agustinsida8877 10 ай бұрын
Otra coronacion de gloria
@leolui2061
@leolui2061 10 ай бұрын
Just q: "old" amd/radeon - if can be good use vulcan, then why gl"es"3 exist? old platform? lg backend not work on amd/radeon. intel gpu have many issue. shadows problems, and etc/// and why you not support - i mean, replace as bgfx, or... ogre.... and physycs - WHY? i mean why you nead own iml?
@reduz
@reduz 10 ай бұрын
There is a difference between rendering techniques and rendering APIs. Old rendering APIs are designed for old hardware, which require old rendering techniques, while new rendering APIs are designed for newer hardware which use newer rendering techniques. Using an API wrapper like BGFX is not a magical solution and it does not avoid you from having to use different techniques for different hardware. GLES3 exists in Godot because its supported in much older harware (late 2000s) than Vulkan and the rendering techniques used on that renderer are the ones more ideal for that kind of hardware . Even if some very old hardware supports Vulkan (they added support even if the API came out later than the hardware), it does not mean it supports the more modern rendering techniques, hence you should still aim to run GLES3 on it.
@Kosin-v6w
@Kosin-v6w 9 күн бұрын
I honestly dont even know why im watching this. I have barely any c++ knowledge and i literally don't understand anything going on in the code lmao
@andrewn7155
@andrewn7155 9 ай бұрын
*Promo sm* 😪
@solitudealma388
@solitudealma388 3 ай бұрын
Do you know how lsp sends the generated code to the built-in or external editor? For example, the function added when connecting two nodes. I use the external editor neovim, but when I use this function I get ``` [ERROR][2024-10-16 19:29:29] ...m/lsp/client.lua:974 "LSP[gdscript]" "on_error" { code = "NO_RESULT_CALLBACK_FOUND", err = { error = { code = -32601, message = "Method not found: " }, id = 6, jsonrpc = "2.0" }} ``` This error. How should I fill in the remote-send parameters?
@martinwang6077
@martinwang6077 10 ай бұрын
Here we go
Godot Source Code explained by Technical Lead 02: Memory Management
31:03
Stride For Unity Developers
15:32
Gamefromscratch
Рет қаралды 27 М.
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
How to Do 90% of What Plugins Do (With Just Vim)
1:14:03
thoughtbot
Рет қаралды 916 М.
Godot Powered! - 15 Apps Created using the Godot Game Engine
11:35
Gamefromscratch
Рет қаралды 43 М.
NVIDIA CEO Jensen Huang's Vision for Your Future
1:03:03
Cleo Abram
Рет қаралды 84 М.
Gentoo SystemD with LUKS Rootfs Encryption Install
40:27
Den4ikRus
Рет қаралды 221
Godot... But Prettier
11:23
Gamefromscratch
Рет қаралды 103 М.
Godot as an Open Ecosystem - Juan Linietsky (GDC 2023)
24:46
Godot Engine
Рет қаралды 42 М.
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН