Từng khung hình, CPU phải xử lý trung bình 9750 tác vụ. Mới chỉ là Mario của năm 1988 đấy nhé! Game hiện đại phải gấp vài ba lần như thế, lập trình viên Matt Bierner nhận xét.

Phim cũng như game: nó là một loạt những hình ảnh tĩnh, được máy tính ghép lại thành một chuỗi dài để có được một loạt những hành động nối liền nhau. Mỗi hình ảnh đó được gọi là một frame – một khung hình, việc máy tính ghép lại hàng trăm, hàng triệu khung hình đó để có một bộ phim dài cả tiếng, những game có thể chơi tới hàng trăm tiếng, quả là phi thường.

Có thể nếu không có ví dụ cụ thể, bạn sẽ khó hình dung ra những gì tôi vừa nói. Vậy tạm nhờ tới tài năng của nghệ sĩ, lập trình viên Matt Bierner vậy. Anh chàng này lấy 2 giây đầu của siêu phẩm Super Mario Bros. 3, biến từng khung hình thành bảng mã và hình ảnh rồi in ra giấy.

Anh in ra được tổng cộng 3.000 tờ, đóng thành 3 tập tài liệu, xếp từ mặt đất lên thì cao tới 15 cm.

“Dự án của tôi cho thấy lượng dữ liệu khổng lồ mà các CPU cũ cũng có thể làm được”, anh Bierner viết trên blog cá nhân. “Còn với game hiện đại, chỉ một khung hình duy nhất chắc cũng tăng mức xử lý, gánh nặng của CPU lên thêm vài phần, có lẽ là không thể in ra nổi”.

Như lời anh Bierner mô tả, thì lật từng trang giấy, bạn sẽ cảm thấy như mình đang đọc từng dòng ADN của tựa game yêu thích vậy. Tất cả những con số, con chữ kia góp công tạo nên chỉ 2 giây game, với tổng cộng 120 khung hình trên màn hình. Trung bình, mỗi một khung hình phải chạy tới 9.750 tác vụ, để có thể hiển thị được mọi thứ – hành động nhân vật, từng con quái vật đang chạy, từng cụm mây đang bay, từng dấu “?” nhấp nháy – như ý muốn.

Để làm hoàn thành dự án, anh Bierner thu thập dữ liệu game đưa ra bằng phần mềm giả lập, cho phép chơi game cũ trên nền tảng PC và một phần mềm lần dấu tác vụ để xem mỗi một khung hình, CPU phải xử lý những gì. Anh dùng một phần mềm khác để chụp màn hình từng khung hình một, chuyển đổi dữ liệu thô ra dạng text.

Sau khi in 3.000 tờ dữ liệu ra giấy, anh đóng thành quyển, rao bán trên eBay với giá bèo, 35 USD.

Đây là thông số của những gì anh đã in ra:

  • Thời gian hiển thị trên màn hình: 2 giây
  • Số khung hình: 120
  • Số trang: 2950, với kích cỡ 215.9 x 279.4 mm, in 2 mặt
  • Mỗi trang có 4 cột
  • Font chữ của tác vụ là 6pt
  • Số tờ giấy: 1473
  • Dùng hết 3 tập tài liệu để đựng
  • Số tác vụ: 1.123.969
  • Trung bình 9750 tác vụ/khung hình

“Đây là dự án độc nhất, tôi không có dự định làm một sản phẩm tương tự”, anh nói trên blog cá nhân. “Tôi thấy thế giới này cần một quyển sách chứa toàn bộ những tác vụ nhằm chạy được Super Mario Bros. 3. Giờ nó đã tồn tại. Và nếu người ta có mua nó thật, mọi thanh toán sẽ đều được chuyển về quỹ Electronic Frontier Foundation”.

Mọi công cụ anh Matt Bierner sử dụng đều được đăng tải trên GitHub. Theo lời anh nói, chúng để “đề phòng trường hợp bạn cũng muốn tự in một quyển tạp chí Mega-Man hay một cuốn tiểu thuyết Castlevania của riêng mình”.

Hình ảnh được lấy từ blog cá nhân của Matt Bierner.

 

(theo GenK)

FPT Aptech – Hệ Thống Đào Tạo Lập Trình Viên Quốc Tế

FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.
0981578920
icons8-exercise-96