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!
Nhận xét
Đăng nhận xét