Đưa F-Zero X lên Nintendo 3DS: hành trình 67 ngày của một người và hàng trăm AI agent
Một lập trình viên đã chuyển thành công tựa game F-Zero X lên Nintendo 3DS ở mức 60 fps gốc, thậm chí chạy được trên cả máy Old 3DS yếu hơn. Dự án kéo dài 67 ngày, tiêu tốn gần 5.000 USD tiền token AI và huy động tới 147 subagent trong giai đoạn đầu.

Đưa F-Zero X lên Nintendo 3DS: hành trình 67 ngày của một người và hàng trăm AI agent
Một lập trình viên đơn lẻ vừa công bố bản port hoàn chỉnh của F-Zero X lên Nintendo 3DS, chạy native ở 60 fps với chế độ 3D lập thể. Điều đáng chú ý không chỉ nằm ở kỹ thuật: toàn bộ dự án được điều phối bởi một phiên Claude duy nhất, với 147 subagent tham gia ngay trong giai đoạn đầu và gần 5.000 USD tiền token API.
Giao diện menu của bản port F-Zero X trên 3DS
Từ màn hình đen đến đường đua 60 fps
Bài post-mortem mô tả chi tiết hai giai đoạn của dự án. Giai đoạn một kéo dài 24 ngày (từ 11/08 đến 03/09/2026), đưa game từ trạng thái màn hình đen lên một tựa đua xe 3D lập thể chạy 60 fps trên New 3DS.
Giai đoạn hai mất thêm 43 ngày, bổ sung hỗ trợ cho Old 3DS, một renderer native mới và cả 64DD Expansion Kit — bộ mở rộng cho phép chỉnh sửa đường đua và tạo máy bay riêng.
Kết quả là ba bản build phát hành từ cùng một cây mã nguồn:
- Old 3DS / 2DS: bản cơ bản, tối ưu cho phần cứng yếu hơn
- New 3DS / New 2DS XL: bản cơ bản với hiệu năng cao hơn
- New 3DS + Expansion Kit: có trình chỉnh sửa đường đua và tạo phương tiện
Tất cả đều khởi chạy từ HOME menu (định dạng .cia) hoặc Homebrew Launcher (.3dsx), và đọc tài nguyên từ thẻ SD — không kèm theo ROM hay file đĩa game nào.
Những con số ấn tượng trên phần cứng thật
Trong giai đoạn đầu, hiệu năng trên New 3DS được cải thiện đáng kể qua năm vòng tối ưu liên tiếp:
| Thời điểm | FPS trung vị | FPS p10 | Tỉ lệ đạt 60 fps |
|---|---|---|---|
| Cuộc đua đầu tiên (giả lập) | 12–20 | — | — |
| Lần chạy đầu trên máy thật | 48–50 | — | — |
| Vòng 1: Đường cơ sở | 51.3 | 39.2 | 9% |
| Vòng 4: Render thread trên core 2 | 57.6 | 44.6 | 14% |
| Vòng 5: Chế độ Ahead | 59.6 | 51.4 | 53% |
Con số 59,4 fps ở phân vị thứ 10 trong các màn đông đối thủ (30 xe) cho thấy game giữ được độ ổn định đáng kinh ngạc, đặc biệt khi so với mức 25–35 fps trước đó.
Đường đua F-Zero X chạy trên 3DS
Bước ngoặt: khi số liệu phần cứng thay đổi cả kế hoạch
Phần thú vị nhất của dự án nằm ở giai đoạn hai. Khi nhóm bắt đầu thử đưa game lên Old 3DS — một quyết định ban đầu được xem là bất khả thi — bản build chết ngay khi khởi động vì không đủ bộ nhớ. Một profile riêng với cờ -DGDX_3DS_O3DS=ON giúp game chạy được, nhưng chỉ ở khoảng 10 fps.
Bước ngoặt đến từ một quyết định kỹ thuật: thay vì đếm số lệnh, họ dùng bộ đếm hiệu năng phần cứng và phát hiện ra nút thắt thực sự là instruction-cache miss, không phải số lượng lệnh thực thi.
"Chúng ta nên hướng tới 60 fps thật! Tôi vẫn tin điều đó là khả thi." — trích lời tác giả
Từ đó, họ xây dựng một renderer native hoàn toàn mới, gồm các vòng lặp nhỏ gọn theo từng loại đối tượng đường đua, được thiết kế vừa với 16 KB bộ nhớ đệm lệnh của CPU 268 MHz trên Old 3DS. Kết quả: thời gian khung hình trung vị đạt 16,5 ms trên các màn 2D Grand Prix.
Với chế độ 3D lập thể và cơ chế gửi lại theo từng mắt, game đạt 59–60 fps trên hầu hết đường đua Grand Prix ngay cả trên Old 3DS. Hai màn nặng nhất là Silence và Sand Ocean vẫn có thể rơi xuống 30 fps ổn định nhờ cơ chế bỏ khung hình an toàn.
Nhân vật trong F-Zero X
Bài học về chi phí và quy trình làm việc với AI
Dự án cũng công bố những con số tài chính khá chi tiết cho giai đoạn đầu: 3,17 tỉ token tiêu thụ, tương đương 4.974 USD theo giá niêm yết của API. Trong 24 ngày lịch, chỉ có 15 ngày thực sự hoạt động — ba lần phải tạm dừng vì hết hạn mức gói thuê bao hàng tuần.
Về mặt quy trình, một phiên Claude duy nhất giữ vai trò điều phối xuyên suốt, phân công công việc cho các subagent chuyên biệt. Cách làm này cho phép thử nghiệm song song nhiều hướng tiếp cận — từ bộ đệm bridge, atlas HUD, TMEM cho đến render thread trên core thứ hai.
Đáng chú ý, tác giả cũng ghi nhận một bài học quan trọng: renderer giữ trạng thái (retained-mode) đầu tiên thắng đậm trên giả lập nhưng gần như không cải thiện gì trên máy thật. Điều này cho thấy giả lập không phản ánh chính xác giới hạn phần cứng thực tế của 3DS.
Ý nghĩa với cộng đồng homebrew Việt Nam
Với cộng đồng yêu thích máy chơi game cầm tay tại Việt Nam, dự án này là minh chứng cho thấy 3DS vẫn còn rất nhiều tiềm năng chưa khai thác. Máy đã ngừng hỗ trợ chính thức từ lâu nhưng phần cứng vẫn đủ sức chạy các tựa game N64 ở tốc độ khung hình đầy đủ.
Quan trọng hơn, quy trình làm việc kết hợp decompilation + AI agent đang mở ra hướng đi mới cho các dự án port game retro. Thay vì phải viết lại từ đầu, cộng đồng có thể dựa trên mã nguồn dịch ngược đã được kiểm chứng, rồi tối ưu cho từng nền tảng cụ thể.
Toàn bộ tài liệu kỹ thuật, từng bước triển khai và số liệu chi phí đều được công bố công khai, kèm theo ghi chú pháp lý rõ ràng: bản port không phân phối ROM hay file đĩa, người dùng phải tự cung cấp tài nguyên hợp pháp của mình.
Bài viết liên quan

Công nghệ
Nộp đơn xin việc lẽ ra nên khó hơn. Thật đấy
25 tháng 8, 2026

Công nghệ
Mô hình AI hàng đầu giỏi Vật lý đến đâu? Nghiên cứu mới chỉ ra các bài kiểm tra hiện hành đang đánh giá sai
16 tháng 9, 2026

Công nghệ
Bản đồ camera Flock: Công cụ giúp bạn biết ai đang ghi lại hình ảnh xe mình
25 tháng 10, 2026