MetroidPrimePort: Dự án đưa game Metroid Prime lên PC và Android không cần trình giả lập

5 phút đọc

Dự án mã nguồn mở Odrannnn/MetroidPrimePort đang thu hút sự chú ý của cộng đồng yêu thích lập trình và giả lập game console khi mang tựa game kinh điển Metroid Prime của hệ máy GameCube lên các nền tảng hiện đại dưới dạng bản dựng native (chạy trực tiếp không thông qua trình giả lập). Tính đến thời điểm cập nhật mới nhất vào tháng 10, kho lưu trữ này đã ghi nhận 452 stars cùng 27 lượt fork trên GitHub.

Sử dụng ngôn ngữ lập trình chính là C++, MetroidPrimePort không chỉ mở ra khả năng trải nghiệm game trên Linux, Windows và Android mà còn cung cấp một bản thử nghiệm dành cho macOS.

Kiến trúc native port và nền tảng kỹ thuật

Khác biệt lớn nhất của dự án so with các phương pháp chơi game GameCube truyền thống là không phụ thuộc vào bất kỳ phần mềm giả lập nào. MetroidPrimePort được xây dựng dựa trên dự án mã nguồn tái tạo (decompilation) PrimeDecomp, kết hợp với bộ dựng hình Aurora (sử dụng thư viện SDL3 và WebGPU) để xử lý đồ họa.

Về mặt kỹ thuật, nhà phát triển đã phân chia rõ ràng cấu trúc mã nguồn:

  • Game Logic: Lấy trực tiếp từ PrimeDecomp để đảm bảo phản hồi hành vi và cơ chế của game gốc.
  • Hệ thống dựng hình & âm thanh: Tích hợp bộ công cụ Aurora cho hiển thị và MusyX cho âm thanh (đều phát hành theo giấy phép MIT).
  • Giao diện điều khiển: Sử dụng bộ biểu tượng nút bấm từ gói Input Prompts của Kenney (giấy phép CC0) đặt tại thư mục tools/prompt_icons.

Đáng chú ý, tác giả repository cho biết một số phần của dự án mã nguồn này được hỗ trợ viết bởi các công cụ trợ lý lập trình AI dưới sự giám sát và kiểm duyệt trực tiếp từ nhà phát triển.

Yêu cầu tệp bản quyền và khả năng tương thích đĩa game

Để tuân thủ các quy định về bản quyền, kho lưu trữ hoàn toàn không chứa bất kỳ tệp dữ liệu, hình ảnh hay mã nguồn game đóng gói nào từ Nintendo. Người dùng muốn vận hành ứng dụng phải tự cung cấp bản sao đĩa game hợp pháp của chính mình.

Ứng dụng sẽ yêu cầu người dùng chọn tệp đĩa game trong lần khởi chạy đầu tiên và tự động lưu lại thiết lập này cho các lần sau. Danh sách các định dạng đĩa và phiên bản được hỗ trợ bao gồm:

  • Định dạng tệp được chấp nhận: .iso, .gcm, .rvz, .wbfs, .ciso và .nkit.
  • Phiên bản GameCube hỗ trợ: Hệ USA (các bản 1.00, 1.01, 1.02 – mã GM8E01) và hệ PAL (mã GM8P01).
  • Các phiên bản không tương thích: Bản phát hành tại Nhật Bản, Hàn Quốc, cũng như các phiên bản Wii Trilogy hay Remastered sẽ không thể khởi chạy dưới dạng game nền tảng.

Tính năng bổ sung và hướng dẫn biên dịch

So với bản phát hành ban đầu trên hệ máy GameCube, MetroidPrimePort đã tích hợp thêm hai tính năng mở rộng đáng giá là chế độ Randomizer (ngẫu nhiên hóa vật phẩm) và kết nối chơi nhiều người Archipelago Multiworld. Trong quá trình chơi, người dùng có thể nhấn phím F1 để mở bảng thiết lập toàn bộ tùy chọn của hệ thống.

Đối với người dùng cuối, dự án cung cấp các bản đóng gói sẵn trên trang Releases của GitHub dưới dạng tập tin ZIP cho Windows, APK cho Android, cùng định dạng AppImage hoặc tarball cho Linux. Các công cụ như tools/make_appimage.sh và tools/make_flatpak.sh được đính kèm sẵn để hỗ trợ tạo gói tự trị trên Linux mà không bao gồm dữ liệu đĩa game.

Đối với các nhà phát triển muốn tự biên dịch mã nguồn, hệ thống yêu cầu cấu hình tối thiểu bao gồm:

  • Công cụ CMake 3.25+ và Ninja.
  • Chuỗi công cụ biên dịch (toolchain) hỗ trợ chuẩn C++20.
  • Thao tác clone mã nguồn thông thường đã đủ để lấy toàn bộ phụ thuộc cần thiết. Chi tiết về lệnh cấu hình, biên dịch và kiểm thử được ghi nhận cụ thể tại tập tin docs/NATIVE_PORT.md và docs/ANDROID.md.

Những điểm cần lưu ý và giới hạn hiện tại

Mặc dù dự án mang lại giải pháp chơi game native tiềm năng, thông tin từ kho lưu trữ vẫn còn một số điểm chưa được làm rõ. Bản dựng dành cho macOS hiện mới chỉ ở mức thử nghiệm và chưa từng được kiểm thử thực tế trên thiết bị phần cứng thật. Ngoài ra, nguồn tin chưa cung cấp các số liệu cụ thể về mức độ tối ưu hiệu năng (FPS), lượng tài nguyên RAM/CPU tiêu thụ trên hệ điều hành Android cũng như danh sách các dòng chip di động tương thích tốt nhất.

Nguồn tham khảo: Xem bài gốc

📅 Âm: 4/10 · Canh Dần

📅 Lịch Âm Dương NsN

×
Hôm Nay · Thứ Năm
Âm Lịch: 4 Tháng 10
Năm Bính Ngọ
📌 Can Chi: Canh Dần
✨ Hoàng Đạo: Tý (23-1), Sửu (1-3), Thìn (7-9), Tỵ (9-11), Mùi (13-15), Tuất (19-21)
Vĩnh Phúc (Liên Bảo - Vĩnh Yên)
31°C
Nắng Đẹp
💧 83% | 💨 18 km/h
Hôm nay 32°
02/11 28°
03/11 30°
04/11 31°
05/11 31°