Ngành công nghiệp game tiếp tục vật lộn với những thách thức cơ bản trong phát triển phần mềm mà các lĩnh vực công nghệ khác đã giải quyết từ nhiều năm trước. Các cuộc thảo luận gần đây giữa các nhà phát triển game đã làm nổi bật những vấn đề dai dẳng về chất lượng code, thực hành testing và văn hóa phát triển đang gây khó khăn cho cả những studio lớn.
Khoảng Cách Trong Testing Ở Ngành Phát Triển Game
Trong khi hầu hết các công ty công nghệ đã áp dụng các thực hành testing toàn diện và code review, ngành công nghiệp game vẫn tụt hậu đáng kể. Nhiều developer báo cáo rằng unit testing vẫn hầu như không tồn tại trong phát triển game, với một số người kỳ cựu cho biết họ chưa bao giờ gặp unit test đúng chuẩn trong suốt sự nghiệp của mình trong ngành. Điều này trái ngược hoàn toàn với các công ty công nghệ lớn nơi testing và code review là thực hành tiêu chuẩn mà không ai đặt câu hỏi.
Tình hình khác nhau tùy theo quy mô studio và giai đoạn dự án, nhưng mô hình này khá nhất quán. Các studio lớn hơn thường triển khai code review và continuous integration, với một số sử dụng automated testing và bot mô phỏng người chơi. Tuy nhiên, văn hóa cơ bản về đảm bảo chất lượng thông qua testing vẫn chưa bén rễ theo cách tương tự như trong các lĩnh vực phần mềm khác.
Thực hành phát triển game phổ biến so với phát triển phần mềm tiêu chuẩn:
- Code Reviews: Phổ biến trong các studio game so với Phổ quát trong các công ty công nghệ
- Unit Testing: Hiếm/không tồn tại trong game so với Thực hành tiêu chuẩn ở nơi khác
- Continuous Integration: Có sẵn trong các studio lớn hơn so với Áp dụng phổ quát
- Automated Testing: Giới hạn trong việc xác minh build so với Bộ test toàn diện
- Player Simulation: Một số studio sử dụng bot so với Không áp dụng trong các ngành khác
Tác Động Tàn Phá Của Văn Hóa Crunch
Văn hóa crunch khét tiếng trong phát triển game tạo ra một vòng luẩn quẩn của technical debt và việc đưa ra quyết định kém. Các studio double-A thường trở thành nạn nhân của những dự án quá tham vọng, nơi scope creep và thiếu hướng đi rõ ràng dẫn đến những tình huống bất khả thi. Khi deadline cận kề, các team phải đối mặt với lựa chọn tàn khốc: phát hành bất cứ thứ gì họ có hoặc từ bỏ nhiều năm làm việc hoàn toàn.
Môi trường áp lực này khiến việc duy trì tiêu chuẩn chất lượng code trở nên gần như bất khả thi. Các developer làm việc dưới áp lực thời gian cực độ tự nhiên ưu tiên việc làm cho các tính năng hoạt động hơn là viết code có thể bảo trì và được test tốt. Kết quả là một nền tảng kỹ thuật trở nên ngày càng không ổn định khi các dự án tiến triển.
Cái Bẫy Custom Engine
Việc xây dựng custom game engine đặt ra những thách thức độc đáo cho các studio nhỏ hơn thiếu tài nguyên của những gã khổng lồ trong ngành. Trong khi custom engine có thể cung cấp những lợi thế cụ thể cho một số loại game nhất định, chúng cũng đòi hỏi việc bảo trì và chuyên môn liên tục đáng kể mà nhiều team gặp khó khăn trong việc cung cấp một cách nhất quán.
Sự phức tạp của phát triển game hiện đại, từ mô phỏng vật lý đến rendering pipeline, có nghĩa là các bug ở cấp độ engine có thể có tác động lan tỏa trong toàn bộ dự án. Khi kết hợp với deadline gấp gáp và testing hạn chế, những thách thức kỹ thuật này có thể làm trật bánh cả những dự án đầy hứa hẹn.
Tôi nghĩ 'văn hóa crunch' trong gamedev sẽ luôn là nguyên nhân sụp đổ của nó. Đặc biệt là trong các studio double-A dường như kết thúc với những dự án quá tham vọng, nơi với scope creep và thiếu hướng đi, chi phí chìm trở nên quá lớn để có thể tránh xa.
Tác động của quy mô studio đến các thực hành phát triển:
- Studio lớn: Đánh giá mã nguồn là tiêu chuẩn, CI phổ biến, một số kiểm thử tự động
- Studio quy mô trung bình: Thực hành không đồng nhất, thường gặp khó khăn trong quản lý phạm vi dự án
- Studio nhỏ: Ít quy trình chính thức, gặp thách thức với engine tùy chỉnh
- Tất cả quy mô: Unit testing vẫn không phổ biến trong toàn ngành
Phá Vỡ Vòng Luẩn Quẩn
Một số developer cho rằng các thực hành kỹ thuật phần mềm truyền thống có thể không chuyển đổi trực tiếp sang phát triển game do tính chất sáng tạo và lặp đi lặp lại của công việc. Tuy nhiên, những vấn đề chất lượng dai dẳng cho thấy ngành này sẽ được hưởng lợi từ việc áp dụng các thực hành phát triển nghiêm ngặt hơn, ngay cả khi chúng cần được điều chỉnh cho bối cảnh gaming.
Thách thức nằm ở việc thay đổi văn hóa đã được thiết lập trong khi vẫn duy trì sự linh hoạt sáng tạo làm nên những game tuyệt vời. Các studio thành công trong việc cân bằng giữa sự nghiêm ngặt kỹ thuật với tự do sáng tạo thường tạo ra những trải nghiệm ổn định và thú vị hơn cho người chơi đồng thời tạo ra điều kiện làm việc tốt hơn cho các developer.
Tham khảo: PROBABLY DANCE
