Mỗi lần game engine ra bản dev mới, mình thường có hai phản ứng cùng lúc: tò mò muốn mở ngay và một giọng nhỏ nhắc rằng project đang chạy ổn thì đừng nghịch dại. Godot 4.8 dev2 rơi đúng trường hợp đó. Release note có vài thay đổi editor khá tiện, thêm cải thiện cho version control và tối ưu thao tác với nhiều node, nhưng đây vẫn là bản preview.

Mình đã tải đúng binary Windows 64-bit, đối chiếu SHA-512, chạy một project headless và thử tạo rồi gỡ 5.000 node. Bài này không biến một smoke test thành benchmark. Mục tiêu là xem bản dev2 có khởi động, parse GDScript và chạy scene tối thiểu được không; sau đó chọn những thay đổi đáng để anh em game developer thử trên bản sao project.

Godot 4.8 dev2 đang ở trạng thái nào?

Godot Foundation phát hành 4.8 dev2 ngày 21/07/2026. Đây là development snapshot thứ hai của nhánh 4.8, không phải stable hay release candidate. Trang phát hành ghi nhận 93 contributor gửi 197 bản sửa kể từ dev1 và binary được build từ commit 7220d456d.

Điểm này cần nói ngay ở đầu vì chữ “không có known issue mới” trong release note không đồng nghĩa production-ready. Chính Godot cũng khuyên backup thường xuyên hoặc dùng version control vì preview có thể gây regression, hỏng dữ liệu hoặc phát sinh lỗi chưa được báo cáo. Project thật nên tiếp tục ở nhánh stable; dev2 phù hợp để mở bản sao và gửi bug report.

Thông tinKết quả mình kiểm tra
Phiên bản4.8-dev2 official
Commit7220d456dcf116ae5499505a237b449c0b00cfce
BinaryWindows 64-bit standard, 84.534.226 byte
SHA-512Khớp file checksum chính thức
Renderer trong labgl_compatibility, headless
Project productionKhông mở trực tiếp
Các thẻ scene mở từ khay tài nguyên và chuyển thành màn chơi
Hai thay đổi editor tập trung giảm thao tác lặp: resource mới dễ thấy hơn và scene có thể chạy trực tiếp từ FileSystem dock.

Mình tải và cô lập bản preview ra sao?

Mình lấy link Windows Standard từ trang Godot chính thức. File ZIP được lưu vào thư mục lab riêng, sau đó so SHA-512 với SHA512-SUMS.txt trong repository godotengine/godot-builds. Hai giá trị trùng hoàn toàn. Chỉ sau bước đó mình mới giải nén và gọi binary.

Get-FileHash `
  .\Godot_v4.8-dev2_win64.exe.zip `
  -Algorithm SHA512

Mình không cài đè Godot stable, không đặt binary vào PATH và không mở project đang làm. Cách này hơi thủ công nhưng giúp xóa toàn bộ lab sau khi thử, đồng thời tránh trường hợp double-click nhầm project bằng preview rồi lưu lại resource.

Lệnh đầu tiên xác nhận version:

4.8.dev2.official.7220d456d

Đây là kiểu kiểm tra mình cũng áp dụng khi thử runtime chưa stable như bài partial function application trên PHP 8.6: khóa đúng binary, ghi commit/version và không suy diễn kết quả sang production.

Smoke test headless cho kết quả gì?

Project lab chỉ có một scene và một GDScript. Script tạo một node cha, thêm 5.000 node con, gỡ từng child, giải phóng rồi in JSON trước khi thoát. Mình chọn bài test này vì changelog dev2 có mục tăng tốc xóa nhiều child node, nhưng không dùng một lần chạy để tuyên bố phần trăm hiệu năng.

func _ready() -> void:
    var holder := Node.new()
    add_child(holder)

    for index in 5000:
        var child := Node.new()
        child.name = "Child%d" % index
        holder.add_child(child)

    for child in holder.get_children():
        holder.remove_child(child)
        child.free()

    print(holder.get_child_count())
    get_tree().quit(0)

Trên máy mình, engine tạo 5.000 child trong khoảng 6,832 ms và gỡ chúng trong khoảng 2,537 ms; số child còn lại là 0. Đây chỉ là số đo một lần trong headless mode, không có đối chứng Godot 4.7.1, không warm-up và không đại diện game thật. Giá trị của test nằm ở việc binary chạy được scene, GDScript hoàn thành đúng logic và process thoát với code 0.

Một chi tiết đáng ghi: sandbox ban đầu chặn Godot ghi vào AppData, khiến editor báo lỗi đường dẫn rồi crash. Khi mình trỏ APPDATALOCALAPPDATA vào thư mục lab có quyền ghi, project chạy xong. Đây là giới hạn môi trường thử của mình, chưa đủ bằng chứng để gọi là regression của Godot.

Hai thay đổi editor nhỏ nhưng dùng hằng ngày

Resource mới tự mở trong Inspector

Trước đây, một resource vừa khởi tạo có thể nằm thu gọn trong Inspector, bắt người dùng mở thêm một bước mới thấy thuộc tính. Dev2 tự mở resource vừa tạo. Với project có material, curve, gradient hoặc resource cấu hình lồng nhau, đây là thay đổi nhỏ nhưng cắt bớt thao tác lặp lại.

Mình chưa xác nhận bằng giao diện vì lab chạy headless. Khẳng định này dựa trên release note và pull request chính thức, không phải trải nghiệm click thật. Khi test GUI, mình sẽ chú ý resource lồng nhiều cấp có tự mở quá mạnh làm Inspector dài và khó quét hay không.

Chạy scene ngay từ menu ngữ cảnh

FileSystem dock có thêm tùy chọn Play Scene trong context menu. Thay vì mở scene hoặc đổi main scene, developer có thể chọn file rồi chạy trực tiếp. Lợi ích rõ nhất là project có nhiều scene test nhỏ: enemy sandbox, menu, shader gallery hoặc map prototype.

Đừng nhầm nó với hệ thống test tự động. Đây là shortcut editor giúp vòng lặp thủ công nhanh hơn. Scene vẫn cần dependency đúng, autoload phù hợp và dữ liệu đầu vào có thể tái lập thì kết quả mới đáng tin.

Diff resource dễ đọc hơn có giá trị lớn hơn vẻ ngoài

Một thay đổi core trong dev2 ghi các thuộc tính của Object variant với ký tự xuống dòng giữa từng property. Trước đó, dữ liệu dồn vào một dòng dài khiến Git diff khó đọc và merge tool gần như phải xử lý cả khối. Sau thay đổi, mỗi property có thêm khoảng thở để reviewer nhận ra phần nào thực sự đổi.

Dải thuộc tính rối được tách thành các hàng rõ ràng để so sánh
Object variant được tách dòng giúp Git diff có cấu trúc dễ đọc và dễ review hơn.

Đối với game project, file scene và resource thay đổi thường xuyên. Diff rõ hơn giúp review asset cấu hình, giảm nguy cơ giữ nhầm cả hai phía khi conflict và khiến commit nhỏ có ý nghĩa hơn. Nó không xóa mọi vấn đề merge của file engine-generated, nhưng đây là cải thiện đúng chỗ.

Team vẫn nên tạo commit trước khi mở project bằng preview, giống tinh thần kiểm tra workflow trong bài GitHub Actions và các workflow cần duyệt. Version control chỉ cứu được khi thay đổi đã được chia nhỏ và người review hiểu file nào đáng lẽ phải đổi.

Các thay đổi khác đáng đưa vào test plan

Release note còn một số mục không hào nhoáng nhưng có thể ảnh hưởng project thật:

  • Inspector hiển thị cảnh báo cho property đã deprecated, hữu ích khi chuẩn bị migration.
  • 3D editor bật lại freelook inertia mặc định; team cần xem cảm giác điều khiển có hợp workflow hay không.
  • Asset Store mặc định sắp xếp theo điểm cao nhất.
  • Shader compiler định dạng float constant ổn định hơn, hướng tới output deterministic.
  • GDScript shutdown được làm chống crash tốt hơn.
  • Project mới mặc định bỏ qua joypad khi cửa sổ mất focus.
  • Jolt Physics được cập nhật lên 5.6.0.

Trong số này, input khi mất focus đáng test bằng gameplay thật. Một game local multiplayer, công cụ debug chạy ở cửa sổ phụ hoặc setup nhiều màn hình có thể mong behavior khác. Vì mặc định áp dụng cho project mới, migration project cũ và tạo project mới có thể không cho cùng kết quả.

Checklist thử dev2 mà không làm hỏng project

  1. Đọc release note và known issue trước khi tải.
  2. Tải từ trang chính thức, xác minh checksum.
  3. Copy hoặc branch project; commit sạch trước khi mở.
  4. Tắt plugin/editor addon chưa xác nhận tương thích nếu chúng cản khởi động.
  5. Chạy import, scene chính và các scene test độc lập.
  6. Kiểm tra diff ngay sau lần mở đầu tiên, trước khi sửa gameplay.
  7. Test input focus, physics và shader nếu project dùng các phần liên quan.
  8. Không merge file đã được preview resave vào nhánh production nếu chưa review.

Với repository lớn, một trình quản lý file nhanh có thể giúp rà asset và file phát sinh; mình từng thử Superfile ngay trong terminal. Tuy nhiên, Git diff và danh sách file untracked vẫn là nguồn sự thật trước khi xóa cache hoặc import artifact.

Có nên nâng project lên Godot 4.8 dev2?

Nếu đang làm game production, câu trả lời ngắn của mình là chưa. Bản 4.7.1 hiện thuộc nhánh stable, còn 4.8 dev2 dành cho thử nghiệm và báo regression. Một shortcut editor tiện hơn không đáng đổi lấy rủi ro resave hàng loạt resource.

Nếu bạn làm tool, addon, pipeline CI hoặc muốn chuẩn bị migration 4.8, đây lại là thời điểm hợp lý để tạo một nhánh thử. Binary mình tải đúng checksum, khởi động đúng commit, parse GDScript và hoàn thành smoke test 5.000 node. Phần GUI, Jolt, input và renderer thực tế mình chưa thử, nên bài dừng ở đúng giới hạn đó.

Mình thích hướng của dev2: nhiều thay đổi tập trung giảm ma sát hằng ngày thay vì chỉ thêm tính năng dễ đưa lên poster. Nhưng preview vẫn là preview. Anh em cứ nghịch trên bản sao, ghi log tử tế và để project chính được ngủ ngon.

Nguồn tham khảo