Những trò chơi video truyền hình cũ được phát triển trên nền tảng nào? [đóng cửa]


13

Tôi rất háo hức muốn biết các trò chơi video trên TV (mà tất cả chúng ta từng chơi trong thời thơ ấu) được phát triển như thế nào và trên nền tảng nào.

Tôi biết cách trò chơi được phát triển cho thiết bị di động, Windows PC và Mac nhưng tôi không hiểu làm thế nào (trong những ngày đó) Contra, Duck Hunt và tất cả những trò chơi đó đã được phát triển. Vì chúng có đồ họa cao và số lượng lớn các giai đoạn. Vậy làm thế nào mà họ quản lý để phát triển trò chơi trong một môi trường kích thước nhỏ như vậy và với nền tảng cấu hình thấp hơn?


3
Jordan Mechner đã phát hành các nguồn của Prince of Persia cho Apple II vài tháng trước: hãy kiểm tra nó ở đây nếu bạn quan tâm.
Laurent Couvidou

Câu trả lời:


17

Các trò chơi thực sự cũ - được viết cho NES, Game Boy, SNES và thậm chí các hệ thống cũ hơn như gia đình Atari - thường được viết bằng ngôn ngữ lắp ráp . Điều này là cần thiết bởi vì trình biên dịch C thời đó không tồn tại hoặc không phụ thuộc vào nhiệm vụ tạo mã đủ hiệu quả.

Họ có thể ép tất cả những thứ đó vào các hộp mực nhỏ - đối với NES, thậm chí 256KB là rất nhiều dữ liệu (mặc dù các trò chơi lớn hơn tồn tại) - bởi vì họ đã sử dụng các thủ thuật thông minh, chẳng hạn như đồ họa dựa trên gạch và màu thấp, cho phép rất nhiều dữ liệu được lưu trữ trong không gian rất nhỏ. Ngoài ra, các chip chuyên dụng cho video và âm thanh giúp xử lý những thứ này hiệu quả hơn mà không phải làm mọi thứ trong phần mềm.

Theo thời gian, trình biên dịch C trở nên hiệu quả hơn và các thiết bị trở nên mạnh mẽ hơn - N64, GBA và các thiết bị sau này đều sử dụng C hoặc thậm chí C ++ theo mặc định - và lắp ráp được dành riêng cho các đoạn mã nhỏ trong đó cần tối ưu hóa thêm để đáp ứng 60FPS một cách nhất quán mục tiêu (hoặc bất cứ thứ gì tốc độ khung hình trò chơi chạy tại).


4
@Mihir trò chơi cũ không hoàn hảo bằng mọi cách. Nhưng một phần của lý do tại sao họ có vẻ chạy tốt hơn so với một số trò chơi gần đây là bởi vì họ cũng xa, xa ít phức tạp hơn so với các đối tác hiện đại của họ.
chaosTechnician

1
@AndroidCoader, thứ bạn đang tìm kiếm được gọi là trình giả lập. Chúng tồn tại cho nhiều nền tảng, mô phỏng chức năng của các hệ thống cũ trên các máy hiện đại, nhưng thường có rất nhiều vấn đề pháp lý / khu vực màu xám liên quan đến việc sử dụng chúng để chơi trò chơi.
chaosTechnician

Tôi tin rằng "Gran Turismo", khi nó lần đầu tiên xuất hiện trên PS, đã có một lượng lớn mã được viết trong lắp ráp vì liên quan đến vật lý.
casperOne

3

Tôi nhớ đã viết các trò chơi đơn giản cho Commodore 64 / Vic20 vào đầu những năm 80. Một số BASIC (tin hay không - một số trò chơi được mã hóa hoàn toàn BASIC - BASIC có trên ROM của máy nên là một phần mềm miễn phí) - nhưng chủ yếu là trình biên dịch. Trình biên dịch cũng không nhất quán - hầu hết các máy đều có sẵn một số trình biên dịch thương mại (mặc dù giống như hầu hết trước đó, tôi đã tự viết). Đồ họa trên C64 rất tiên tiến với các phần cứng raster (chỉ cho phép 8 màn hình trên màn hình - nhưng chúng có thể được nhân đôi trong phần mềm với một số thủ thuật, tạo ra hàng trăm nhưng chỉ có 8 loại trên màn hình). Chúng có 16 màu (bảng màu - có thể thay đổi trong thời gian chạy cũng như sprite). Sprites là 2D tất nhiên.

"Máy tính gia đình" đầu tiên tôi chơi (bỏ qua các máy móc kinh doanh và khoa học trước đó) là ZX81 (trường tôi có ZX80 - nhưng nó bị khóa trong hộp thủy tinh như triển lãm bảo tàng - không ai biết sử dụng nó!). Hãy tưởng tượng viết một trò chơi bằng 1/4 K (tức là 256 byte!) - bây giờ đó là kỹ năng!


3

Các hệ thống trò chơi video hoặc bảng điều khiển thế hệ đầu tiên (trước khi chúng được gọi là bảng điều khiển) từ cuối những năm 1970 và ngày nay vẫn được phát triển giống như bất kỳ hệ thống máy tính nhúng nào .

Một máy tính nhúng là một máy tính (tức là một vi điều khiển hoặc bộ vi xử lý) trong một hệ thống điện tử mà không trông giống như một máy tính cá nhân, hoặc hệ thống máy tính đa người dùng lớn hơn (ví dụ như hệ thống chia sẻ thời gian, mini-máy tính, và máy tính lớn); một điểm khác biệt lớn là họ thường thiếu đầu vào / đầu ra tiêu chuẩn hiện nay thông qua thiết bị đầu cuối video và bàn phím.

Việc phát triển được thực hiện trên một máy tính khác, ngày nay thường là PC phát triển hoặc máy trạm sử dụng môi trường phát triển đa nền tảng tạo ra các tệp thực thi cho hệ thống đích - hệ thống trò chơi video trong bối cảnh này, thường là một kiến ​​trúc vi xử lý khác với sự phát triển CPU riêng (hoặc máy chủ ) của hệ thống .

Hai ví dụ về các hệ thống trò chơi video hiện tại là Playstation 3 của Sony dựa trên bộ xử lý Cell của Sony, Toshiba và IBM và cho các thiết bị di động (điện thoại thông minh, máy tính bảng) thường là bộ vi xử lý dựa trên ARM.

Như đã Michael Madsen chỉ ra , phần lớn các chương trình được thực hiện trong lắp ráp thay vì ngôn ngữ được biên dịch ở mức cao, chẳng hạn như C hoặc Pascal. Điều này là cần thiết để phù hợp với toàn bộ nội dung của trò chơi trong giới hạn của hệ thống bị hạn chế cao (rất ít RAM và dung lượng ROM hộp mực hạn chế), cũng như để truy cập các bộ đồng xử lý như TIA của Atari 2600.

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.