Dự án mã nguồn mở đưa hai game bắn súng năm 1996 của Bethesda lên Godot 4
Một lập trình viên đã viết lại engine của hai tựa game SkyNET và Future Shock (Bethesda, 1996) bằng Godot 4, đọc trực tiếp dữ liệu gốc từ bản cài đặt của người chơi. Dự án chạy được toàn bộ 8 nhiệm vụ, chế độ deathmatch qua LAN và có cả bản dựng cho Android.

Một dự án mã nguồn mở mang tên skynet-godot đang thu hút sự chú ý của cộng đồng lập trình game, khi tái hiện hai tựa game bắn súng góc nhìn thứ nhất ra mắt năm 1996 của Bethesda Softworks — SkyNET và Future Shock — trên nền tảng Godot 4.
Khu vực hẻm núi trong nhiệm vụ đầu tiên dưới ánh trăng
Điểm đáng chú ý là dự án không kèm theo bất kỳ nội dung gốc nào. Người chơi phải tự sở hữu bản cài đặt game cũ, sau đó engine sẽ giải mã trực tiếp các tệp dữ liệu như kho lưu trữ BSA, bản đồ độ cao WLD, các tệp TEXTURE, âm thanh và nhạc HMI ngay trong lúc chạy.
Engine được viết lại nhưng luật chơi thì không đoán mò
Điểm khác biệt lớn nhất so với nhiều dự án phục dựng game cổ khác nằm ở cách tác giả tiếp cận. Thay vì tự suy đoán cơ chế, toàn bộ quy tắc có thể đo đạc được đều được trích xuất từ chính tệp thực thi DOS của bản SkyNET v1.01.
Cụ thể, các thành phần như bảng xử lý hành động, hệ thống cửa và thang máy, chuỗi cổng kích hoạt theo khoảng cách, vật thể phá hủy theo từng giai đoạn hư hại, điểm dịch chuyển, mực nước dâng hạ, điểm hồi sinh, cách điều khiển xe jeep và máy bay HK, các trạng thái AI của kẻ địch cùng kịch bản hoạt họa, nhịp bắn và lượng đạn của vũ khí — tất cả đều lấy từ bản gốc.
Khi bản chuyển đổi và bản gốc mâu thuẫn, chính mã dịch ngược (disassembly) là thứ đưa ra phán quyết cuối cùng.
Tác giả cũng cho biết có ba bộ kiểm thử chạy không giao diện, hoạt động trên chính mã game thật, nhằm đảm bảo những phát hiện này không bị sai lệch về sau.
Những gì đã hoạt động
Theo mô tả dự án, gần như toàn bộ nội dung của game gốc đã chạy được:
- Chiến dịch đầy đủ gồm 8 nhiệm vụ, kịch bản nhiệm vụ theo định dạng DOS, bộ đếm mục tiêu, màn hình tóm tắt nhiệm vụ với hình ảnh và lồng tiếng gốc.
- Thế giới đúng như bản gốc: địa hình độ cao kiểu DOS, lưới mô hình thực thể, sprite dạng bảng, kết cấu màu chuẩn bảng màu, bầu trời đêm có mặt trăng và vòm trời lúc hoàng hôn ở các nhiệm vụ 5 đến 8.
- Phương tiện: xe jeep và máy bay HK với buồng lái nguyên bản từ thời DOS.
- Deathmatch qua LAN với bot, hai lớp nhân vật HUMAN và TERMINATOR, chế độ nhìn bằng thị giác máy, máy dò chuyển động và các đấu trường gốc.
Bản đồ chiến đấu nhiều người chơi trong bản chuyển đổi
Đáng chú ý, dự án còn bổ sung một số hiệu ứng hình ảnh mà bản gốc không thể làm được, nhưng đều tắt mặc định để giữ nguyên trải nghiệm như năm 1996. Trong đó có đèn động phát ra từ tiếng súng, các vụ nổ và đường đạn bay — thứ còn giúp thắp sáng 93 cột đèn đường trên bản đồ cao tốc mà trình dựng hình DOS trước đây chỉ vẽ dưới dạng điểm sáng.
Ngoài ra còn có làm mịn cạnh, lọc kết cấu mượt, lớp HUD và hình vũ khí gốc độ phân giải 640x480, thanh điều chỉnh độ sáng, cùng tùy chọn tỷ lệ dựng hình có thể vượt quá kích thước cửa sổ.
Cách chạy thử
Người dùng tải bản dựng phù hợp với hệ điều hành từ trang Releases của dự án. Trong lần chạy đầu tiên, chương trình sẽ hỏi vị trí thư mục cài đặt game gốc:
- Thư mục SkyNET là bắt buộc, được nhận diện qua tệp
MDMDMAP2.BSA. - Thư mục Future Shock là tùy chọn, nhận diện qua
MDMDMAPS.BSA.
Quá trình chuyển đổi dữ liệu gốc sang bộ nhớ đệm chỉ diễn ra một lần và mất vài phút.
Về ghi chú nền tảng, trên Windows chỉ cần chạy một tệp SkyNET.exe. Trên Linux cần cấp quyền thực thi bằng lệnh chmod +x. Trên macOS, ứng dụng chưa được ký số nên Gatekeeper sẽ chặn — người dùng phải mở bằng cách nhấp chuột phải rồi chọn Open, hoặc xóa cờ cách ly bằng lệnh xattr -dr com.apple.quarantine.
Bản đồ nhiệm vụ với địa hình độ cao kiểu DOS
Dự án cũng hỗ trợ dòng lệnh khá phong phú, cho phép chỉ định thư mục dữ liệu, vào thẳng một bản đồ cụ thể, tự tạo phòng deathmatch với bot, tham gia phòng qua địa chỉ mạng, hoặc thậm chí để một bộ giải tự chơi nhiệm vụ và báo cáo kết quả.
Góc nhìn từ người dùng Việt Nam
Với cộng đồng yêu game cổ và lập trình viên game tại Việt Nam, dự án này là một ví dụ đáng tham khảo về reverse engineering nghiêm túc: thay vì tái tạo theo cảm tính, tác giả bám sát mã máy gốc để đảm bảo tính chính xác.
Việc chọn Godot 4 — một engine mã nguồn mở, miễn phí và nhẹ — cũng cho thấy các dự án phục dựng game cũ không nhất thiết phải phụ thuộc vào công cụ độc quyền. Đây có thể là gợi ý cho những ai muốn hồi sinh các tựa game Việt Nam từng phát hành trong thập niên 1990 và 2000.
Dự án được phát hành theo giấy phép GNU General Public License phiên bản 3. Giấy phép chỉ áp dụng cho mã nguồn của bản chuyển đổi, không liên quan đến dữ liệu game gốc vốn thuộc về các bên giữ bản quyền. Tác giả cũng nhấn mạnh đây là dự án của người hâm mộ, không có liên kết hay được Bethesda Softworks bảo trợ.


