Một động cơ như Frostbite trông như thế nào trong giai đoạn đầu? [đóng cửa]


15

Tôi đã rất vui khi chơi Battlefield, và bị thổi bay bởi tất cả vẻ ngoài và âm thanh của nó. Tôi chỉ tự hỏi những gì một công cụ trò chơi bắt đầu cuộc sống như. Tại điểm viết mã nào cuối cùng nó cũng làm được một cái gì đó, và nó đã làm gì trước khi nó bắt đầu hiển thị tất cả các kết cấu, ánh sáng và các hạt, một cách hoàn hảo?

Có bài viết hay, trực tuyến hay ví dụ nào mà mọi người nhìn thấy không?


1
không phải là câu trả lời trực tiếp, nhưng xem tất cả 5 phần của video này có thể giúp bạn hiểu rõ hơn về công nghệ youtube.com/watch?v=EN549g0GNgc#t=9m22
Stowelly

Câu trả lời:


25

Nếu bạn đang nói về từ rất mới bắt đầu, và lưu ý rằng rất ít game engine lớn được mã hoá từ đầu nữa, và lưu ý rằng đây là một ví dụ và không nhất thiết phải làm thế nào nó luôn hoạt động. . .

Kết xuất:

Bắt đầu bằng cách vẽ một hình khối phẳng. Thêm hiệu ứng ánh sáng cơ bản cho nó. Thêm một cách để di chuyển camera xung quanh. Bây giờ bạn có thể bay xung quanh một khối lập phương nhàm chán, lơ lửng trong một khoảng trống đen vô tận. Yay

Tiếp theo, bạn có thể muốn nhập một mô hình. Ít nhất, nghệ sĩ của bạn có thể tạo ra một mô hình demo (một ấm trà là truyền thống đáng ngạc nhiên), nhưng họ có thể có một mô hình trò chơi thực tế mà họ có thể trao cho bạn. Một lần nữa, bây giờ chúng ta vẫn gắn bó với bóng râm phẳng, vì vậy nó sẽ hiển thị trông giống như được tạo ra. . . tốt, không có chất thực tế, nhưng một loại lai giữa nhựa mờ và sứ. Điều này , nhưng không có ánh sáng tốt. Và chúng ta vẫn đang ở điểm hoàn toàn không di chuyển.

Ba bước chính tiếp theo có thể được thực hiện theo bất kỳ thứ tự nào.

  • Đầu tiên, bạn sẽ muốn địa hình. Hầu hết các trò chơi hiện đại phân chia kết xuất thành "hình học tĩnh" và "diễn viên", trong đó hình học tĩnh bao gồm những thứ không thay đổi (tường, mặt đất, cột đèn) và diễn viên bao gồm những thứ thay đổi (người chơi, xe cộ, cột đèn có thể phá hủy.) Khái niệm kết xuất cơ bản là giống nhau cho cả hai, có những tối ưu hóa bạn có thể làm cho hình học tĩnh mà bạn không thể làm cho các diễn viên. Bạn sẽ cần địa hình để các kỹ sư chơi trò chơi thực sự bắt đầu, vì vậy nếu họ đang chờ đợi bạn, đã đến lúc xử lý ít nhất là kết xuất địa hình cơ bản.

  • Thứ hai, bạn sẽ muốn kết cấu. Đây là một chủ đề lớn và rất có thể bạn sẽ đạt được một cột mốc quan trọng, sẽ làm một điều gì đó quan trọng hơn, sau đó quay lại với nó, lặp đi lặp lại. Pass đầu tiên của bạn có thể chỉ cần thêm họa tiết cho mô hình. Vượt qua thứ hai của bạn có thể thêm ánh sáng cải thiện và hành vi bề mặt. Vượt qua thứ ba của bạn có thể thêm bóng (tôi có thể điền vào toàn bộ phản hồi nói về bóng). Tùy thuộc vào loại trò chơi bạn đang làm, điều này có thể trở nên phức tạp tùy ý. Ở đâu đó ở đây bạn cũng có thể chuyển toàn bộ công cụ trò chơi của mình sang kết xuất hoãn lại.

  • Thứ ba, bạn sẽ muốn hoạt hình. Các nhà làm phim hoạt hình của bạn (giả sử bạn không sống vào năm 1995) sẽ thiết lập các giàn hoạt hình cho các mô hình của họ, bao gồm các xương chạy qua mô hình và thông tin về cách xương di chuyển trong một số hoạt hình nhất định. Bạn có thể sẽ bắt đầu với khả năng chơi hoạt hình theo yêu cầu, sau đó thêm khả năng kết hợp hoạt hình với nhau.

Khi tất cả đã xong, đã đến lúc làm việc với khả năng tương thích. Nếu bạn đang làm việc trên một trò chơi AAA thì bạn có một số cách để kiểm tra mã của mình trên nhiều loại phần cứng khác nhau - có thể đó là kênh, có thể bạn ký hợp đồng với một công ty thử nghiệm, bất cứ điều gì. Rất nhiều mã của bạn sẽ bị hỏng trên các card đồ họa cụ thể hoặc các phiên bản trình điều khiển cụ thể và bạn có thể sửa nhiều nhất có thể.

Đây cũng là lúc để xem xét tối ưu hóa. Kết xuất là một vấn đề lớn, tốc độ lớn, vì vậy bây giờ bạn phải tìm ra cách khai thác phần cứng ở mức sâu nhất để chạy nhanh nhất có thể. Nếu bạn nghĩ rằng điều này có thể mâu thuẫn với "khả năng tương thích", bạn đã đúng! Nó hoàn toàn làm được! Các tối ưu hóa tốt nhất, bạn sẽ tìm thấy, sẽ hoàn toàn không hoạt động trên một số thẻ. Bạn có thể cân bằng tất cả các yếu tố này.

Trong khoảng thời gian này, các nghệ sĩ của bạn sẽ yêu cầu các công cụ kết cấu mới hoặc các tính năng hoạt hình mới và các nhà thiết kế cấp độ của bạn sẽ muốn các kỹ thuật kết xuất địa hình mới. Quay trở lại "ba bước chính tiếp theo có thể được thực hiện theo bất kỳ thứ tự nào" và lặp lại cho đến khi trò chơi hoàn thành.

Trò chơi:

Tôi sẽ bỏ qua những phần không đáng chú ý về mặt thị giác. Đầu tiên, bạn phải đợi cho đến khi kết xuất địa hình, mặc dù có rất nhiều thứ phụ trợ bạn có thể làm cho đến lúc đó.

Khi bạn đã có được điều đó, bạn sẽ thiết lập một số va chạm cơ bản. Điều này có thể sẽ có hình thức bay đến một vị trí trong trò chơi sau đó nhấn nút thả một khối lập phương. Khối lập phương rơi xuống đất. Khi khối lập phương hạ cánh đều đặn, bạn có thể bắt đầu thiết lập chuyển động của người chơi, do đó bạn có thể chạy vòng quanh thế giới giống như cách người chơi thực hiện.

Khi bạn đã làm việc với vật lý chuyển động cơ bản, bạn sẽ tham gia vào một trong những phân đoạn "chúng có thể được thực hiện đồng thời":

  • Chiến đấu cần phải được thực hiện. Bạn cần những thứ có thể bắn mọi thứ vào mọi thứ, và tất cả những thứ đó cần phải cư xử phù hợp.

  • Vật lý cần phải được thực hiện. Bạn đã có va chạm làm việc, nhưng va chạm chỉ là một phần nhỏ của vật lý. Khi ai đó lái một chiếc xe jeep ra khỏi xe tăng, mọi thứ cần phải cư xử thô bạo như dự định.

  • Cơ học trò chơi cần được thực hiện. Làm thế nào để bạn biết khi nào bạn thắng hay thua? Làm thế nào thường làm mọi thứ sinh sản, và những gì kiểm soát điều đó? Nếu Cộng sản chinh phục một điểm sinh sản, tại sao nó cứ sinh ra xe Anarchist? Đó là loại điều.

Tất cả những điều này có thể mất, một lần nữa, thời gian tùy ý, dựa trên số lượng công cụ mà các nhà thiết kế của bạn muốn bạn làm. Bạn cũng sẽ dành rất nhiều thời gian để theo dõi các lỗi ("này, hãy nhìn xem điều gì sẽ xảy ra khi tôi lái xe tăng lên cánh của máy bay chiến đấu phản lực này"). Lưu ý rằng rất nhiều điều này sẽ xảy ra với một thế giới không có kết cấu, hoặc với các mô hình chạy xung quanh trong vị trí giàn nhân vật , hoặc với các xe tăng chỉ là những hộp lớn có chữ "TANK" được phun một cách vụng về.

UI:

UI thực sự có thể bắt đầu trước khi mã kết xuất chính đi vào, vì kết xuất UI và thế giới trò chơi có xu hướng sử dụng các loại mã hoàn toàn khác nhau. Thay vì bắt đầu với một khối, bạn sẽ bắt đầu với một hộp, sau đó thêm họa tiết vào hộp, sau đó thêm văn bản vào hộp.

Tại thời điểm này, cuộc sống của bạn được dành để cố gắng có đủ thời gian để viết các vật dụng đa năng, trong khi vẫn dành đủ thời gian UI để các nhà thiết kế và nhà phát triển cơ chế trò chơi có thể thử nghiệm trò chơi trong một ngữ nghĩa mơ hồ của chủ nghĩa hiện thực. Tại một số điểm, các nghệ sĩ UI của bạn sẽ có được cảm giác nhất quán về UI và sau đó bạn sẽ bắt đầu làm việc với các yếu tố UI đã hoàn thành, đồng thời kiểm tra các yếu tố UI đó trên các trình phát thực tế để đảm bảo rằng chúng có thể hiểu và có thể sử dụng được.

Tôi có thể nói thêm về những điều này khi cần, nhưng nó sẽ biến thành một megaresponse nếu tôi làm vậy, vì vậy bây giờ, tôi sẽ không :)


4
Tuyệt vời .. cảm ơn bạn đã dành thời gian và cái nhìn sâu sắc hấp dẫn!
Djave

If the Communists conquer a spawn point, why does it keep spawning Anarchist vehicles?Làm việc trên một trò chơi về Nội chiến Tây Ban Nha?
Peter Taylor

1
Không tệ, nhưng bài viết của bạn chỉ áp dụng cho các trò chơi cơ bản, không phải trò chơi AAA. Bây giờ một ngày kỹ thuật chỉ là một nửa trận chiến, công cụ là khác. Chỉ cần nhìn xung quanh UDK và bạn sẽ thấy có bao nhiêu chức năng khác nhau được đưa vào nó.
Peter lsted

1
Ngoài ra, khái niệm đơn giản về kết cấu và đổ bóng ngày nay rất nhiều iffy với việc sử dụng khuếch tán, đặc tả, môi trường & emisive (trong số những người khác). Chỉ cần nhìn vào cách vật liệu được tạo ra bây giờ một ngày. udk.com/elements/img/galleries/features-shaders-hero.jpg
Peter lsted

1
Đây là một phản ứng tuyệt vời.
jcora
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.