Unreal Engine 5 - Sự bùng nổ của game dev

Ai trong chúng ta cũng đã từng chơi một trò chơi điện tử (video game) nào đó, dù đơn giản đến phức tạp thì không ít người đã từng tự hỏi rằng, không biết làm sao họ có thể làm được như vậy nhỉ? Câu hỏi đó cũng là điều tôi từng tự hỏi nhiều năm nay mà vẫn không có câu trả lời cụ thể hoặc vì rào cản của các ngôn ngữ lập trình mà tôi khó có thể tiếp cận được. Mong muốn được tự mình làm một trò chơi đơn giản (simple video game) quả thực chưa bao giờ mất đi đối với bản thân tôi. Tôi đã học và thực hành khá nhiều với đồ họa 3D, nhưng với game thì đó vẫn là một thứ gì đó xa xôi, khó với tới.

Sau một thời gian dài không dành sự quan tâm tới game dev nên tôi đã bỏ lỡ mất 1 cơ hội được làm việc với thứ thực sự tuyệt vời, là thứ mà đáng lẽ nếu tôi chịu khó dành chút thời gian tìm hiểu thì có lẽ sẽ thay đổi khá nhiều quan niệm về lập trình game (có lẽ dùng từ phát triển game thì đúng hơn) hay game development.


Hình minh họa cho Unreal Engine 5

Với một công cụ lập trình mới rất thú vị đó là BluePrint (visual scripting system) được phát triển từ Kismet của Unreal Engine 3 cho tới BluePrint của Unreal Engine 4 và bây giờ là Unreal Engine 5 (UE5). Từ dạng lập trình game bằng các dòng code C++, hiện nay chúng ta đã có thể tự làm ra một trò chơi điện tử (video game) đúng nghĩa mà không cần phải biết viết code C++, C# hay bất cứ một ngôn ngữ lập trình nào mà vẫn có thể làm được như mong muốn. Tuy nhiên việc có tư duy logic, hiểu các thuật toán, mạch suy nghĩ rõ ràng, cũng như trí tưởng tượng phong phú cũng vẫn là các yêu cầu cần thiết cho việc thực hành, xây dựng nội dung cũng như game mechanic (hiểu đơn giản là động cơ game) vẫn là không thể thiếu.

Epic Game quả thực đã tặng cho những người không có khả năng với lập trình code một công cụ tuyệt vời để có thể tự phát triển game theo năng lực của mình. Với BluePrint bạn có thể sử dụng trí tưởng tượng phong phú của mình để thỏa sức sáng tạo những game từ siêu nhỏ tới lớn theo mong muốn, nếu bạn có đủ quyết tâm và kiên trì.

 

Một số hình minh họa cho các bản thử nghiệm với UE5

            Từ những bước đầu rất khó khăn với BluePrint (BP) tôi dần nhận ra rằng việc làm game không còn là thứ bất khả thi nữa. Không những thế càng học sâu, tôi càng thấy cảm thấy sự thú vị, khả năng phong phú của BluePrint cũng như những lợi thế mà nó mang lại cho người không có khả năng viết code như tôi. Tuy có những hạn chế nhất định như: tốc độ biên dịch chậm ( vì BP là visual scripting nên để chạy được nó cần biên dịch thông qua máy ảo Virtual Mechine để thực thi) – nhưng dù sao với cấu hình máy tính (PC) mạnh như bây giờ thì điều đó cũng được giảm bớt rất nhiều; nhiều chức năng (function), cách gọi function phức tạp, cách liên kết chúng với nhau không đơn giản; sự thay đổi về cấu trúc lệnh hoặc thứ tự thực thi dễ bị lẫn khiến chúng hiểu sai trong quá trình biên dịch... Nhưng không vì thế mà làm lấp đi sự mạnh mẽ, cũng như việc BP dễ học, dễ hiểu đối với chúng ta.

            Về cơ bản BluePrint chính là các hàm của C++ được hình ảnh hóa bằng các Node Graph, do đó nó cũng thực hiện các chức năng y hệt các hàm của C++, với các dạng thông số đầu vào và trả kết quả theo quy ước của Unreal Engine. Việc tạo ra các Node Graph này là 1 cuộc cách mạng đối với UE 4 trở đi, nó giúp cho nhiều người không có khả năng viết code vẫn có thể thao tác và thực hiện các bước logic để tạo ra một video game. Việc này cũng phải nói là rất may mắn khi một người bạn thân của tôi đã nói cho tôi biết rằng chỉ với BluePrint, tôi cũng có thể làm game được, điều này tôi thực sự trân trọng!

            Một điểm cần chú ý một chút với những người có nhu cầu học BP của UE5 là nên có một kế hoạch cụ thể vì cái cần phải học sẽ rất nhiều và rộng lớn, đồng thời nên học thêm một chút về 3D Design để biết cách điều khiển vật thể, biết về: UVW, unwrap, setup Material... đặc biệt là Modeling (tạo hình) để sửa chữa vật thể cho UE vì cho tới hiện tại việc Modeling trong chính UE vẫn chưa được tối ưu tốt. Có thể học một trong số các DCC ( Digital Content Creator) như : 3DSMax, Blender, Houdini, Maya... để làm vốn cho việc học và làm việc với UE dễ dàng hơn. Ở đây có một thứ chúng ta sẽ rất hay gặp trong BP của UE chính là Vector, do đó cũng nên học kỹ lại một chút về toán vector, vì vector là cơ sở cho việc tính toán tọa độ các loại đối tượng trong UE.



Minh họa về các dạng BluePrint cơ bản và cách nối Node Graph trong 1 BluePrint.

            Trên đây là đôi điều chia sẻ về Unreal Engine 5, nếu các bạn tìm thấy blog này, có nhu cầu hoặc muốn cùng nghiên cứu, chia sẻ về phát triển game và các hướng đi mới cho đồ họa máy tính, hãy comment hoặc gửi email cho tôi. Biết đâu đấy lại có cơ hội để chúng ta cùng làm việc về game hoặc phát triển kỹ năng đồ họa trong tương lai. ^^

               Clip ngắn về project simple game tôi đang làm, có lẽ cũng sẽ giúp hình dung phần nào sức mạnh của UE5. Have fun!

https://www.youtube.com/watch?v=f1ZxvVin1Kk&list=PL1p6nJUOuvfJ5PKeod7TSXIqu1vYEqYtA&index=1&pp=gAQBiAQB

https://www.youtube.com/watch?v=TQsl6YXgcZc&list=PL1p6nJUOuvfJ5PKeod7TSXIqu1vYEqYtA&index=2&pp=gAQBiAQB

Nhận xét

Bài đăng phổ biến