- 104
- 467 205
mohsen zare
เข้าร่วมเมื่อ 19 มิ.ย. 2020
Hello dear game developer OR, people who love games, OR people who just wonder in my channel for fun
My name is Mohsen Zare
I love game, math and programming
And I just decided to create videos about those things that I love
English language is not my mother language so I am sorry if sometimes I make errors
I work with Godot as the game Engine, And I hope this open source game engine will grow day by day
My name is Mohsen Zare
I love game, math and programming
And I just decided to create videos about those things that I love
English language is not my mother language so I am sorry if sometimes I make errors
I work with Godot as the game Engine, And I hope this open source game engine will grow day by day
Why Godot Physics is slow? SIMD
In this video we discuss why it is important for Godot to add SIMD feature into the engine! I could modify a small part of Godot engine core to work with SIMD but doing that for entire engine need more work!
I know making this big change will be hard but it is necessary to take this step forward!
I am not the first person to propose this! there some Github discussion and proposal for that! some of them are for more 5 years ago! unfortunately up to this point there is no attention to add SIMD in Godot!
Discord:
discord.gg/ravFervXVW
Twitter:
x.com/mohsenph69
patreon:
patreon.com/mohsenzare?Link&
Chapters:
00:00 - intro
00:30 - SIMD support
02:35 - SIMD in different CPU
06:06 - Memory Alignment requirement
07:78 - modifying Godot basis for SIMD support
08:44 - ending
I know making this big change will be hard but it is necessary to take this step forward!
I am not the first person to propose this! there some Github discussion and proposal for that! some of them are for more 5 years ago! unfortunately up to this point there is no attention to add SIMD in Godot!
Discord:
discord.gg/ravFervXVW
Twitter:
x.com/mohsenph69
patreon:
patreon.com/mohsenzare?Link&
Chapters:
00:00 - intro
00:30 - SIMD support
02:35 - SIMD in different CPU
06:06 - Memory Alignment requirement
07:78 - modifying Godot basis for SIMD support
08:44 - ending
มุมมอง: 5 434
วีดีโอ
HLod system in Godot! Handling massive scene!
มุมมอง 2.4Kหลายเดือนก่อน
So the is the first video about the progress in Hierarchical Level-Of-Detail (HLOD) system in Godot! at the time of publishing this video the system is still not completed but we are working on that to publish at least the first version of that! This will be part of MTerrain plugin! We made system to be able to create a large world with a lots of objects! Discord: discord.gg/ravFervXVW Twitter:...
Terrain deformation by Curve - MTerrain plugin Godot
มุมมอง 2.5K4 หลายเดือนก่อน
Please download the latest version of M Terrain plugin for this! Here we have another tool which work on top of out new curve system! with this you can automatically modify terrain height-map, terrain image and even grass! all of these are done non-destructible! MPath system and road creation video: th-cam.com/video/pXIaW62I20k/w-d-xo.html creating terrain from scratch video: th-cam.com/video/7...
MTerrain has a new UI system! Godot Terrain
มุมมอง 1.8K4 หลายเดือนก่อน
Thank for great work of RossUnger we have a new UI system for MTerrain! Now you can control almost all functionality of MTerrain from one single panel! In this video you see a introduction to new UI system! Discord: discord.gg/ravFervXVW Twitter: x.com/mohsenph69 Download latest: github.com/mohsenph69/Godot-MTerrain-plugin/releases Github: github.com/mohsenph69/Godot-MTerrain-plugin
I made a Road system for Godot engine
มุมมอง 4.4K5 หลายเดือนก่อน
This will come on top of my terrain plugin and still at the time of recording of this video is under development! This is not only for Road you can use that to generate any kind of mesh like walls, terrain track, river or any other type of repeating mesh! video about MOctMesh: th-cam.com/video/hJ3zW3rjwao/w-d-xo.html Discord: discord.gg/ravFervXVW Twitter: x.com/mohsenph69 Download latest: gith...
Handling large scene in Godot
มุมมอง 5K7 หลายเดือนก่อน
So this will be a start point for me to create a system for handling large scene in Godot! I thought to myself lets create and finish one octree system for everything so we don't have to rewrite that in each system separately! Other than this I think one central octree will be much more efficient the several one! by the way in some cases you can create other octree also! Discord: discord.gg/rav...
More Grass update in M Terrain plugin - Godot Engine
มุมมอง 2.9K8 หลายเดือนก่อน
Adding some custom data open many new things for grass! I just mentioned some of the simple ones! Discord: discord.gg/ravFervXVW Twitter: x.com/mohsenph69 Github: github.com/mohsenph69/Godot-MTerrain-plugin patreon: patreon.com/mohsenzare?Link& Wiki: github.com/mohsenph69/Godot-MTerrain-plugin/wiki Some video which I suggest to watch before watching this: Terrain creation: th-cam.com/video/7CTH...
Terrain and Grass Editing in-game with MTerrain plugin Godot Engine
มุมมอง 2.1K9 หลายเดือนก่อน
So basically in this new version of mterrain plugin I added some functionality to be able to deform terrain and update grass in real-time in-game! With time I will improve some stuff to make this thing faster specially for grass! Please note: One thing that I want to add to video above is that, calling function update_dirty_texture on terrain in a different thread should be safe, so you can als...
Terrain tutorial Godot - Mountain Lake
มุมมอง 20K9 หลายเดือนก่อน
So this is a tutorial to create a Mountain landscape with Godot! I try to focus on base stuff, but I can not explain everything so I will refers to other video also. Discord: discord.gg/ravFervXVW Github: github.com/mohsenph69/Godot-MTerrain-plugin Wiki: github.com/mohsenph69/Godot-MTerrain-plugin/wiki Download for Windows: drive.google.com/file/d/1GX4OOj7HZnquhNCNmLruxQbecrn3Ji0h/view?usp=shar...
sRGB color space & Linear color space concept in computer graphic
มุมมอง 2.6K10 หลายเดือนก่อน
This was about sRGB color space and linear color space! down here I will put more useful resources, which you can read them! learnopengl.com/Advanced-Lighting/Gamma-Correction www.cambridgeincolour.com/tutorials/gamma-correction.htm blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/ blog.wolfire.com/2010/02/Gamma-correct-lighting Also I add one more thing here, Many game se...
Prevent Tile Texture in Terrain
มุมมอง 23K11 หลายเดือนก่อน
In this video we are looking at possible solution to prevent tile texture or texture repetition Video for Texture Rotation: th-cam.com/video/ssrJGxMtssE/w-d-xo.html Video for splatmap: th-cam.com/video/sXPGHBod9KY/w-d-xo.html Chapters: intro - 00:00 artistic solutions - 01:00 texture mixing - 01:28 color variation - 01:50 detail texture - 02:18 texture rotation - 03:23 distance base blending - ...
New Terrain Compression Algorithm on M Terrain plugin
มุมมอง 4.6K11 หลายเดือนก่อน
Please note this compassion for each terrain and heightmap will give a different result, But as I tested for different type of terrain my compression algorithm perform better to PNG! Other video resources: Compression algorithm explained: th-cam.com/video/5KkVftV-PTk/w-d-xo.html Splatmap tutorial: th-cam.com/video/sXPGHBod9KY/w-d-xo.html regions size explained: th-cam.com/video/PcAkWClET4U/w-d-...
I made a Compression Algorithm for Heightmap Terrain
มุมมอง 68K11 หลายเดือนก่อน
This show the General algorithm for compressing a Heightmap image using quadtree and quantization. This compression algorithm will more optimize with linear regression model calculated with least square method in 3 dimension. I can say we implement delta encoding compression with linear regression in 3 dimension. Video and image resources used in this video: Quadtree collision calculation demo:...
Insane Huge Terrain 10,000 square km - Godot engine
มุมมอง 10Kปีที่แล้ว
And now we have no limitation for RAM memory usage for create our Terrain for open world games M Terrain Plugin on Github: github.com/mohsenph69/Godot-MTerrain-plugin Wiki page: github.com/mohsenph69/Godot-MTerrain-plugin/wiki Discord: discord.gg/EN447Q4hfM Terrain progress play list: th-cam.com/video/9olfCkPs1WU/w-d-xo.html Patreon: patreon.com/mohsenzare?Link&
MTerrain Adding Water System - new update - Godot engine
มุมมอง 1.7Kปีที่แล้ว
I think we can use material next pass as a simple water solution for our terrain which is really efficient! there are more changes which I wrote in my Github release page! And I hope as I got more free time I will create a good tutorial for water shader in Godot! this demo is not really a good example of water shader I just put something together for this demo! M Terrain Plugin on Github: githu...
Brush Masks for M Terrain plugin in Godot
มุมมอง 784ปีที่แล้ว
Brush Masks for M Terrain plugin in Godot
Type Casting Godot GDExtension c++ - part 13
มุมมอง 1.9Kปีที่แล้ว
Type Casting Godot GDExtension c - part 13
M Terrain Navigation First release tutorial - Godot 4.1
มุมมอง 2.5Kปีที่แล้ว
M Terrain Navigation First release tutorial - Godot 4.1
Paint Navigation Mesh on Terrain in Godot
มุมมอง 1.4Kปีที่แล้ว
Paint Navigation Mesh on Terrain in Godot
M Terrain Navigation first Demo - Open Word Navigation handling for Godot
มุมมอง 792ปีที่แล้ว
M Terrain Navigation first Demo - Open Word Navigation handling for Godot
Navigation mesh Open-world Terrain - First step Godot
มุมมอง 1.5Kปีที่แล้ว
Navigation mesh Open-world Terrain - First step Godot
can you suggest a list of resources to learn the things as you have? I have a strong basis in programming and an okay understanding of 3d graphics. Any courses or books you would recommend?
I recommend this channel even it is not for game: www.youtube.com/@TheCodingTrain
Dude, how do you put collision on the streets?
Thanks for the GDExtension series, super helpful
Thanks man for your support!
Your channel is filled with very interesting stuff related to Godot. Subbed
We are getting great great grandparents with this one 🫡
As far as I am aware the plan is to replace the godot physics with jolt in the future, which is already shipping as an alternative to godot physics in v4.4
this is amazing!
I've been coding for the last 15 years. Never in my life have I faced something as challenging as shader coding. Thanks for the video, I don't think I'll remember anything but thanks for the effort :)
Amazing and straightforward, Thanks a lot!
when i run the scene terrain disappear.
call create_grid() function in ready
Broke in multiplayer This is so sad Just PIZDECH how sad No terrain addon wich normal support multiplayer (at least it just wouldn’t break on it) it's just a curse
if you have free time would you mind make a video about adding caves and floating islands
🔥🔥
remapping shortcuts is very useful
amazing video again, I learn an enormous amount in ever single thing you make. Please keep creating. Is there any way I can make a donation or contribution?
How to create heightmap terrain with collision in Godot 4 : Step 1 - "Open blender" Refuses to elaborate further
this was an absolutely wonderful video. I knew nothing about triplanar mapping, and now I feel like I can go in Godot and experiment with it.
Nice train
is it ok for making low poly terrain
There is an open proposal on github named "Use SIMD vectorization intrinsics in the core" and an open pull request named "Add SIMD option to compile system and implement SIMD for vector4".
It's hanging for several years.
Did I get here late, or I am doing something wrong with MTerrain🥲
thanks, good tutorial how can i use the same mask for the snow but in vertex to scale up only the masked verts like displacement of sorts.
Can you make a game performance video? Your fps is incredible, of course you may have a beautiful machine, but it's clear that you have great knowledge about performance.
This is incredible! I have been trying to do just this for days. Thank you <3
Thanks for not making a clickbait video title and yet still making people wonder
I think it is more likely an issue of who will maintain this? Even in this video you encounter problems with the basis. This problem will affect the rest of the codebase then only people who can contribute/maintain would be programmers who live closer to the metal than your average programmer. I like low-level programming, and it hurts me to say that their policy on code simplicity sounds the right choice as a company. Maybe we can get best of both worlds in the future.
kinda sad we can't use sampler2D or array as per-instance uniform... chunked implementation of this inevitably requires mesh generation
You can check on Godbolt that pretty much every compiler automatically applies SIMD optimization to most trivial math. They are becoming so good at it that some people are advocating against writing SIMD by hand and just letting the compiler do its thing. The real reason it's usually not done is backwards compat. Even upgrading to AVX is so controversial because of users with old CPUs that its just not worth it. To properly make use of SIMD, you can't get around dynamic dispatch. If Jolt is fast, this is probably what they're doing. But it's also a lot more work.
Ngl you should work with the Team of Redot, as it's going to be more likely to be implemented overthere instead
حاجی ای کاش فارسیشم مییزاشتی 🤧
The Godot team refusing to add SIMD and insisting the the complier can do it truly show that none of them worked in the AAA games industry
They never shipped games in their engine. And unlike Unity devs, they don't have strong feedback from experienced developers.
@@Capewearer they never worked in a dev team, only porting to handhelds, so technically none of them shipped an AAA game let alone worked on one in Godot
The BEST. If not the BEAST.
Why is the engine working on such a low level instead of just talking to abstraction layers and letting it pick automatically whatever approach the hardware it is running on does better?
mohsen it would be amazing if you would make another godot project with real actual features build in. Some already tried based on ideological misalignments but their repos are weak. you on the other hand could come up with actual features and others WILL follow!
Support different CPU architectures, operate systems and graph APIs are core work of middle layers, third party libraries can do other, or need game developer implement by themself with some specific requires. Godot does perfect encapsulation in high level, but have some problems in low level, its codebase is not as solid and mature as some famous framework like SDL, Thats limits its ceiling.
I think they should add you to Godot.
These are the types of videos that I love to watch, you have gained a subscriber. Thanks for sharing this video, it is appreciated.
every time that I think you can't surprise me anymore you outdo yourself! Awesome, you're wonderful and I wish your videos were appreciated even more 👌👌👌
Does Jolt supports SIMD? Jolt right now pretends to Godot's default physics's place. So why GodotPhysics even need a SIMD? Why waste effort on Godot Physics, when Jolt already surpasses it? Also as far as I know, physics's contributor left the Godot team, leaving GodotPhysics in a suspended state.
yeah, but this is not only about physics engine! other part of the engine also be optimized by SIMD
Just dumb idea to change Bullet :( Godot 5.x with physics would been much better idea.
@@gruntaxeman3740 Bullet developers has stopped support their engine with all bugs in it.
@@MrTravoltino I've looked Bullet source code. It is not the cleanest code base, but the Bullet engine itself works excellent. Physics engine isn't that simple to do correctly and we are talking about real time physics. So there is tradeoffs for accuracy vs speed. I've read some paper where different physics engines were evaluated, measured, and there was comparison tables of features, and Bullet actually shines on those comparisons. It also used on games that have complex physics like Rockstar games. Because it works, it can be maintained with very little effort. It is not very buggy, it is just not improving anymore. So a perfectly valid solution is to take the Bullet code, put it in the game engine, use static code analysis tools and linters, and just change compiler switches to newer language version and more strict analysis so build process can throw warning if there is something weird. Otherwise it can be used as a black box. Until, we really got replacement that is at least good as Bullet in accuracy, features and performance.
@@gruntaxeman3740 Better is the enemy of good.
A ~300% improvement on physics performance would be absolutely insane. Please consider submitting your implementation to the Redot team!
it would be nice!
TIL what SSE and AVX are.
SSE suport 128 BIT, AVX 256 bit, but there is more you can read about them online
Not only physics is slow. Skeletal animations, scenegraph itself, rendering, resolution scaling... When all of these will be fixed, I doubt it'll be Godot.
wdym, you doubt it will be godot?
@@dosdoğruyup because that means that engine needs complete overhaul. And by the time it happens, it won't be the same.
@@Capewearer I see. thanks for explaining.
A lot of these mathematical operations affect the performance of the entire engine like animation, GDScript is less performance, sound and even 3D performance is affected because a lot of operations are done in the CPU before is send to the GPU.
A lot of these mathematical operations affect the performance of the entire engine like animation, GDScript is less performance, sound and even 3D performance is affected because a lot of operations are done in the CPU before is send to the GPU.
As an artist does some coding I'm thankful for the sight into the inner workings of Godot. I'm really surprised that Godot doesn't support such an old instruction set. I remember build PCs over a decade ago and had to make sure the the CPUs I used had certain features like this because the games and software I use required them. I can see why it can be frustrating to many Godot users. Many of us choose Godot because of it's open source nature but it still feels like it's being held back due to issues like this that honestly shouldn't be.
you know even with these problem it is working and it is open source, but I hope it will get better in future
This is why I had to leave when my 3D project was starting to show shape. I love everything Godot is trying to be. I want to support them so much and I will, however right now the engine is not fast or strong enough to pull the sort of worlds/art I want to push. Sadly days ago I had to pack up and replicate the project in Unreal very, very grudgingly. (To be honest I am replicating all the code for the player control back into Godot so I can pick up when Godot comes up to par by the end of next year).
Afaik, GODOT is (hopefully) gonna be using Jolt by default in the future for physics! (See GODOT issue 7308) But hopefully these changes can be implemented in the other parts of the engine! I'm also curios about the Rapier Physics Engine. It supports 2D physics too, which would be amazing if that could be improved too with it! Edit: There is an interesting topic around XPBD in a Reddit post I found by looking up "Jolt vs Rapier GODOT". That could be interesting to delve deeper into!
both Jolt and Rapiear support SIMD as I know
@@mohsenzare2511 Oh wait I didn't proofread my comment :P I meant to say that Rapier could replace the current GODOT 2D physics engine, as Jolt currently doesn't support that (unless you were to make a mixed 3D 2D game, as you can lock the RigidBody movement onto a plane!)
cool video, let's hope Godot foundation fixes their physics, I mean come on, $100k a month in donations (estimation because we don't see one-time donations on the site), and they can't fix such a crucial part of the engine.
A food for thought: just because they earn money, they do not care anymore. Wow, Godot turned out to be another wolf under the sheep's clothing?
Rapier also supports simd for 2D and 3D
do you think that the godot team will add this in the future ?
in like Godot 5 if we're lucky
@@verendale1789 when will be that ? are you being sarcastic ? cause i really want to know
@@JebaliJihed-g5c I was, but what I really mean is that we are shit out of luck and it will take years and years.
Have you opened a GitHub issue on the Godot proposals for SIMD optimization if there doesn't already exist one? This would probably yield the most results and chances for a change.
Ah, as a Unity user watching this I'm thinking, this is why the burst compiler exists. I believe its important for godot to have something like the burst compiler for their engine, or at least some form of vectorisation because the performance benefits are quite literally 10x.
Or 100x as ive seen in codemonkey videos on unity DOTS
Complex! Thanks for sharing!