Lập trình viên Việt Nam '3D hóa' game điện tử 4 nút

Sử dụng ứng dụng đặc biệt trên nền tảng Unity WebGL, lập trình viên Trần Vũ Trúc từ Hà Nội đã có thể thêm chiều không gian thứ 3 vào các game "điện tử 4 nút" nổi tiếng một thời trên hệ máy NES.

Ứng dụng chuyển game "điện tử 4 nút" của hệ máy NES (Nintendo Entertaiment System) của anh Trúc được phát triển dựa trên game engine Unity có tên gọi 3DNES, hoạt động trên nền web ở địa chỉ 3DNES.com. Theo anh Trúc, ứng dụng này hoạt động trên một thuật toán với khả năng phân tích và tách rời các hình ảnh đồ họa phẳng thành vật thể 3D.

Lập trình viên Việt Nam '3D hóa' game điện tử 4 nút ảnh 1
Bảng tổng hợp những sprite được dùng trong Super Mario Bros.

Những game được lập trình cho hệ máy NES về cơ bản có đồ họa được tạo thành từ những hình ảnh 2D hoặc hình động nhỏ được thiết kế sẵn (sprite) và ghép lại cùng với nhau để tạo thành khung cảnh trong game. Những thuật toán trong 3DNES của anh Trúc về cơ bản sẽ phân tích những sprite này, tìm xem chúng sẽ ghép thành những hình gì và sau đó đẩy chúng lên so với hình phẳng, tạo thành các hình ảnh ba chiều. Thậm chí, 3DNES còn có khả năng phát hiện ra những sprite hình trụ hay cầu và sau đó render chúng thành hình khối.

Lập trình viên Việt Nam '3D hóa' game điện tử 4 nút ảnh 2
Game Super Mario Bros được render ở chiều không gian thứ 3.

Nghe có vẻ đơn giản nhưng trên thực tế, việc chuyển các hình ảnh 2D trên hệ máy NES thành 3D khó khăn hơn nhiều do các sprite được ghép ở một lớp hình duy nhất, khiến viêc phân tích trở nên khó khăn hơn. Ở hệ máy đời sau của NES là Super NES với đồ họa 16 bit và chia thành 4 lớp khác nhau, việc chuyển đổi 3D tự động sẽ dễ dàng hơn.

Quay trở lại với 3DNES, ứng dụng này sẽ hoạt động tốt nhất với Super Mario Bros, do anh Trúc đã viết ra 3DNES với những thuật toán được thử nghiệm trên tựa game huyền thoại này. Ngoài ra, một số game có đồ họa với các hình khối đơn giản như Megaman cũng sẽ được chuyển đổi một cách khá hoàn thiện. Trong khi đó, 3DNES sẽ gặp khó khăn với các tựa game với phần nền phía sau nhân vật phức tạp như Contra hay Castlevania.

Mục tiêu hiện tại của anh Trúc đó là ngày càng nâng cao số lượng game tương thích với 3DNES qua các bản beta được tung ra liên tục. Anh cho biết nếu như chỉ cần 1/10 số tựa game dành cho NES được render tốt trên 3DNES, đó cũng là một thành công rất lớn đối với anh. Nếu tính tổng số tựa game được tung ra cho hệ máy NES từ trước tới nay tại cả 3 vùng là Mỹ, Nhật và châu Âu, sẽ có khoảng 2116 game. Như vậy, anh Trúc đang hướng tới việc phát triển cho 3DNES hoạt động tốt với khoảng 200-210 game phổ biến.

Lập trình viên Việt Nam '3D hóa' game điện tử 4 nút ảnh 3
3DNES.com vẫn "đòi" phải cài Firefox khi đang chạy trên trình duyệt Firefox!

Hiện nay, dù được coi là đang ở trong phiên bản Beta nhưng trên thực tế, 3DNES giống như đang ở giai đoan Alpha hơn khi nó vẫn còn chưa hoàn thiện và gặp rất nhiều lỗi. Ứng dụng này chạy qua nền tảng Unity WebGL rất thiếu ổn định và chỉ có thể chạy trên trình duyệt Firefox. Ngoài ra, dung lượng RAM tối thiểu để có thể chạy đươc 3DNES là 512 MB. Thử truy cập 3DNES.com trên một máy Mac với trình duyệt Firefox phiên bản v.45 mới nhất, trang web vẫn yêu cầu phải cài Firefox. Theo anh Trúc, nền tảng Unity Play này rất kém, tuy nhiên đây là cách hiệu quả nhất để khiến nhiều người chơi có thể dễ dàng tiếp cận với 3DNES và báo lỗi về cho anh.

Trong tương lai, anh Trúc sẽ tiếp tục hoàn thiện 3DNES với một nền tảng giả lập hệ máy NES vững chắc, có tiềm năng để cho người chơi tự cấu hình phần mềm phù hợp nhất với từng game, đồng thời tung nó ra trên các nền tảng hệ điều hành khác nhau như WIndows, Android... Mục tiêu xa hơn của anh đó là chuyển hóa nó thành một công nghệ cho phép chuyển từ game 2D thành 3D. Anh Trúc đang kêu gọi đóng góp (donate) qua Paypal trên trang 3DNES nhưng nếu công nghệ này nhận được sự quan tâm của các nhà đầu tư hay thậm chí là Nintendo, nó sẽ có thể tạo ra những game thương mại theo phong cách cổ điển với hiệu ứng 3D hiện đại.

Nếu muốn thử nghiệm 3DNES, bạn có thể thực hiện theo các bước sau:

Lập trình viên Việt Nam '3D hóa' game điện tử 4 nút ảnh 4
Tải game định dạng .nes từ trang Emuparadise.me

1: Tải một game dành cho hệ máy NES với phần mở rộng dạng .nes. Những game này có thể dễ dàng download trên trang web emuparadise.me ở dạng nén ZIP và giải nén ra thành file game.

Lập trình viên Việt Nam '3D hóa' game điện tử 4 nút ảnh 5
Link download sau khi được up lên Dropbox.
 

2: Upload game vừa tạo lên Dropbox, sau đó copy link download game từ Dropbox.

Lập trình viên Việt Nam '3D hóa' game điện tử 4 nút ảnh 6
Thanh địa chỉ để paste link Dropbox và hướng dẫn nút chơi.

3: Truy cập trang web 3DNES.com. Ở thanh địa chỉ dưới khung màn hình game, dán đường link vừa chép từ Dropbox sau đó bấm một lần nút Load. Nếu như game được load thành công, bạn có thể bắt đầu chơi game với các nút theo hướng dẫn dưới thanh địa chỉ nêu trên. Để có thể đổi góc nhìn trong game, bấm chuột trái và di trên màn hình chơi.

Quang Huy

Bạn đọc bình luận

Vui lòng nhập tiếng Việt có dấu
Nhập mã bảo mật (*)    Refresh

Cùng chuyên mục