Bản cập nhật Godot 4.1
(godotengine.org)- Godot 4.1 là bản phát hành tăng dần sau 4 tháng kể từ 4.0, vừa tinh chỉnh độ ổn định, hiệu năng và mức độ hoàn thiện, vừa bổ sung các tính năng như tránh né trong điều hướng AI và trình chỉnh sửa mã có thể tách rời
- Phiên bản này đã sửa hơn 900 vấn đề được báo cáo trong quá trình sử dụng Godot 4 hoặc được phát hiện ở các bản tiền phát hành 4.1, và được tạo nên từ đóng góp của hơn 300 cộng tác viên
- Cải thiện hiệu năng chủ yếu đến từ việc chuyển thao tác thêm/xóa node con sang cơ chế dựa trên hashmap nhanh; nhờ đó các dự án phức tạp sẽ nhanh hơn, đổi lại một số thao tác hiếm gặp và mức dùng bộ nhớ của Node có chi phí tăng lên
- Quy trình scripting và editor được mở rộng với biến tĩnh trong GDScript, C#
[GlobalClass], mở rộng GDExtension, trình chỉnh sửa script có thể tách rời, v.v. - Việc chuyển dự án 4.0 sang 4.1 nhìn chung là an toàn, nhưng người dùng C# và GDExtension nên kiểm tra trước khả năng không tương thích cũng như nhu cầu port và biên dịch lại
Tổng quan bản phát hành Godot 4.1
- Godot 4.1 là bản cập nhật ra mắt sau 4 tháng làm việc kể từ Godot 4.0, tiếp tục định hướng cải thiện 4.0 bằng các bản phát hành tăng dần thường xuyên
- Trọng tâm của bản phát hành này là độ ổn định, hiệu năng và chất lượng hoàn thiện, đồng thời cũng bao gồm các tính năng mới
- Cải thiện tránh né trong điều hướng AI
- Khả năng tách trình chỉnh sửa mã để đặt trên màn hình khác
- Hơn 900 vấn đề do người dùng báo cáo khi sử dụng Godot 4 hoặc được phát hiện trong quá trình thử nghiệm các bản tiền phát hành 4.1 đã được sửa
- Phần lớn game và ứng dụng tạo bằng 4.0 có thể chuyển sang 4.1 tương đối an toàn
- Người dùng C# và GDExtension nên dự trù một số điểm không tương thích
- Trước khi chuyển, cần sao lưu; khuyến nghị commit trạng thái dự án bằng hệ thống quản lý phiên bản như Git
- Hướng dẫn migration đang được chuẩn bị
- Có thể tải Godot 4.1 từ trang download
Đóng góp cộng đồng và kinh phí phát triển
- Godot là dự án dựa vào cộng đồng, với các cộng tác viên cá nhân tham gia cải thiện engine
- Trong vài năm gần đây, nhờ đóng góp tài chính từ người dùng và công ty, dự án đã có thể thuê chính thức một số cộng tác viên nòng cốt, giúp phát hành nhanh hơn
- Hiện chi phí hằng tháng cao hơn mức quyên góp hằng tháng, nên kinh phí phát triển vẫn phụ thuộc vào các khoản tài trợ một lần quy mô lớn từ công ty
- Để duy trì tốc độ cập nhật Godot 4 và tuyển thêm maintainer để rà soát nhiều đóng góp hơn, dự án cần thêm quyên góp hằng tháng
- Ngoài hỗ trợ tài chính, có thể đóng góp cho dự án bằng nhiều cách
- Viết báo cáo lỗi chi tiết
- Đóng góp vào codebase
- Viết tài liệu
- Viết hướng dẫn trên tài liệu chính thức hoặc website cá nhân
- Trả lời câu hỏi và chia sẻ mẹo trên các nền tảng cộng đồng
- Bản phát hành này được tạo nên từ đóng góp của hơn 300 cộng tác viên; danh sách đầy đủ các bản sửa lỗi và cải tiến có thể xem trong interactive changelog
Cải thiện hiệu năng
- Game Godot được xây dựng bằng cây node, thành phần cấu thành cơ bản của các thực thể trong game; thêm và xóa node là những thao tác diễn ra rất thường xuyên trong engine
- Trong 4.1, thuật toán thêm/xóa node con được chuyển sang cơ chế dựa trên hashmap nhanh, giúp các thao tác này nhanh hơn nhiều lần
- Một số thao tác node hiếm gặp sẽ chậm hơn đôi chút
- Mức dùng bộ nhớ của lớp Node cơ bản tăng 10%
- Các dự án phức tạp có nhiều thao tác với node sẽ hưởng lợi đặc biệt lớn
- Đã bổ sung đa luồng thử nghiệm cho scene
- Thuộc tính node mới cho phép kiểm soát cách xử lý node theo tuần tự hoặc song song
- Vì vẫn là tính năng thử nghiệm, cần thử nghiệm rộng rãi để tìm các trường hợp biên
- Không khuyến nghị dùng trong production
- Nhiều vấn đề và hạn chế trong tải đa luồng cũng đã được sửa
- Trình kết xuất Vulkan có thêm pipeline cache
- Shader cache hiện có đã giảm tình trạng khựng do biên dịch shader, nhưng biên dịch pipeline vẫn có thể gây khựng và kéo dài thời gian tải
- Tình trạng khựng do biên dịch pipeline chưa được giải quyết hoàn toàn, nhưng thời gian tải có thể giảm nhẹ trong các backend kết xuất dựa trên RenderingDevice
- Cache này có thể tắt trong phần cài đặt dự án và được bật mặc định trong Godot 4.1
- Nó không giải quyết mọi nguyên nhân gây đứng hình, nên công việc này sẽ tiếp tục trong các bản phát hành sau
Thay đổi trong engine lõi
- Khi import model vào Godot, thường xảy ra vấn đề model quay mặt về phía sau
- Trong 4.1, nhiều thay đổi đã được áp dụng để giảm vấn đề này
- Đổi hướng camera trước/sau trong editor
- Hàm
look_at()có thêm đối số dùng không gian model làm chuẩn hướng về phía trước, thay vì trục-Zcủa camera - Thay đổi này cũng giúp sửa lỗi cũ về đi theo đường dẫn
- Godot 4 có thêm làm mượt frame delta
- Có thể cải thiện đáng kể độ mượt của chuyển động và mang lại gameplay mượt hơn
- Được bật mặc định
- Chỉ hoạt động khi VSync đang bật
Cải thiện scripting
-
GDScript
- Trước đây, để chia sẻ dữ liệu giữa nhiều instance của cùng một script, cần dùng resource hoặc autoload
- Từ Godot 4.1, có thể tạo và sử dụng biến tĩnh
- Biến tĩnh lưu dữ liệu ở cấp lớp thay vì từng instance, và mọi instance của cùng một lớp sẽ chia sẻ giá trị
- Sử dụng bằng cách thêm từ khóa
statictrước định nghĩa biến ở đầu script - Tính năng tự động tạo tài liệu cho named class được bổ sung trong Godot 4 cũng được cải thiện
- Enum được xem là kiểu, giúp tài liệu sinh ra chính xác hơn
- Ngoài docstring vốn chỉ dùng phía trên định nghĩa biến hoặc hàm, giờ cũng có thể dùng docstring nội tuyến
-
C#/.NET
- Trọng tâm C# của bản phát hành này là nâng cao mức tương đương tính năng với GDScript
- Trong GDScript, người dùng có thể thêm tên global class vào script để định nghĩa một kiểu node mới dùng trong editor
- Từ Godot 4.1, C# cũng có thể làm điều tương tự bằng cách thêm thuộc tính
[GlobalClass]vào file - Thuộc tính
[Icon]cũng cho phép chỉ định icon riêng cho global class - Tuy nhiên, tính đến 4.1, các dự án tạo bằng C# vẫn chưa thể export sang nền tảng mobile và web
- Công việc hỗ trợ đang được tiến hành
- Việc giải quyết hạn chế này nhiều khả năng phụ thuộc vào bản phát hành .NET 8 vào cuối năm 2023
- Công việc hỗ trợ nền tảng mobile và web có thể chỉ bắt đầu thực sự vào nửa cuối năm 2023
-
GDExtension
- Godot cung cấp công nghệ cho phép dùng các ngôn ngữ cấp thấp như C++ làm ngôn ngữ scripting cho game mà không cần biên dịch lại engine
- GDExtension trong bản phát hành này vẫn đang ở trạng thái beta
- Trong 4.1, năng lực scripting của GDExtension tiến gần hơn tới GDScript và C#
- Có thể triển khai các node visual shader mới
- Có thể tạo plugin editor bằng GDExtension
- Một hệ thống tương thích ngược đã được triển khai để giúp mã dành cho Godot 4.1 tiếp tục hoạt động trước các thay đổi API trong tương lai
- Tuy nhiên, để sửa các vấn đề cốt lõi của GDExtension, 4.1 cần một thay đổi lớn phá vỡ tương thích
- Các extension Godot 4.0 hiện có phải được port và biên dịch lại cho 4.1
- Nhiều công việc kiến trúc cũng đã được thực hiện lại để giúp API GDExtension có thể mở rộng trong tương lai
Quy trình làm việc trong editor
- Godot 4 đã hỗ trợ đa cửa sổ cho cài đặt dự án, cài đặt editor và nhiều popup khác nhau
- Từ 4.1, tài liệu có thể được tách thành cửa sổ nổi, và trình chỉnh sửa script, bao gồm cả shader editor, cũng có thể được tách ra để đặt trên màn hình riêng
- Editor theo dõi bố cục cửa sổ để khi đóng rồi mở lại, vị trí làm việc trước đó có thể được giữ nguyên
- Godot 4.0 đã hỗ trợ định nghĩa/export mảng có kiểu và export từng node riêng lẻ trong Inspector, nhưng chưa thể kết hợp cả hai
- Từ Godot 4.1, có thể export mảng node ra Inspector, giúp kết nối các game object với nhau dễ hơn
- Project manager có thêm khả năng gắn thẻ cho từng dự án và lọc theo thẻ
- Giúp dễ tìm hơn khi có hàng chục hoặc hàng trăm dự án Godot
Thay đổi về rendering
- Particle turbulence đã được làm lại dựa trên phản hồi từ artist, giúp tăng khả năng kiểm soát sáng tạo
- Turbulence thường được dùng để tạo các hiệu ứng phong phú, lan rộng thường thấy trong game hiện đại
- 3D noise texture mới giúp dễ kiểm soát mật độ của volumetric fog
- Có thể làm sương mỏng hơn ở những khu vực nhất định
NoiseTexture3Dcũng có thể dùng để tạo vector field cho particle attractor- Hữu ích để mô phỏng gió tác động lên particle
- Trình kết xuất của Godot vẫn còn nhiều cải tiến đã được lên kế hoạch, phần lớn sẽ có trong các bản phát hành sau
- Nhóm rendering và các cộng tác viên ưu tiên sửa lỗi và độ ổn định hơn tính năng mới
- Trình kết xuất 3D GLES3 vẫn chưa hoàn thiện, và sẽ còn nhiều việc đáng kể trong vài tháng tới
Cải thiện điều hướng
- Godot 4.0 đã giới thiệu tránh né thời gian thực cho điều hướng AI, nhưng bị giới hạn trong một mặt phẳng duy nhất
- Godot 4.1 bao gồm thuật toán tránh né được viết lại hoàn toàn
- Cung cấp hành vi tốt hơn và khả năng kiểm soát lớn hơn
- Tránh né giờ có thể hoạt động trong 2D hoặc 3D
- Cho phép agent bay di chuyển phía trên agent đi bộ trên mặt đất
- Có thể dùng layer để kiểm soát agent nào sẽ tránh agent nào
- Có thể đặt độ ưu tiên để một số agent đẩy các agent khác ra
- Hành vi điều hướng đã cải thiện có thể xem trong tài liệu đã cập nhật
Hỗ trợ nền tảng và hạn chế web
- Phạm vi hỗ trợ nền tảng của Godot 4.1 giống Godot 4.0
- Có thể export sang mọi nền tảng desktop từ cả engine tiêu chuẩn lẫn phiên bản .NET
- Nếu dự án không dùng C#, có thể export sang mobile và web
- Tính đến 4.1, export web có một số hạn chế do thiếu hỗ trợ từ nhà cung cấp cho một số tính năng hiện đại
- Vấn đề xảy ra trên các trình duyệt hỗ trợ WebGL 2 kém, chẳng hạn Chrome trên macOS
- Khó giải quyết nếu không có bản sửa từ Google hoặc đầu tư đáng kể để hỗ trợ renderer WebGL 1 / GLES2 chuyên biệt
- Việc thiết lập game web phức tạp trên các nền tảng hosting không thể đặt header CORS cần thiết cho hỗ trợ
SharedArrayBuffer- Vấn đề này chủ yếu phụ thuộc vào việc Safari triển khai hỗ trợ header
coep:credentialless - Các trình duyệt dựa trên Chromium và Firefox đã hoạt động tốt
- Đặc biệt hoạt động tốt khi phân phối trên itch.io
- Các cách обход khả thi đang được khảo sát
- Vấn đề này chủ yếu phụ thuộc vào việc Safari triển khai hỗ trợ header
Vấn đề đã biết và bản phát hành tiếp theo
- Godot 4.1 vẫn còn một số vấn đề chưa kịp giải quyết trước khi phát hành
- Trình theo dõi lỗi có thể xem tại Godot GitHub issues
- Một vấn đề lớn đã xác nhận là API mới để định nghĩa thuộc tính cấu hình tùy chỉnh cho export preset không giữ lại cấu hình người dùng
- Khi khởi động lại editor, các tùy chọn cấu hình sẽ bị đặt lại và biến mất
- Bản sửa dự kiến có trong 4.1.1
- PR liên quan là GH-79025
- Công việc cho Godot 4.2 đã bắt đầu và dự kiến ra mắt sau 4 tháng
- Godot tiếp tục duy trì chu kỳ phát hành ổn định để người dùng không phải chờ lâu cho các cải tiến và tính năng mới tiếp theo
1 bình luận
Ý kiến trên Hacker News
Gần đây tôi đã gần như chuyển hẳn từ Unity sang Godot 4.0; dù không phải nhà phát triển game chuyên nghiệp, với tư cách người làm các game nhỏ kiểu indie/itch.io thì tôi thật sự rất hài lòng
Nhẹ, nhanh, dễ học, và có thể làm được 90% những gì một lập trình viên solo/indie cần
Tuy nhiên tôi vẫn chưa thể bỏ Unity hoàn toàn vì một lỗi khiến người dùng macOS khi mở game trên itch.io phải chờ tải quá lâu, tưởng là bị hỏng nên đóng tab
Game tôi làm thường mang tính giáo dục hoặc nhắm tới trẻ em dùng iPad/MacBook, nên đưa một liên kết itch.io dễ hơn rất nhiều so với việc hướng dẫn cài đặt cục bộ và thuyết phục chủ sở hữu thiết bị
Phía Godot nói họ đang xử lý, nhưng cho đến lúc đó tôi vẫn phải tiếp tục dùng Unity cho một số dự án. Nếu vấn đề này được giải quyết, tôi nghĩ Godot có thể bùng lên mạnh trong mảng itch.io/game jam
Sau đó tôi đã chuyển từ Godot 4.0 C# sang Godot 3.5.2 + GDScript và đang hài lòng
Tôi cũng đã thiết lập một pipeline CI/CD tự động build/triển khai lên Github Pages mỗi khi commit vào master; kiểu pipeline như vậy khá tốt
https://www.reddit.com/r/godot/comments/q25riu/hosting_on_gi...
Godot 4 có những cải tiến ngôn ngữ đáng mong đợi, như hỗ trợ kiểu tốt hơn và các cải tiến giúp dùng ít chuỗi ma thuật hơn, chẳng hạn khả năng tham chiếu signal bằng tên
Nhưng nếu đó là trở ngại lớn thì có lẽ nên chờ
Đôi khi tôi thấy bực với cách đội Godot 4 nhìn nhận vấn đề macOS là lỗi của Chrome chứ không phải hồi quy của Godot[2]
Gần như đây là vấn đề về ngữ nghĩa và mức độ ưu tiên, nhưng nếu một tính năng từng phụ thuộc trong Godot 3 bị hỏng ở Godot 4 thì khó mà không xem đó là hồi quy
Dù vậy tôi vẫn rất biết ơn tất cả công sức đã được đưa vào Godot 4 và các phiên bản trước đó, và mong đến ngày nào đó sẽ dùng Godot 4
[1] Nếu tò mò thì tất cả đều có ở https://eieio.games/
[2] https://github.com/godotengine/godot/issues/70691
Từ trước đến nay tôi chưa từng gặp vấn đề WebGL2 trên Chrome/macOS, nên tò mò không biết cụ thể là vấn đề gì
Tuy vậy tôi cũng tránh những thứ được biết là dễ gây vấn đề trong các tính năng WebGL2/GLES3. Chủ yếu là uniform buffer, hoặc các mẫu cập nhật buffer hoạt động tốt trên native nhưng không ổn trên WebGL, chẳng hạn “buffer orphaning”
Godot thật sự là một công cụ ấn tượng. Nếu có lý do để bắt đầu một dự án game mới, tôi muốn học nó nghiêm túc hơn; nhìn những gì họ làm được với một đội ngũ tương đối nhỏ thì Unity gần như phải thấy xấu hổ
Việc “đã sửa hơn 900 vấn đề được báo cáo khi dùng Godot 4 và trong quá trình thử nghiệm bản tiền phát hành 4.1” cũng rất ấn tượng
Vừa cải thiện hiệu năng và độ ổn định vừa sửa được nhiều vấn đề như vậy tự thân đã rất đáng khen
Tất nhiên, số lượng issue đang mở không phải là thước đo tốt để đánh giá chất lượng phần mềm
Tôi thích Godot nhưng vẫn có vài điểm tiếc nuối. GDScript không phải Python, và thiếu những tính năng nhỏ làm Python trở nên tuyệt vời, chẳng hạn như list/dictionary comprehension,
.items(), set, v.v.Dù vậy, cho phát triển game thì nó là đủ, và vì phù hợp tốt với môi trường như các kiểu native nên đây là một ngôn ngữ khá ổn
Tôi đã thử dùng GDNative và cũng cần dùng GDExtension nhiều hơn, nhưng cho đến nay việc viết C++ cho Godot có cảm giác khá thô ráp. Lập trình viên phải dùng các kiểu của Godot và
new()ở khắp nơi, nên không dễ xử lýVì vậy Godot không hẳn là một engine C++ thực thụ, mà gần với hướng phần lớn thời gian dùng ngôn ngữ script, và chỉ tối ưu bằng C++ khi script không đủ nhanh
Tôi cũng muốn kiểm chứng thêm GDScript thực tế nhanh đến đâu so với các ngôn ngữ khác, và cũng không rõ Mono/.NET có nhanh hơn không. Việc nó là ngôn ngữ được thiết kế và tích hợp hoàn hảo với môi trường là điểm tốt, nhưng tôi tò mò liệu có kế hoạch cải thiện nào không
Tôi dự định làm một FPS multiplayer, nhưng có vẻ Godot không cung cấp network prediction, và tôi mong là có
Tôi cũng lo về hỗ trợ OpenGL trong tương lai. Nó vẫn chưa hoàn toàn kết thúc, và tôi lo rằng vì quá khác với các API mới như Vulkan hay DX12 nên sẽ khó triển khai đúng
Nhìn chung, Godot là điều tuyệt vời nhất đã xảy ra với mã nguồn mở và phát triển game. Phát triển game vốn là lĩnh vực mà mã nguồn mở khó có chỗ đứng, và thiết kế nhẹ nhàng của Godot đem lại cảm giác rất nhẹ nhõm so với các công cụ khổng lồ như Unreal hay Unity
Tất nhiên có lẽ tôi sẽ không chọn thẳng Python; dù là ngôn ngữ tôi thích, tôi có lẽ sẽ chọn một ngôn ngữ tập trung hơn vào hiệu năng. Go cũng có thể là một lựa chọn ổn
Bản thân GDScript không tệ, và nếu không so với ngôn ngữ khác thì khá xuất sắc. Nhưng khi so với các ngôn ngữ đa dụng, có quá nhiều thứ bị mất
Tôi biết là có binding, nhưng sau khi có trải nghiệm tương tự với Raylib, hỗ trợ ngôn ngữ không chính thức về thực chất gần như là không tồn tại. Ngay cả Mono, binding chính thức, cũng khá tệ
Tuy nhiên, ngay cả game AAA cũng thường dùng ngôn ngữ script chậm cho logic game. Trong nhiều game, logic game không phải phần ngốn CPU lớn, nên thường không quá quan trọng
Có trường hợp dùng Godot để phát triển ứng dụng đa nền tảng thay cho những thứ như Electron không?
Trình chỉnh sửa pixel art: https://github.com/Orama-Interactive/Pixelorama
Công cụ vẽ canvas vô hạn: https://github.com/mbrlabs/Lorien
Bảng kanban kiểu Trello: https://github.com/alfredbaudisch/Godello
Công cụ thiết kế narrative cho game: https://github.com/mhgolkar/Arrow
Tôi đã thử khi Substance bị Adobe mua lại, và thật bất ngờ là nó dễ dùng và thú vị hơn nhiều. Substance Designer có cảm giác khá nặng nề
Tất nhiên Substance Designer có lợi thế riêng là tích hợp với Substance Painter. Material Maker cũng có một số tính năng vẽ thủ công, nhưng không phải là một ứng dụng vẽ hoàn chỉnh
OpenSCAD Graph Editor được làm bằng phiên bản Godot cũ hơn và chạy trên Mac OS, Windows, Linux:
https://github.com/derkork/openscad-graph-editor
Một trong những người đóng góp/lập trình viên chính của Godot cũng đã công bố một công cụ nhỏ tiện lợi có thể dịch ngược hoàn toàn những thứ được tạo bằng Godot
https://github.com/bruvzg/gdsdecomp
Godot thật sự tuyệt vời. Tôi rất ấn tượng với tiến độ của đội ngũ và định hướng tổng thể của dự án
Vốn dĩ tôi luôn quan tâm đến phát triển game, và việc muốn làm game cũng là một phần lớn lý do khiến tôi học khoa học máy tính rồi trở thành kỹ sư phần mềm. Tôi từng muốn tự làm những game nhỏ, nhưng thực tế lại không làm được tốt
Sau khi trở thành kỹ sư phần mềm toàn thời gian, tôi không tìm được thời gian hay công cụ phù hợp để làm game nhỏ như một sở thích
Gần đây tôi phát hiện và thử dùng Bevy; ECS là một khái niệm hay, nhưng Bevy giống một thư viện hơn, và khá khó để làm ra một game hoàn chỉnh như khi dùng thứ gì đó kiểu SDL
Khi phát hiện và thử Godot, tôi thật sự rất ấn tượng. Nó thân thiện với người mới, đồng thời đủ nhanh, và cộng đồng cũng tuyệt vời. Đây chính xác là thứ tôi đang tìm kiếm, nên tôi rất vui vì nó tồn tại và cũng mong chờ sự phát triển tiếp theo
Một điểm hơi tiếc là lựa chọn ngôn ngữ native và “chính thức”. GDScript ổn, là một ngôn ngữ kiểu Python khá tốt cho người mới và tạo prototype nhanh; C# cũng có thể tốt cho những người chuyển từ Unity sang
Cá nhân tôi có lẽ sẽ vui hơn nếu có hỗ trợ C++ tốt hơn, hoặc một thứ gì đó khác. Tôi biết có giao diện GDNative và nó đã được cải thiện trong 4.0
C# là một ngôn ngữ tốt, nhưng tôi có cảm giác lý do nó có sự hiện diện lớn trong phát triển game là nhờ Unity. Nó quá dài dòng, và hỗ trợ công cụ bên ngoài toàn bộ Visual Studio cũng không tốt đến thế
Tuy vậy, có thể phần “lập trình thực sự” trong phát triển game cũng không quá quan trọng, và có lẽ tôi chỉ nên chấp nhận rồi dùng GDScript
Cũng có binding Rust tận dụng GDExtension: https://github.com/godot-rust/gdext
Đáng để xem qua
Godot có thể khó đối đầu với Unreal, nhưng tôi chắc chắn ủng hộ hướng thay thế Unity
Đây là một engine tuyệt vời, và ngày càng nhiều nhà phát triển nhận ra đúng tiềm năng của nó
Nhưng nếu đang nói về phát triển indie thì tôi hoàn toàn đồng ý. Godot là framework nhẹ, không gây cản trở và cho phép bắt tay làm ngay mà mọi người từng mong muốn ở Unity. Với mục đích đó, Godot tốt hơn nhiều
May mắn là Unreal Engine không phải lựa chọn tốt cho nhiều loại game, còn Godot đang tạo được lãnh địa của mình trong mảng game 2D và game 3D đơn giản
Thị trường game 2D vẫn rất lớn, và bất ngờ là không có nhiều engine hỗ trợ 2D tốt. Godot dễ dàng nằm trong nhóm hàng đầu
Godot thật sự rất tuyệt, và tôi rất kính trọng tất cả những người dành thời gian để làm cho phần mềm như thế này và các công cụ như Blender trở nên xuất sắc
Godot đang thật sự tốt lên qua từng bản phát hành. Có vài tính năng tôi mong sẽ được đưa vào Godot trong tương lai
FSR2, hỗ trợ Wayland xuất sắc, và tích hợp LLM. LLM có thể giúp NPC trở nên thực tế hơn
Về mặt tích hợp trí tuệ nhân tạo, thiết kế có AI hỗ trợ thú vị hơn. Kiểu như mô tả địa hình, nhân vật, kịch bản rồi AI tạo ra thứ gì đó, sau đó người dùng tùy biến và điều chỉnh
Nhưng ngay cả việc đó cũng có khả năng nên làm bên ngoài lõi engine game thì tốt hơn
Có tutorial Godot nào đáng giới thiệu không?
Tôi có một prototype RPG nhỏ chạy trên console, và muốn thử gắn GUI thật hoặc đồ họa sprite vào
Nói trước là tôi là nhà sáng lập của công ty đã tạo khóa này. Dù vậy tutorial là miễn phí, và các asset tùy chỉnh dùng trong tutorial cũng được cung cấp theo giấy phép rộng rãi
Tuy nhiên, từ góc nhìn của người chuyển từ Unity sang Godot, tôi nghĩ hệ sinh thái tutorial của Godot vẫn còn tụt hậu khá xa
Gần đây họ cũng đã ra khóa riêng cho Godot 4
https://www.youtube.com/watch?v=M8-JVjtJlIQ
https://www.youtube.com/playlist?list=PLwYfcDZR0fFcROLjkiyBW...
Nhiều tutorial bạn tìm được có thể là cho Godot 3, nên tốt hơn là tìm kiếm có bộ lọc ghi rõ Godot 4
Nếu không, bạn sẽ phải tự chỉnh mã tutorial để nó chạy với phiên bản Godot của mình, và bản thân việc đó cũng có thể là một trải nghiệm mang tính giáo dục
[0] https://docs.godotengine.org/en/stable/getting_started/intro...