Thật bổ X 👌 Mong sốp ra series về DSA & Toán mà ứng dụng vào làm game luôn thì quá là tuyệt vời luôn.
@hocgamede4 ай бұрын
thanks b nhiều lắm, DSA và Toán thì có mấy tay to khác đã làm video r nên mình đang cân nhắc trước khi lội vô xD. btw có thể mình sẽ làm riêng cho mảng game thui, như vậy có thể khác mấy kênh khác tí
@Ajax-oq7ml4 ай бұрын
Quá tuyệt vời, em cũng đang muốn học DOTS ECS mà chưa thấy kênh tiếng Việt nào làm, cảm ơn anh rất nhiều ❤
@hocgamede4 ай бұрын
thankiu e 🥰
@TinHo....3 ай бұрын
UNITY đc phát triển theo kiểu ECS đó
@lamemilie79434 ай бұрын
Qúa hay luôn á mong kênh sẽ phát triển hơn
@hocgamede4 ай бұрын
Cảm ơn bạn
@hienhuynh50584 ай бұрын
Hay quá bạn! Hy vọng bạn sẽ làm thêm 1 video về tối ưu batches nữa. Mình làm game chơi thôi mà mấy cái tối ưu performance này mệt thật sự.
@hocgamede4 ай бұрын
Cảm ơn bạn. Cái DrawInstance đúng không :))
@uyen67-hotrucphuong702 ай бұрын
Bạn học code game và những kiến thức cao cấp này ở đâu vậy, chỉ mình với
@trungtrieule67894 ай бұрын
Tuyệt vời
@hocgamede4 ай бұрын
cảm ơn b 😁
@JamesPhanJP4 ай бұрын
Đỉnhhhhhhhh 🎉🎉🎉
@hocgamede4 ай бұрын
Cảm ơn bạn nhe
@manhcao34032 ай бұрын
ad cho mình hỏi với hàm IntersectsCircle trong QuadBounds.cs phần return bị sai đúng ko phải là math.lengthsq(Radius) vì mình đang so sánh 2 số bình phương, mình hơi mắc chỗ này ạ
@Sqrt-i2z2 ай бұрын
Các engine game bây giờ đều hỗ trợ quadtree/octree đỗi với 2D/3D object để tìm va chạm, collision rồi, vậy nên việc bạn implement 1 thứ đã có sẵn là điều ko cần thiết. Thay vào đó bác có thể sử dụng ngay hệ thống ray/trace của engine luôn cũng được. Trừ khi bác implement vào để sử dụng thuật toán trên GPU thay vì CPU.
@hoangvu22272 ай бұрын
Collision của Game Engine thì thường sẽ implement cho những trường hợp chung nhất rồi nên có những trường hợp cần tối ưu không đạt hiệu quả bằng việc tự code. Ví dụ như có 1000 object, và mỗi object không được đè lên nhau khi di chuyển. Trong trường hợp 1000 object đó va chạm cùng lúc với nhau, nếu sử dụng Collision của Engine nó sẽ check ra worst case là 1000^2 va chạm. Nhưng nếu tự implement, có thể tự giới hạn số lượng object tối đa va chạm với nhau, và số lượng check tối đa chỉ còn là 1000* hằng số
@Sqrt-i2z2 ай бұрын
@@hoangvu2227 Bạn ko hiểu vấn đề à? Tôi đang nói đến vấn đề ở đây là Engine họ hỗ trợ sẵn các loại cast (trace) trong physic engine để detect object rồi. Và nó cũng dùng quadtree - octree bạn hiểu vấn đề không? Bạn có thể tự code khi sử dụng hệ thống đấy và tự giới hạn tùy bạn, chứ ko cần phải implement lại làm gì cả. Trừ khi bạn muốn sử dụng nó với GPU để tăng hiệu suất tính toán thì nó lại là 1 câu chuyện khác, nhưng ở đây bạn làm clip lại dùng CPU để tính mấy cái này. Còn chuyện tôi nói detect va chạm là ví dụ thôi, nhưng cũng chả bao giờ có chuyện 1k object mà từng object lại va chạm với 999 thằng còn lại cả. Bạn cho tôi cái ví dụ được không chứ tôi làm game cả chục năm r mà chưa bao giờ thấy vụ này? Bạn cũng nên nhớ quad hay octree trong physic chỉ để tối ưu vụ query object - position xung quanh thôi, chứ detect va chạm thực sự nó vẫn phải loop lại cả đống đấy trong 1 quad, và tính distance từ 2 điểm gần nhất trên collider để xác định xem 2 vật có va chạm vào nhau hay ko đấy. Thế nên cái ví dụ của bạn nói nó cũng chả lien quan gì đến 2 cái tree này cả.
@03_phamphucbinh204 ай бұрын
Quá hay luôn bro ^^ Cho mình hỏi mình muốn apply thử qua 3D dùng Octree thì có khả thi ko?
@hocgamede4 ай бұрын
Cảm ơn bạn. Khả thi á bạn, bảng tra cứu mảng MortonLookup chỉ cần thay đổi lên từ 16bit lên 32bit và tăng lên 1 node cha quản lý 8 node con, tìm kiếm logic OcBound theo không gian 3D.
@bonmat_discovery2 ай бұрын
Bro có ý định làm content dạng này thành tiếng anh không, đằng nào cũng dùng giọng AI nên ko lo phần thuyết minh nữa :)))))
@nguyenhoangminhtrung27794 ай бұрын
áp dụng quad tree vào sẽ thành N Log N chứ nhỉ? vì kiểu gì mình cũng phải loop qua các boid mà?
@hocgamede4 ай бұрын
Nếu không chia đa luồng thì N Log N á bạn.
@ThaoNguyễnVăn-n7o4 ай бұрын
nếu 1000 cá thể trên mobile device low -> high thì giữ mức FPS bao nhiêu thế anh. 60FPS thì quả thật là thuật toán tuyệt vời!!!
@hocgamede4 ай бұрын
Nếu low-end mobile devices CPU có khoảng 2 - 4 luồng thì tầm 30-60FPS ấy bạn, tùy vào model object và GPU nữa. Còn high 6 - 8 luồng thì trên 60FPS nha. Nếu có áp dụng ECS thì cao nữa: kzbin.info/www/bejne/pZXLln2cmZeSrNk
@TienPham-ne8uf4 ай бұрын
hóng ECS
@hocgamede4 ай бұрын
Ôke bạn ơi
@Nbl-dzvn4 ай бұрын
Game 3d bằng Godot ko a 🙇🙇🙇😅
@hocgamede4 ай бұрын
Từ từ mình vọc sau :3
@Nbl-dzvn4 ай бұрын
@@hocgamede‡)))
@amas90364 ай бұрын
Ông ơi, trong video ông code nhanh quá. Ông share code để tụi tui đối chiếu lại được không :')
@hocgamede4 ай бұрын
Tại edit video phân tua x5 á, chứ để bình thường chắc 3 tiếng. Còn code thì...
@amas90364 ай бұрын
@@hocgamede đã 12 tiếng trôi qua, tôi vẫn không biết lỗi chỗ nào khi clone lại code của bro. Please share it. Ông có thể tạo video đòi supcribe để lấy, hoặc tạo telegram các thứ cũng được mà :'). Please share it...
@hocgamede4 ай бұрын
Mình đoán là bạn lỗi bên phần QuadTree nhỉ, tại vì phần đó hơi nâng cao, link đây bạn: github.com/HocGameDe/BoidSimulation
@amas90364 ай бұрын
@@hocgamede tui không rõ bị sai sót chỗ nào lúc chép lại code của bro, nhưng hoạt động rồi. Cảm ơn bro nhiều
@amas90364 ай бұрын
@@hocgamede anyway, khi nào xong con Bunny Survival ông ping tui với nhé. Phần attack speed của nó đang bug lắm
@tranngochung75564 ай бұрын
Não to thực sự, tìm hiểu mấy cái này mất thời gian lắm, ko biết bạn chủ kênh bao nhiêu tuổi và kinh nghiệm coding như nào?
@hocgamede4 ай бұрын
Bí mật hehe, mà mình hiểu 2 tháng.
@TienPham-ne8uf4 ай бұрын
10d
@hocgamede4 ай бұрын
cảm ơn b 😄😄
@lanTruong-yg4ee4 ай бұрын
thật tay mơ ko hiểu bạn nói cái gì luôn . mấy kiểu này nên bắt đầu từ đâu bạn. chắc bạn phải có kinh nghiệm tầm 10 năm mới làm được thês này
@quannguyenanh73944 ай бұрын
Lập trình cơ bản, kiến trúc máy tính, OOP, Hệ điều hành, CTDL>
@hocgamede4 ай бұрын
Không đến 10 năm đâu b, XD. Để làm được game thì b học cơ bản về C# -> Unity -> Jobs là được (thêm 1 tí về cấu trúc máy tính nữa để hiểu sâu hơn). Còn Quadtree thì bạn phải nắm CTDL> 1 tí (về cây, đệ quy,...) sau đó làm thử trên project trống là đc b