In các tác vụ CPU phải xử lý trong 2 giây đầu của Mario năm 1988, lập trình viên thu được 3000 tờ giấy

Để có được một loạt những hành động nối liền nhau trong phim cũng như trong game, máy tính đã ghép một loạt những hình ảnh tĩnh với nhau thành một chuỗi dài. Mỗi hình ảnh đó được gọi là một khung hình (frame). Hàng trăm, hàng triệu khung hình đó được máy tính ghép lại với nhau tạo thành một bộ phim dài cả tiếng hay những game có thể chơi tới hàng trăm tiếng. Điều này cho thấy lượng dữ liệu mà các CPU có thể xử lý quả thực rất khổng lồ.

Để dễ hình dung hơn về điều này, chúng ta hãy cùng tìm hiểu nghiên cứu của lập trình viên Matt Bierner. Anh chàng này đã biến từng khung hình trong 2 giây đầu của siêu phẩm Super Mario Bros. 3 thành bảng mã và hình ảnh rồi in ra giấy.

Super Mario Bros. 3

Kết quả, Bierner có tổng cộng 3.000 tờ giấy, xếp chồng lên nhau cao tới 15cm. Xin nhắc lại để các bạn biết, Super Mario Bros. 3 là game được phát triển từ năm 1988 mà lượng dữ liệu cần xử lý đã khủng như vậy thì các game hiện đại chắc phải gấp vài ba lần như thế.

Bierner có tổng cộng 3.000 tờ giấyCác tờ giấy xếp thành chồng cao 15cm

Bierner mô tả rằng, việc lật từng trang giấy khiến anh chàng có cảm giác như mình đang đọc từng dòng AND của tựa game vậy. Toàn bộ những con chữ, con số trong 3.000 trang giấy đó chỉ tạo nên 2 giây game với 120 khung hình trên màn hình. Để hiển thị được mọi thứ trong game, từ hành động của nhân vật, quái vật cho tới từng dấu “?” nhấp nháy, đám mây đang bay, trung bình mỗi khung hình phải chạy tới 9.750 tác vụ.

3.000 trang giấy đó chỉ tạo nên 2 giây game với 120 khung hình trên màn hìnhTrung bình mỗi khung hình phải chạy tới 9.750 tác vụ

Anh chàng này đã đóng 3000 tờ dữ liệu thành quyển và rao bán trên eBay với giá 35 USD.

Anh chàng này đã đóng 3000 tờ dữ liệu thành quyển và rao bán trên eBay với giá 35 USD

Thông số của những gì mà Bierner đã in ra.

Thông số của những gì mà Bierner đã in ra

Bierner đã sử dụng một phần mềm giả lập để có thể 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ụ để có thể biết CPU phải xử lý những gì với mỗi một khung hình. Đồng thời, để chụp màn hình từng khung hình một sau đó chuyển đổi dữ liệu thô ra dạng text, anh chàng còn phải sử dụng thêm một phần mềm khác nữa.

Matt Bierner đăng tải mọi công cụ mà anh đã sử dụng để hoàn thành dự án này lên GitHub để bất kỳ ai muốn cũng có thể tự làm một sản phẩm tương tự. Nếu muốn tìm hiểu thêm biết thêm về chúng, các bạn có thể truy cập vào link dưới đây.

https://github.com/mattbierner/two-seconds-super-mario-bros-3

Xem thêm:

Thứ Ba, 15/01/2019 10:07
52 👨 312
0 Bình luận
Sắp xếp theo