Những hạn chế của bảng điều khiển retro là gì? [đóng cửa]


8

Tôi quan tâm đến việc tạo giao diện retro cho trò chơi và hiện tại tôi đang trong quá trình quyết định xem retro (thế hệ / giao diện điều khiển) như thế nào . Điều gì sẽ làm cho nó dễ dàng hơn nếu có một số loại wiki / tài liệu về các giới hạn của mỗi bảng điều khiển, chẳng hạn như tổng số màu tối đa, tối đa trên mỗi sprite, số lớp, gạch tối đa, kích thước ô tối đa, kích thước sprite, v.v. ., vv .. Lấy Game Boy làm ví dụ. Có 4 màu, và tôi cũng có thể tìm thấy độ phân giải màn hình. Nhưng những gì về tất cả những hạn chế khác?

Vì vậy, nếu bất cứ ai biết bất kỳ tài nguyên tốt, nó sẽ là một trợ giúp rất lớn. Tôi thấy rằng sự tự do mà thế hệ máy tính và máy chơi game ngày nay cung cấp là quá nhiều , trong đó tôi chỉ có thể tiếp tục thêm nhiều hơn nữa vào nó, và tôi sẽ không bao giờ kết thúc. Tôi muốn đặt giới hạn và làm tốt nhất có thể trong giới hạn đó.

Câu trả lời:


2

Hầu hết các chi tiết này đều ẩn trong các thông số kỹ thuật phần cứng cho bảng điều khiển và thiết kế API tương tác phần cứng của chúng. Thông tin này thường có sẵn trong các hướng dẫn lập trình cho các bảng điều khiển có liên quan, tuy nhiên những hướng dẫn đó thuộc NDA và gần nhất bạn có thể nhận được là thông qua tài liệu được cung cấp bởi kỹ thuật đảo ngược (bản thân nó là một vùng màu xám hợp pháp) - những vấn đề này thảo luận về những thứ như số lượng và kích thước ngân hàng RAM, độ trễ liên quan đến chuyển đổi ngân hàng và khi nào bạn có thể làm điều đó (ví dụ, trong quá trình truy xuất dọc có trống hay không), et cetera.

May mắn thay, những hạn chế mà bạn có vẻ là sau một số những hạn chế rõ ràng hơn, liên quan đến đồ họa. Ví dụ, một hạn chế phổ biến của các máy chơi game ban đầu như GameBoy và NES là chúng hỗ trợ số lượng sprite cố định (nhỏ) trên mỗi dòng - phần cứng sẽ chỉ làm mờ rất nhiều và nếu bạn có quá nhiều thì chúng sẽ biến mất. Điều này sẽ tự biểu hiện là "nhấp nháy" một số họa tiết trên màn hình khi chế độ xem trò chơi trở nên đông đúc.

Một số ít tài nguyên có sẵn bao gồm wiki NESDev , bài viết này về các sprite trên Wikipedia (bao gồm số liệu thống kê về các khả năng khác nhau của các hệ thống sprite dựa trên phần cứng cũ như GameBoy, NES, et cetera).


1

Các bảng điều khiển thường có rất nhiều chế độ khác nhau, ví dụ DS có thể có 4 màu, 16 hoặc 256 (thậm chí có thể là 16 bit, tôi không nhớ). Chúng được sử dụng vì dấu chân bộ nhớ của hộp mực (một trò chơi nhỏ hơn có chi phí ít hơn để chế tạo), về tốc độ và dấu chân bộ nhớ.

Ngoài ra còn có rất nhiều kỹ thuật như ngắt dòng quét, để khắc phục những hạn chế đó (số lượng các sprite bao gồm).

Vì có vẻ như bạn muốn tìm kiếm ngoại hình, chỉ cần kiểm tra đồ họa từ các trò chơi cũ và chọn sự lựa chọn của bạn, sau đó kiểm tra độ phân giải và độ sâu màu của trò chơi cụ thể đó và tìm kiếm nó.


0

Sử dụng SNES làm ví dụ:

Gạch 8 x 8 hoặc 16x16 pixel được giới hạn 16 màu mỗi màu. Các màu sắc có thể đến từ một trong tám bảng màu. Các tilemaps, chứa các ô này, được giới hạn ở 256x256, 512x256 hoặc 256x512 pixel. Trong tilemap, bạn có thể sử dụng cùng một ô với một bảng màu khác nhau. Ngoài ra còn có hỗ trợ cho 2 hoặc 4 lớp nền màu để giảm bộ nhớ được sử dụng bởi các ô.

SNES có tới bốn lớp tilemap, tùy thuộc vào chế độ đồ họa được sử dụng. Thứ tự hiển thị của tilemap có thể được kiểm soát trong phần mềm.

Sprites được giới hạn sức mạnh của hai kết hợp từ 8x8 đến 64x64. (tức là 8x8, 8x16, 32x64 64x64, v.v.). Mỗi sprite được giới hạn ở 16 màu từ một bộ tám bảng màu riêng biệt.

Một trong những tính năng gọn gàng của SNES (và nhiều máy chơi game 16 bit khác), là khả năng thay đổi thuộc tính hiển thị trên mỗi đường quét. Màu nền có thể được thay đổi hoặc tilemap cuộn sang trái hoặc phải trên mỗi đường quét. Điều này được sử dụng để tạo bầu trời gradient mà không vi phạm giới hạn 16 màu hoặc tạo hình ảnh lượn sóng.

Tôi đã áp dụng các giới hạn trên cho công cụ trò chơi Super Play được cấp phép của MIT .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.