- Bài viết kể lại giai thoại phụ đề
World Warrior của game arcade Street Fighter II đã từng bị gõ nhầm thành World Warrier ngay trước ngày phát hành
- Khi nhà thiết kế đồ họa Akiman không thể sửa vì GFX ROM đã được ghi xong, ông đã điều chỉnh bằng cách ghép sprite để chữ
e trông giống o
- Ông tái sử dụng một phần tile của
World để thay cho ier, nhưng kết quả lại tạo ra The World Warrlor như một vấn đề mới
- Sau đó, ông tận dụng tile bắp chân của Guile (
0x96) để cắt phần trên của chữ l ở mức pixel, tạo ra bản sửa tạm thời khiến nó trông giống chữ i
- Bản sửa này sau đó đã được thay thế chính thức trong các phiên bản về sau, cho thấy khả năng ứng phó kỹ thuật tỉ mỉ và giải quyết vấn đề đầy sáng tạo trong phát triển game
Phát hiện lỗi chính tả và bắt đầu sửa
- Người ta phát hiện phụ đề
World Warrior của Street Fighter II đã bị ghi sai thành World Warrier chỉ 3 ngày trước khi phát hành
- Akiman nhớ lại rằng ông đã “phát hiện ra một sai lầm khủng khiếp”, đồng thời giải thích rằng GFX ROM đã được ghi xong nên không thể chỉnh sửa
- GFX ROM lưu dữ liệu đồ họa, còn 68000 ROM lưu lệnh, và ROM đồ họa ở trạng thái không thể chỉnh sửa
- Akiman thử chồng sprite để làm cho chữ
e trông giống o, từ đó thực hiện một bản sửa mang tính thị giác
Giải pháp tạm thời bằng cách thay tile
- Logo được cấu thành từ 16 tile (
0xC8~0xDF), và Akiman đã loại bỏ 3 tile cuối (0xDD~0xDF) rồi thay bằng 0xCD, 0xCE
- Vì vậy,
World Warrier đổi thành World Warrlor, nhưng vẫn còn vấn đề là chữ l không giống chữ i
- Vì CPU 68000 không thể chỉnh sửa trực tiếp tile, nên cần đến thao tác tinh chỉnh ở cấp độ pixel
Chỉnh sửa pixel bằng tile của Guile
- Chìa khóa của lời giải nằm ở tile bắp chân của nhân vật Guile (
0x96)
- Tile này chỉ hiển thị đúng một pixel ở góc dưới bên trái
- CPU 68000 có thể tự do chọn palette, và đã tận dụng khác biệt màu sắc bằng cách so sánh palette của Guile với palette của logo
- Ở palette của Guile, chỉ số 14 là màu xanh lá đậm, còn trong palette của logo thì là màu xanh lam đậm
- Dùng tile này với palette của logo, 255 pixel trở thành trong suốt, chỉ 1 pixel được dùng như một “cây bút chì”
- Với ba lệnh vẽ, phần trên của chữ
l bị cắt đi để trông như dấu chấm của chữ i
Kết quả và các phiên bản sau
- Nhờ bản sửa tạm thời này, ở màn hình cuối cùng, dòng chữ được hoàn thiện để trông thành
World Warrior
- Ở các phiên bản sau, bộ tile
IOR chính xác đã được đưa vào, nhưng không được dùng vì phụ đề đã đổi thành Champion Edition và Hyper Fighting
Ý nghĩa kỹ thuật
- Trường hợp này cho thấy ngay cả trong giới hạn của phần cứng arcade dựa trên ROM, vẫn có thể giải quyết vấn đề một cách sáng tạo
- Bản sửa bằng một pixel là ví dụ cho sự kết hợp giữa điều khiển đồ họa tinh vi và hiểu biết sâu về phần cứng
- Quá trình sửa lỗi chính tả này được lưu lại như một giai thoại tiêu biểu cho khả năng debug tỉ mỉ và ứng biến thực tế trong phát triển game
1 bình luận
Ý kiến trên Hacker News
Mạng xã hội thực sự ngày xưa chính là tiệm arcade
Giữa tiếng bóng bowling lăn trong trung tâm thể thao, tôi có thể nhận ra ngay tủ game của mình ở đâu
Mọi người đứng vây quanh xem, đùa giỡn, và đó là một không gian đầy tập trung lẫn reo hò
Trong chốc lát, đứa trẻ đang cầm joystick nhận được một chút sự kính nể, rồi tất cả lại vỡ òa khi ngai vàng đổi chủ chỉ bằng một cú dragon punch hoàn hảo
Đó là thời người ta đặt thêm đồng xu lên máy, chờ tới lượt và cùng chia sẻ dopamine với những người xa lạ
Bây giờ thế giới kết nối hơn bao giờ hết, nhưng lại có cảm giác chúng ta xa nhau hơn
Tôi chơi cùng những người bạn thế hệ thứ hai gốc H'Mông, con cháu các gia đình di cư sau chiến tranh Việt Nam; tôi chọn Ken, còn họ chọn Ryu
Khoảng thời gian vừa dạy nhau chiêu thức, vừa cạnh tranh vừa cười đùa đó đúng là một bài học về giao tiếp xã hội thực sự
Có lẽ những đứa bạn học trường tư đã bỏ lỡ kiểu trải nghiệm này
SF2 có mặt trong các tiệm arcade, nhưng chủ yếu người ta chơi một mình hơn là đấu đối kháng
Mỗi ván quá đắt nên mọi người thường hợp tác để chơi single-player, và các game PvE như Gauntlet hay Knights of the Round mới phổ biến
Đó là một nền văn hóa hoàn toàn khác
Ở Nhật Bản, văn hóa arcade vẫn còn sống
Những hồi tưởng kiểu này khiến tôi thấy hơi mỉa mai
Vì cùng chia sẻ một bức tường nên bạn sẽ tự nhiên nói chuyện với người lạ, và chỉ cần bỏ ra vài tiếng là đã thấy rất đáng
Tôi nghĩ còn rất nhiều môn thể thao xã hội khác phù hợp với từng độ tuổi
Đây đúng là một câu chuyện rất thú vị
Một trong những ví dụ tôi thích là việc Naughty Dog đã dùng EULA để chỉnh sửa Ratchet and Clank
Có thể xem chi tiết trong bài blog này
Ở quán burger gần chỗ tôi có một tủ SF2, nhưng thay vì decal thì nó được vẽ tay
Phía trên ghi ‘HYRER FIGHTING’, và nếu nghĩ đến lỗi chính tả ‘WORLD WARRIER’ thì lại thấy hợp một cách kỳ lạ
Không biết gần đây bạn có xem video YouTube liên quan không
Tiêu đề là “It sounds dumb but they really fixed a typo with a human leg”, và đây là link video
Video được làm khá tốt
Hôm nay đọc chuyện này làm tôi tò mò về cách render text hồi đó
Nó khiến tôi nhớ ra rằng ngày xưa những hàm như
drawTextđâu có phải điều hiển nhiênĐó là thời mà ngay cả việc hiển thị ký tự cũng phải tự triển khai
Tôi chợt nhớ tới câu “Thank you for playing Wing Commander! ”
Đó là một câu chạm đúng cảm giác của thời kỳ ấy
Nó là một câu tạm thời để tránh va chạm với hệ thống quản lý bộ nhớ
Tôi nhớ tới game Continental Circus
Link Arcade Museum có một mục trivia
Trong tiếng Nhật, ‘Circuit’ là サーキット, và nó phát âm hoàn toàn khác với ‘サーカス’
Hơn nữa, cách gọi F1 là ‘circus’ không chỉ phổ biến ở Nhật mà còn trên toàn thế giới
Tôi thấy buồn cười quá khi nghe nói để vẽ bắp chân của Guile, họ đã dùng 3 draw call cho 3 pixel
Đó là thời không có hệ điều hành hay graphics API, mọi thứ được thực hiện bằng cách truy cập trực tiếp vào bộ nhớ phần cứng
Có người đùa rằng ai đó nên sửa lỗi chính tả “Bimmy and Jimmy” trong Double Dragon đi mới phải