Trò chơi PS1 được viết bằng ngôn ngữ lập trình nào?


15

Có ngôn ngữ chung nào được sử dụng để tạo Play Station 1 Games không? Hoặc làm thế nào tôi có thể tìm ra ngôn ngữ lập trình nào được sử dụng cho một trong những trò chơi đó?


3
Tôi đang đọc một cuốn sách về kiến ​​trúc PS2, IIRC đó là C.
jcora

1
Câu hỏi này thực sự thuộc danh mục "công nghệ mà một số trò chơi cụ thể đã sử dụng" không được coi là phù hợp với trang web này; xem Câu hỏi thường gặp: gamedev.stackexchange.com/faq
Maximus Minimus

Câu trả lời:


25

Hầu hết các trò chơi PS1 có lẽ được viết bằng C, với một số phần lắp ráp và có thể là một số chữ "C với các lớp". Đây không phải là một sự thật phổ quát, nhất thiết - ví dụ Crash Bandicoot có một phần logic logic trò chơi được xây dựng trong một biến thể LISP.

Nói chung, bạn chỉ có thể tìm ra ngôn ngữ nào được sử dụng cho một trò chơi bằng cách hỏi các nhà phát triển của trò chơi đó. Tuy nhiên, một số công nghệ để lại chữ ký hoặc hình mờ của một loại có thể giúp bạn đưa ra những phỏng đoán có giáo dục.

Đối với ngôn ngữ bản địa, một số trình biên dịch hoặc trình liên kết nhất định có thể để lại các mẫu chữ ký hoặc không có gì trong nhị phân cuối cùng (ví dụ: xu hướng lưu trữ dữ liệu tĩnh tại một địa chỉ cụ thể hoặc một mẫu hướng dẫn mã máy bootstrapping nhất định cho nhị phân. Trên PC, bạn thường có thể chạy các công cụ như Dependency Walker dựa trên tệp thực thi để xem thư viện thời gian chạy nào mà nó liên kết và từ đó đưa ra các phỏng đoán có giáo dục về trình biên dịch nào được sử dụng để xây dựng nó.

Tương tự, các trò chơi được xây dựng bằng ngôn ngữ được quản lý sẽ yêu cầu môi trường thời gian chạy của chúng và thường phàn nàn lớn nếu chúng không được tìm thấy khi chương trình được khởi chạy (khiếu nại này thường được thực hiện thông qua một chút mã bootstrap riêng trong tệp thực thi, mà bạn cũng có thể nhìn vì nếu bạn đã rất nghiêng.

Tất nhiên, thông tin này thường ít tiện ích thực tế, vì nó không thực sự giúp bạn giải quyết bất kỳ vấn đề cụ thể nào liên quan đến trò chơi của riêng bạn trong hầu hết các trường hợp.


+1 Cảm ơn Josh, Có chương trình nào để xác định ngôn ngữ lập trình của trò chơi không? bởi vì đó là tập tin * .bin. hoặc bất kỳ cách nào để xem mã nguồn?
Zim3r

@ Hãy xem mã nguồn của bất kỳ nhị phân không được quản lý nào được biên dịch là gần như không thể, hoặc ít nhất là mất nhiều thời gian và rất nhiều công việc!
Logic ảo tưởng

Cảm ơn nhưng có một số tệp .bin mà một số trong số chúng là tệp âm thanh hoặc video. thậm chí những tập tin này không thể được mở?
Zim3r

Chúng có thể là, nhưng "làm thế nào" có thể là một quá trình rất phức tạp nếu bạn không biết các định dạng nguồn và sẽ nằm ngoài phạm vi của câu hỏi này.

2
@Gajoo Mặc dù sẽ không quá đau đớn, nhưng sẽ không dễ nếu bạn không biết ngôn ngữ này. và khi anh ấy muốn học hỏi từ nó, nó thực sự sẽ không hữu ích. Tôi sẽ không nghĩ rằng nó là giá trị nó.
Logic ảo tưởng

16

Tôi là bên đầu tiên tại SCEA khi chúng tôi ra mắt PS1, và phần lớn các trò chơi được viết bằng C, với một số thời điểm quan trọng trong trình biên dịch. Tất cả các cuộc gọi thư viện là C là tốt.


1
Tôi có thể xác nhận điều này; mặc dù tôi nghi ngờ rằng các thư viện đang gọi các quy ước với một số lắp ráp được điều chỉnh bằng tay bên trong, giống như các phần nhạy cảm hoặc mánh khóe thời gian mà tôi đã thấy hoặc làm việc.
Patrick Hughes
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.