Ngôn ngữ nào đã được sử dụng để viết Starcraft II?


7

Tổng số người mới hỏi, nhưng ngôn ngữ nào đã được sử dụng bởi Blizzard để chơi trò chơi Starcraft II? Tôi đã chơi nó trong vài ngày qua, và tôi liên tục ngạc nhiên bởi sự phức tạp và hiệu suất của trò chơi. Đó có phải là ngôn ngữ trong nhà, hay họ sử dụng một chút hương vị của ngôn ngữ biết?


5
Từ Câu hỏi thường gặp ( gamedev.stackexchange.com/faq#dontask ): "Bạn chỉ nên hỏi những câu hỏi thực tế, có thể trả lời dựa trên những vấn đề thực tế mà bạn gặp phải."
Trevor Powell

Câu trả lời:


4

Bản thân trò chơi thực tế sử dụng kết hợp C, C ++ và XML (cho siêu dữ liệu).

Ngôn ngữ kịch bản được sử dụng gọi là 'Galaxy'. Đó là ngôn ngữ dựa trên C được tích hợp trong công cụ trò chơi.
Nó được sử dụng trong chiến dịch và trong các bản đồ tùy chỉnh.


11

Trình chỉnh sửa bản đồ là nơi 'Galaxy' đến từ (Trình chỉnh sửa Galaxy). Đó là một trình soạn thảo dựa trên dữ liệu cho phép bạn kết hợp các hành động từ các câu lệnh tiếng Anh thực sự mở ra một lượng khả năng điên rồ. Ví dụ, gắn pháo Thor vào một chiếc hydralisk rất dễ bị hỏng.

  • Tạo một đối tượng Hydralisk và sửa đổi các thuộc tính trên nó để cung cấp cho nó các khả năng mà bạn mong muốn
  • Kích hoạt - 'Tạo 1 Hydralisk cho người chơi 1 bằng cách sử dụng đối mặt mặc định'

Hãy xem video hướng dẫn này cho thấy trình chỉnh sửa kích hoạt . Dưới đây là một số hướng dẫn tốt để giúp bạn bắt đầu.

Trò chơi được viết bằng C / C ++.


1
Chỉ cần lưu ý: trình chỉnh sửa Galaxy không yêu cầu kinh nghiệm lập trình và tạo tập lệnh cho bạn. Các tập lệnh được viết bằng ngôn ngữ kịch bản dựa trên C tùy chỉnh được gọi là Galaxy; Tôi không biết về bất kỳ ví dụ về một cái gì đó cần phải được viết bằng Galaxy (tức. Mà không thể được thực hiện từ các biên tập viên), nhưng nó có thể viết kịch bản Galaxy nếu bạn muốn.
BlueRaja - Daniel Pflughoeft

8

Tôi giả sử bạn có nghĩa là ngôn ngữ kịch bản ? (vì ngôn ngữ lập trình khôn ngoan, tôi sẽ rất ngạc nhiên nếu họ không sử dụng C ++ ...)

Google nhanh chóng bật cái này lên:

"StarCraft II sử dụng một ngôn ngữ kịch bản hoàn toàn mới, mà chúng tôi gọi là Galaxy. Ngôn ngữ này rất giống với C và bất kỳ ai quen thuộc với lập trình trong C sẽ không gặp khó khăn gì trong việc chọn nó."


7
Không có ý xúc phạm đến ai, nhưng Galaxy có phải là trường hợp xấu của "Hội chứng không được phát minh ở đây" không? Chỉ cần nói. :-)
JustBoo

@JustBoo - bạn có tham khảo điều gì chứng minh rằng Galaxy về cơ bản giống với ngôn ngữ hiện có không? Nếu không, có lẽ Blizzard cần thứ gì đó chưa được cung cấp.
Kylotan

2
Khi sản phẩm thành công, nó không được gọi là NIH, nó được gọi là "lợi thế cạnh tranh".

@Boo: Họ đã tạo ra ngôn ngữ này vì nó dễ sử dụng và thân thiện với nhà thiết kế: Ví dụ: xem hướng dẫn này: forum.sc2mapster.com/development/tutorials/, Timer Timer - Phá hủy âm thanh cửa sổ Lava Timer - Chơi Alert_BaseUnderAttackKlaxon cho (Tất cả người chơi) (tại Âm lượng 100,0%, bỏ qua 0,0 giây đầu tiên) Đó là ngôn ngữ. Rất tiếng Anh - quá dài dòng cho một lập trình viên, nhưng tôi làm việc tốt trong một trình soạn thảo tôi đoán.
jacmoe

1
@jacmoe Galaxy không giống ví dụ của bạn. Đó là Giao diện người dùng kích hoạt của họ tạo ra Galaxy thay cho bạn (Tương tự như câu chuyện WC3 / JASS).
Jonathan Dickinson
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.