Đã nhiều năm kể từ khi tôi chơi gamedev nhưng trên đầu câu trả lời hay, có một số điều tôi muốn thêm và chi tiết.
Đầu tiên đã được đề cập là đầu ra chỉ là hình ảnh và thính giác chống lại các ràng buộc "quan trọng FPS" chặt chẽ và ngân sách tính toán / bộ nhớ. Ý tưởng về sự chính xác trở nên mờ nhạt khi các câu hỏi giống như, "Nó có tốt không? Nó có chạy trơn tru mà không có bất kỳ sự lắp đặt nào không? Nghe có tuyệt không?" trong khi các nhà phát triển đang điều chỉnh và điều chỉnh và xấp xỉ trong khi sự hợp tác của nhà thiết kế / nhà phát triển dẫn đến mọi thứ trông và âm thanh hơi khác nhau với mỗi lần lặp nhanh.
Một số khác là những người thử nghiệm có thể là tuyệt vời! Tôi chưa bao giờ tìm thấy một nhóm người thử nghiệm chuyên dụng hơn trong bất kỳ miền nào khác, vì họ muốnđể kiểm tra phần mềm. Họ đang vui vẻ. Họ nghiện và ngủ cạnh máy tính trong khi khám phá mọi ngóc ngách trong trò chơi của bạn. Nó trở nên khá dễ dàng để khám phá ngay cả những trục trặc khó hiểu nhất khi mọi người thực sự được giải trí kiểm tra kỹ lưỡng mọi góc cạnh của phần mềm trong khi thực tế nghiện nó. Trong ngành công nghiệp hiện tại của tôi, những người thử nghiệm khó làm việc hơn một chút vì nhiều người trong số họ là những chuyên gia buộc kế sinh nhai của họ vào phần mềm, và vì vậy họ dựa vào một số tính năng để hoàn thành công việc của họ và không nhất thiết phải quan tâm đến việc cạn kiệt mọi ngóc ngách mọi lúc. Đương nhiên khi chúng ta không thể phụ thuộc quá nhiều vào người thử nghiệm, chúng ta cần thử nghiệm tự động hơn.
Một điều nữa là cơ sở mã cho một trò chơi thường không được duy trì và sửa đổi và mở rộng trong nhiều năm. Nó không giống như các nhà phát triển của Super Mario, người đầu tiên phát triển nó trong phiên bản 6502 đã phải duy trì bất cứ thứ gì giống với mã gốc đó rất lâu sau khi trò chơi xuất xưởng. Doom 3 có thể sử dụng các dòng mã bằng 0 (hoặc đóng) từ Doom 1. Nếu có nhượng quyền tiếp tục, các trò chơi mới giống như "phần tiếp theo" hơn là "nâng cấp". Hầu hết các trò chơi chỉ xuất xưởng và có thể phát hành một số bản vá, DLC, và sau đó mã được thực hiện. Đó là một sự tương phản lớn với ngành VFX của tôi, nơi tôi đã làm việc để duy trì mã có từ thời Amiga đã được chuyển và duy trì trong nhiều thập kỷ. Trò chơi thường không '
Một trong những lý do cho tính chất tồn tại ngắn này của các cơ sở mã trò chơi là chúng quá gắn liền với phần cứng. Khi được kết hợp với tính chất tiên tiến và các yêu cầu quan trọng của FPS, chúng thường không thể được phát triển theo cách trừu tượng hóa các chi tiết phần cứng, thậm chí không đóng. Chúng thường được viết rất đặc biệt cho thế hệ phần cứng mục tiêu và thường không lâu sau đó PS3 sẽ được thay thế bằng PS4, sau đó trở nên lỗi thời và được thay thế bằng PS5, v.v. Các khả năng phần cứng đóng một vai trò quan trọng trong thiết kế và phát triển trò chơi, nói chung không đáng để cố gắng duy trì nhiều mã được viết cho PSX như cho PS4, ví dụ: Hầu hết các nhượng quyền trò chơi kéo dài qua các thế hệ vẫn viết động cơ thế hệ tiếp theo của họ phần lớn từ nền tảng cho phần cứng mới nhất.
Với một cơ sở mã hóa ngắn có thời gian bảo trì hạn chế (nghĩa là thời gian giới hạn mà mã phải được sửa đổi). Với thời gian giới hạn để thay đổi mã không kéo dài nhiều năm với phạm vi động cơ ngày càng lớn hơn với mỗi lần nâng cấp, và kết hợp với thực tế là các trò chơi không ở gần với nhiệm vụ quan trọng, không hoàn toàn như vậy cần thiết để áp dụng các đơn vị toàn diện nhất và thử nghiệm tích hợp. Không có lợi ích gì trong việc đảm bảo tính toàn vẹn của các thay đổi trong tương lai nếu những thay đổi trong tương lai sẽ không được thực hiện và khía cạnh thử nghiệm và tái cấu trúc đơn vị của các cơ sở mã kế thừa đương nhiên không liên quan nếu không có "di sản" ở nơi đầu tiên.
Một điều nhỏ khác không phải lúc nào cũng phù hợp là một trò chơi chỉ có thể nhắm mục tiêu phạm vi phần cứng rất hẹp mà không có bất kỳ cổng máy tính để bàn nào. Trong những trường hợp đó, một nguồn lớn các trục trặc khó lường trong các bối cảnh này, đó là người dùng chạy phần mềm với phần cứng và trình điều khiển hoàn toàn khác nhau, đã bị loại bỏ.
Điều đó nói rằng, thử nghiệm tích hợp ở mức cao nhất / thô nhất có xu hướng hữu ích hơn ngay lập tức. Ví dụ: nhiều trò chơi có thể sử dụng một cách để ghi lại trạng thái trò chơi thay đổi theo thời gian cho "phát lại". Các tính năng phát lại như vậy có thể đảm bảo rằng trò chơi có tính quyết định và cũng được sử dụng như một hình thức của một công cụ kiểm tra để tự mình phát lại phiên trò chơi được ghi lại bởi người khác.
Tôi cũng đã gặp các game thủ làm việc trong các studio nhỏ, những người đã làm những việc như viết bot cho trò chơi của họ và cho các bot chơi trò chơi của họ ở tốc độ tối đa và chạy mô phỏng đó, ban đầu gặp phải một sự cố khó hiểu sau một hoặc hai ngày, sau đó sửa nó, sau đó sửa nó chạy lại mô phỏng và lặp đi lặp lại cho đến khi không còn sự cố dừng hiển thị nào nữa ngay cả sau khi chạy nó trong nhiều tuần liền. Vì vậy, có những cách tiếp cận thực tế thú vị như tôi đã thấy từ các game thủ để thử nghiệm phần mềm của họ, nhưng thường theo cách giống với mức độ thử nghiệm tích hợp thô nhất và mô phỏng mọi thứ rất gần với cách người chơi thực sự tương tác với trò chơi.
Cuối cùng, các công cụ trò chơi AAA lớn này đang bắt đầu giống với một loại quái thú khác: sống lâu hơn, trừu tượng hóa thành công phần cứng tốt hơn một chút, với các cơ sở mã hóa lớn hơn và thời gian bảo trì dài hơn trong khi các trình soạn thảo cấp độ của chúng bắt đầu giống với môi trường phát triển toàn diện. Tôi tưởng tượng những động cơ lớn đó có thể sẽ yêu cầu quy trình thử nghiệm kỹ lưỡng hơn, đặc biệt nếu thời gian mã của chúng được duy trì mở rộng đáng kể. Vẫn còn rất nhiều hãng game không viết các công cụ trò chơi AAA khổng lồ: họ cấp phép cho họ hoặc phát triển một công cụ độc quyền nhỏ có phạm vi nhỏ hơn đáng kể và sẽ không được duy trì trong nhiều năm.