(Lua) kịch bản trò chơi có nghĩa là gì?


9

Tôi đã đọc rằng Lua thường được sử dụng cho kịch bản nhúng và trong trò chơi cụ thể để viết kịch bản. Tôi thấy thật khó để hình dung nó được sử dụng chính xác như thế nào. Bạn có thể mô tả lý do tại sao và cho các tính năng và cho đối tượng nào nó được sử dụng?

Câu hỏi này không đề cập cụ thể đến Lua, mà là bất kỳ tập lệnh nhúng nào phục vụ mục đích tương tự như tập lệnh Lua .

Được sử dụng cho người dùng cuối để điều chỉnh tùy chỉnh? Nó có được sử dụng cho các nhà phát triển trò chơi để tăng tốc độ tạo logic trò chơi (cấp độ, AI, ...) không? Có phải nó được sử dụng để kịch bản mã khung trò chơi vì kịch bản có thể nhanh hơn?

Về cơ bản tôi đang tự hỏi làm thế nào sâu giữa cấu hình đơn giản và logic khung như vậy việc sử dụng kịch bản như vậy đi. Và bao nhiêu kịch bản được thực hiện. Một vài dòng cấu hình hoặc một số lượng đáng kể?


Câu trả lời:


11

Một ngôn ngữ kịch bản trong một công cụ trò chơi là có để hiển thị công cụ trò chơi của bạn ở mức độ cao hơn, diễn giải.

Lấy một trò chơi như Skyrim chẳng hạn. Bạn sẽ nhận thấy rằng có nhiều nhiệm vụ và tương tác xảy ra, và một số trong số này có logic khá ấn tượng được tích hợp trong đó, chẳng hạn như một người bảo vệ phản ứng với việc bạn đến gần một vật phẩm trong một số cảnh. Đây là những điều sẽ khó diễn đạt theo định dạng dữ liệu thuần túy và vì lý do này, các nhiệm vụ và hành vi tùy chỉnh thường được thể hiện dưới dạng tập lệnh.

Ngoài ra còn có nhiều thực tiễn để xem xét - các nhà thiết kế trò chơi tạo ra các kịch bản này thường làm việc ở mức độ trừu tượng cao hơn so với các lập trình viên công cụ trò chơi; họ không muốn lo lắng về việc cấp phát bộ nhớ, v.v. Ngôn ngữ kịch bản phù hợp với họ và với LUA, họ thường gọi vào một mặt tiền cao cấp đẹp của động cơ. Bạn cũng không muốn biên dịch lại trò chơi của mình mỗi lần bạn muốn điều chỉnh thuộc tính phút nào đó trong tập lệnh.

Trên hết, chúng cho phép dễ dàng gỡ lỗi, sửa đổi và tất cả những thứ hay ho khác mà bạn đã đề cập.


3

Được sử dụng cho người dùng cuối để điều chỉnh tùy chỉnh?

Nó có thể được sử dụng cho nhiều mục đích từ chỉ cấu hình đến thực hiện phần lớn logic cao cấp của trò chơi, ví dụ: Nó phụ thuộc vào trò chơi, nhưng Lua chỉ là kịch bản nhúng. Mọi người có thể sử dụng nó nhiều hay ít như họ muốn.


1
Một số trò chơi cho phép người dùng cuối thực hiện các tập lệnh của riêng họ. Cùng với API công khai, người dùng có thể triển khai các addon, widget, v.v., phản ứng với các sự kiện trong trò chơi.
Laiv

1
Tôi đã suy nghĩ trong các
rpg

1
@Laiv IMO MMORPG là một trong những điều có vẻ rất thú vị để thực hiện, nhưng tương tự như chơi chúng trong một thời gian dài, nó biến thành một trò chơi như vậy. Thế giới trò chơi thường phải tĩnh như vậy hoặc phải có sự tham gia tích cực như vậy từ người điều hành trò chơi. Tôi nghĩ rằng các trò chơi ngoại tuyến là như vậy, rất nhiều niềm vui để phát triển bởi vì bạn có thể tạo ra một thế giới rất năng động với một câu chuyện thực sự kết thúc.

1
Không không. Nhiều năm trước tôi đã từng chơi Allods Online. Trò chơi có một API nhỏ để các game thủ triển khai các addon và widget. Chỉ muốn mở rộng câu trả lời của bạn với một số ví dụ :-)
Laiv

1
@Laiv ơi tôi hiểu rồi! Tôi đang trong quá trình xóa tài khoản của mình nhưng tôi đã chỉnh sửa câu trả lời của mình để làm cho nó ngắn hơn và ngọt ngào hơn. Trong quá trình tôi đã mất một ít thông tin nhưng bản chỉnh sửa trước đây của tôi đã nói về cách tôi sử dụng kịch bản cá nhân. Ngay bây giờ tôi đang cố gắng chỉnh sửa tất cả thông tin cá nhân từ câu trả lời của tôi.

2

Nó có thể được sử dụng bởi những người khác ngoài lập trình viên trò chơi gốc để sửa đổi hoặc mở rộng logic trò chơi. Những người như vậy có thể tương đối phi kỹ thuật, ví dụ như nhà thiết kế trò chơi hoặc người dùng cuối (game thủ).

Các tập lệnh thường là các ngôn ngữ cấp cao hơn và vì vậy Lua dễ dàng hơn C ++. Mã được viết bằng các tập lệnh thường có thể được sửa đổi mà không cần biên dịch lại ứng dụng chính (công cụ trò chơi) rất hữu ích cho các nhà thiết kế trò chơi để điều chỉnh các cảnh trò chơi một cách nhanh chóng.

PS: tốt hơn hãy hỏi câu hỏi này trên gamedev.stackexchange.com

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.