Kỹ thuật hoạt hình nào được sử dụng trong 'Dont Starve'? [đóng cửa]


12

Trong khi chơi một vài game trong thời gian phát triển cá nhân, tôi đã tình cờ phát hiện ra một game sinh tồn 2D / 3D. Trò chơi rõ ràng được làm bằng SDL và GLUT (Không chết đói) nhưng điều thực sự làm tôi ngạc nhiên là các hình ảnh động trong trò chơi.

Các hình ảnh động cực kỳ mượt mà và trôi chảy. Không có biến dạng trong khi hoạt hình, điều thường xảy ra trong hoạt hình làm bằng tay là các pixel bị xóa, hoạt ảnh bị lởm chởm và đơn giản là chúng không mượt mà. Điều đó khiến tôi suy nghĩ về cách họ quản lý để đạt được chất lượng hoạt hình như vậy. Chúng có thực sự được làm thủ công không (Nếu là chúng, thì nó phải là một nghệ sĩ rất tài năng), đó có phải là hoạt hình xương hay chúng đang sử dụng một kỹ thuật khác?


2
Tôi sẽ đề nghị bạn liên hệ với chính các nhà phát triển để có thông tin chính xác như vậy về các công nghệ được sử dụng. Bất cứ ai không làm việc trên trò chơi chỉ có thể quy định mà không chắc chắn.
DogDog

2
Vâng, khi đặt câu hỏi này, tôi đã đưa ra một vài giả định, đó là: 1. Liên hệ với chính các nhà phát triển có cơ hội thành công rất thấp (tại sao mọi người sẽ chia sẻ bí mật của họ với một người ngẫu nhiên và họ phải mất bao nhiêu thời gian để kiểm tra email của họ ?) 2. Tôi có thể nhận được câu trả lời nhanh hơn nhiều trên trang web này, bao gồm những người có nhiều năm kinh nghiệm nền tảng và câu trả lời tôi đánh giá cao, ngay cả khi họ chỉ là suy đoán và cuối cùng, chính các nhà phát triển có thể đang sử dụng trang web này và có thể trả lời câu hỏi này nhưng điều đó rất xa vời.
Bugster

1
Hầu hết các lập trình viên thực sự cởi mở trong việc chia sẻ kiến ​​thức của họ và tôi không nghĩ cách họ tạo ra hoạt hình 2d của họ có nhiều bí mật, tôi nghĩ rằng nó đáng để thử. Có thể nếu bạn nói với họ một chút về bạn và tại sao bạn muốn rằng họ có thể thú vị hơn trong việc giúp đỡ bạn hoặc cho bạn lời khuyên.
DogDog

1
Xem Câu hỏi thường gặp về " công nghệ mà một số trò chơi cụ thể đã sử dụng " Hỏi cách đạt được hiệu ứng tương tự sẽ là một câu hỏi hay hơn nhiều. (Mặc dù có thể trùng lặp với một cái gì đó đã có trên trang web.)
MichaelHouse

Câu hỏi này dường như lạc đề vì đó là về công nghệ mà một số trò chơi khác sử dụng.
MichaelHouse

Câu trả lời:


40

Tên tôi là Kevin và tôi là lập trình viên / nhà thiết kế tại Klei. Tôi đã viết một loạt các công cụ hoạt hình mà chúng tôi đã sử dụng trong loạt phim Shank, Mark of the Ninja và Don't Starve.

Hoạt hình của chúng tôi làm việc trong Flash. Chúng tôi có một khái niệm về một nhân vật 'xây dựng', đó là một tập hợp các biểu tượng phần cơ thể với nhiều chế độ xem. Tùy thuộc vào độ trung thực của trò chơi đã cho, có nhiều hay ít bộ phận cơ thể với nhiều 'góc nhìn'. Tôi nghĩ rằng Shank có khoảng 30 bộ phận cơ thể với 1-2 tá lượt xem, trong khi Wilson từ Don't Starve có khoảng một chục bộ phận cơ thể chỉ có cùng số lượt xem. Các tập lệnh JSFL tùy chỉnh được sử dụng để phân tích các mốc thời gian biểu tượng flash và sau đó đưa ra các hình ảnh có liên quan dưới dạng một loạt các tệp PNG có độ phân giải cao, cùng với một loạt siêu dữ liệu mà chúng tôi dán vào XML.

Được xây dựng nhân vật, các nhà làm phim hoạt hình của chúng tôi tạo một biểu tượng gốc mới trong một tệp khác để chứa một đoạn hoạt hình cho nhân vật đó. Trong dòng thời gian đó, họ tạo nhân vật ra khỏi các biểu tượng xây dựng và di chuyển nó xung quanh, xoay tròn nó, v.v. để tạo các hình động riêng lẻ (được phân định bằng cách sử dụng nhãn khung). Tập lệnh xuất khẩu xuất các dòng thời gian này thành XML, lưu ý đến biến đổi 2d của mọi phần xây dựng và khung nhìn mà nó đang hiển thị.

Với tất cả thông tin này được xuất sang XML và PNG, chúng tôi chạy một loạt các tập lệnh Python để chuyển đổi chúng thành dữ liệu thời gian chạy. Một tập lệnh thu nhỏ kích thước, tập trung và mips tất cả các kết cấu và chuyển đổi chúng thành (một hoặc nhiều) định dạng nén, nền tảng cụ thể. Một tập lệnh khác xử lý dữ liệu hoạt hình XML thành một định dạng nhị phân hiệu quả hơn.

Trong thời gian chạy, đó thực sự chỉ là vấn đề hiển thị các biểu tượng xây dựng đúng với các biến đổi và chế độ xem đúng.

Hệ thống này mất nhiều thời gian để xây dựng và đã được tinh chỉnh khi chúng tôi chuyển nó từ trò chơi này sang trò chơi khác. Có rất nhiều chi tiết mà tôi đang làm sáng tỏ (như cách chúng ta xử lý hoán đổi trang phục lớp và thời gian chạy), nhưng đó là phác thảo chung.

Tất nhiên, công nghệ mà chúng tôi sử dụng có lẽ là khía cạnh ít quan trọng nhất của 'Klei Look'. Phần quan trọng nhất là chúng ta có một loạt các họa sĩ hoạt hình thực sự, thực sự giỏi. :)

Dù sao, tôi hy vọng điều này sẽ giúp. Nếu bạn có thêm bất kỳ câu hỏi nào về Don't Starve, bạn có thể ghé qua các diễn đàn của chúng tôi, nơi tôi thường rất vui khi nói chuyện với cửa hàng.


1
cảm ơn vì sự sâu sắc Tôi nghĩ rằng hệ thống mà bạn có thực sự giúp tạo điều kiện cho các nhân vật có tính lưu động cao, điều mà hầu hết các đội có ngân sách nhỏ (và một số đội có ngân sách cao) chỉ có thể tưởng tượng. Chắc chắn an toàn khi nói rằng nếu bạn chỉ làm nghệ thuật sprite, không có nội suy / biến đổi các bộ phận cơ thể, hoặc chỉ biến đổi và không có trạng thái / quan điểm, nó sẽ không cảm thấy khó tin. Giống như bạn đã nói, một công cụ đang làm rất tốt khi nó tránh đường và để nghệ sĩ tỏa sáng, điều mà Klei làm rất nhiều. Tôi phải nói rằng, tôi đã yêu tất cả những thứ của bạn và cảm ơn các cổng PC.
Norguard

2
Rất vui vì tôi có thể giúp! Tôi nghĩ rằng các nghệ sĩ của chúng tôi thực sự thích làm việc theo một hệ thống mà chúng tôi chỉ nướng mọi khung hình như một sprite, nhưng sau đó chúng tôi sẽ không thể thực hiện hoán đổi trang phục và kích thước kết cấu sẽ bị cấm.
Kevin

1
Thật tuyệt vời, tôi chưa bao giờ nghĩ mình sẽ nhận được câu trả lời từ nhà phát triển trò chơi thực tế. Tôi cảm ơn bạn đã dành thời gian để trả lời này. +1
Bugster

7

Klei thường sử dụng một sự kết hợp thực sự tốt đẹp của hoạt hình Skelet và thay đổi sprite.
Họ dựng một bộ xương, áp dụng các họa tiết vào xương và sau đó họ sẽ trao đổi các họa tiết như một khung hoạt hình yêu cầu.

"Làm thế nào" chính xác (quy trình làm việc / công cụ / vv) thực sự chỉ có thể đến từ họ, tuy nhiên, họ đã tự nói như vậy khi quảng cáo "Shank", phát hành trước.

Và nếu bạn nhìn vào Shank / ShankII, Mark of the Ninja và Don't Starve, bạn sẽ nhận thấy rằng hình ảnh động trông rất giống với những thứ có thể phát ra từ Nickelodeon.

Tôi sẽ tưởng tượng rằng họ đang làm việc với các biểu đồ cảnh để giữ mọi thứ lành mạnh, nhưng một lần nữa, đó là một giả định dựa trên độ phức tạp và những gì hoạt động cho hoạt hình (2d / 3d) hơn là một sự đảm bảo.


Vì đây thực sự chỉ là một phỏng đoán, nó có thể sẽ hoạt động tốt hơn như một bình luận. Không thực sự là lỗi của bạn, không có cách nào để không đoán trừ khi bạn là nhà phát triển. (vấn đề với câu hỏi không phải câu trả lời của bạn)
MichaelHouse

Điều này khá nhiều câu trả lời cho câu hỏi tôi đã hỏi, tôi có một cái gì đó tương tự trong tâm trí, nhưng có vẻ như bạn đúng.
Bugster

2

Tôi nghĩ rằng họ chắc chắn sử dụng hoạt hình xương. Họ cũng có thể sử dụng các sprite độ phân giải cao (để ngăn chặn sự lộn xộn) hoặc họ sử dụng một số hình thức đồ họa vector. Điều này là hoàn toàn có thể, họ kết xuất đồ họa vector thành các sprite độ phân giải cao. Họ chắc chắn không sử dụng nghệ thuật pixel cho cái này. :)


2
Nhiều hơn một bình luận hơn là một câu trả lời bạn sẽ không nói?
MichaelHouse

đồ họa vector trong openGL? Điều đó là có thể nhưng tôi thực sự nghi ngờ một nhà phát triển độc lập sẽ có chiều dài như vậy.
Eric B

1
@EricB Được rồi, nó có thể được kết xuất trước thành các họa tiết hoặc nó có thể được vẽ bằng tay và được hiển thị ở độ phân giải cao. Nó chắc chắn không phải là sprite theo "nghĩa cổ điển" (tức là nghệ thuật pixel) như Spelunky và Cave Story.
AturSams

@ Byte56 Tôi đồng ý với bạn. Tôi đang trả lời nhiều hơn về cách thực hiện các hình ảnh tương tự so với những gì nghệ sĩ của họ đã làm trên cái này.
AturSams

@ Byte56 vì câu hỏi rất khó trả lời, câu trả lời khả thi duy nhất là giả định, nhưng câu trả lời này rất có thể là một khả năng, cảm ơn.
Bugster
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.