Game

Tại sao (và làm thế nào) bạn nên bỏ Unity và Unreal để tạo engine riêng của bạn

Rất nhiều lần, bạn sẽ nhìn thấy màn hình chờ của Unreal Engine hoặc "Made with Unity" khi khởi động một trò chơi, đó là hai trong những engine game phổ biến nhất hiện nay. Đây là những engine mạnh mẽ và đã thành thạo, nhưng chúng không phải lúc nào cũng là lựa chọn tốt nhất cho các nhà phát triển độc lập, theo lời khuyên của nhà phát triển lâu năm Rez Graham. Trong buổi diễn thuyết GDC 2024 mang tựa đề "Một Trường hợp Cho Việc Tạo Engine Game Của Bạn", anh ta đã ủng hộ việc xây dựng trò chơi thông qua các framework và thư viện riêng—các công cụ hiện tại mang lại một số ưu điểm lớn, và thú thực mà nhận thấy cũng có một số nhược điểm mà các nhà phát triển cần nhận thức.

Graham đã tự chế tạo trò chơi độc lập dưới BleachKitty sau công việc tại Electronic Arts trên loạt trò chơi The Sims. Từ quan điểm và kinh nghiệm của mình, engine game phổ biến nhất không phải lúc nào cũng là phù hợp nhất cho việc phát triển, và thực sự phụ thuộc vào mục tiêu và loại trò chơi mà bạn muốn tạo. Điều đó là hợp lý trên giấy, nhưng anh ta đã liệt kê một số yếu tố cần xem xét khi quyết định liệu có nên xây dựng công nghệ riêng của mình hay làm việc với engine hiện có.

Phí cấp phép để sử dụng engine của bên thứ ba vĩnh viễn sẽ tăng lên, và Graham khẳng định, "Nó thường tiết kiệm chi phí trong dài hạn. Tôi nghi ngờ rằng không ai trong phòng này đang làm một trò chơi và họ nói, 'Ok, tuyệt vời. Đã xong, bây giờ tôi sẽ trở thành một người nông dân một thời gian.'" Ý nghĩa của điều này là bạn sẽ sử dụng công nghệ của mình cho các dự án sau này cũng, và đó không chỉ là một khoản đầu tư một lần. Việc kiểm soát toàn bộ engine và cách sử dụng nó là quan trọng đối với Graham, và anh tiếp tục, "Nó tiết kiệm chi phí trong dài hạn vì bạn đang đầu tư cho công ty của mình, cho công nghệ của mình, cho thế giới của mình. Bạn tạo ra thứ bạn muốn và không thứ khác. Vì vậy điều đó cực kỳ quan trọng, cực kỳ mạnh mẽ."

Tư duy cơ bản

Ý tưởng là bạn sẽ có một nền tảng đặc biệt tốt để tạo ra loại thứ bạn muốn tạo, như Graham nói, "Bạn có thể nói [ví dụ], loại trò chơi mà tôi đang tạo là loại trò chơi roguelike. Vì vậy tôi sẽ sử dụng framework này và sau đó tôi sẽ xây dựng lên trên đó với các hệ thống cụ thể mà tôi cần để giúp tôi tạo ra roguelike một cách dễ dàng." Tuy nhiên, quá trình xây dựng engine và phát triển nên chồng chéo, mà anh ấy đề xuất, "Tôi không nói, hãy bắt đầu bằng việc dành hai năm xây dựng một engine. Điều bạn làm thay vào đó là xây dựng công nghệ của riêng bạn. Bạn tạo trò chơi của mình và bạn trích xuất các thứ cần thiết ra khi cần."

Trong việc sử dụng các framework liên kết, Graham đã đưa ra một ví dụ về ý nghĩa thực tế của nó—sử dụng SDL cho OS, rendering, âm thanh và nhập liệu vì nó nổi tiếng (SFML cũng hoạt động tốt), sau đó sử dụng Box2D cho vật lý, Tiled để chỉnh sửa cấp độ, Tinyxml để tải XML, và Sol/Lua. Anh ấy nhấn mạnh rằng có rất nhiều thư viện mã nguồn mở miễn phí để lựa chọn. Và với tất cả các framework này hoạt động hài hòa, bạn có thể tạo ra một cái gì đó hoạt động đặc biệt với bạn nơi bạn có toàn quyền kiểm soát và hiểu rõ hơn về một engine game nhẹ.

Một trong những nhược điểm mà anh ấy đề cập là việc sử dụng các loại framework như vậy thường đòi hỏi kiến thức về C++, và nói, "Ngay cả khi bạn thực sự không cần ai viết C++, điều đó có thể đòi hỏi kiến thức hoặc hiểu biết cấp độ thấp." Nhưng điều này làm cho quá trình sửa lỗi dễ dàng hơn với các công cụ này giúp bạn xác định vấn đề và sửa chữa nó thay vì lục lọi qua làn sóng thông báo lỗi tiềm ẩn từ engine Unreal hoặc Unity.

biểu đồ biểu hiệp các giải pháp engine khác nhau trên một trục

Dù bạn không cần lo lắng về phí cấp phép với công nghệ của riêng bạn, Graham công nhận rằng có một chi phí ban đầu cao hơn bởi vì việc xây dựng công nghệ của riêng mất thời gian. Trong một câu hỏi tiếp theo, anh ấy cũng nhận ra rằng việc chọn một cái gì đó như Unreal hoặc Unity là lựa chọn tốt nhất cho các trò chơi lớn hơn, và trỏ đến Cyberpunk 2077 là một ví dụ. Vì trò chơi đó được phát triển trên REDengine của CD Projekt Red, "Các nhà thiết kế đang làm việc trên một mục tiêu di chuyển. Engine đang liên tục được xây dựng khi các nhà thiết kế đang cố gắng tạo nội dung cho nó, vì vậy không thực sự tốt cho họ."

Một yếu tố khác mà Graham trỏ đến là "kiến thức tự động" khi bạn bắt đầu có người khác tham gia dự án của bạn. Bạn về cơ bản bỏ qua kiến thức thông thường mà các nhà phát triển khác có thể có về các engine game nổi tiếng hơn, điều đó có nghĩa là bạn cần tài liệu của riêng bạn và thường cần người biết về C++ ít nhất là ở mức cơ bản khi sử dụng các framework đã đề cập.

Dù Unreal và Unity có thể trở nên phổ biến như thế nào, anh ta trỏ đến một số trò chơi độc lập nổi tiếng đã được xây dựng trên công nghệ của riêng họ, bao gồm các trò chơi như Stardew Valley, Bastion, Darkest Dungeon, Shovel Knight, Into the Breach, và nhiều hơn nữa. Graham nhấn mạnh rằng việc xây dựng công nghệ riêng vẫn phụ thuộc vào loại trò chơi bạn muốn tạo.

Điểm cuối cùng mà Graham đề cập là trò chơi độc lập có thể đẩy ranh giới và thực hiện các thí nghiệm, đặc biệt là về sáng tạo kỹ thuật, với lời nói, "Epic đang thực hiện sáng tạo kỹ thuật của riêng mình, Unity cũng đang thực hiện sáng tạo kỹ thuật của riêng mình, nhưng họ cũng phải làm tất cả mọi thứ cho mọi người. Họ không thể đi quá xa khỏi con đường quen thuộc."

Anh ấy kết luận, "Có một số trò chơi độc lập rất thú vị hiện nay đã thực hiện các sáng tạo kỹ thuật thú vị... Khi bạn xây dựng công nghệ của mình, bạn có thể thực hiện một số điều điên rồ, và đó là những gì chúng ta đang thiếu."

Game Developer và Game Developers Conference là các tổ chức chị em dưới Informa Tech.

Related Articles

Back to top button Back to top button