top of page

Triệu hồi cây rìu Leviathan trong God of War

  • Writer: Hùng Vũ
    Hùng Vũ
  • Feb 17, 2019
  • 7 min read

Bài viết gốc "Recalling the Leviathan Axe" được đăng trên blog Combat Recall của một trong số các game designer của God of War. Dịch bởi Lê Hồng Phúc.

Sau khi dành ra nhiều năm làm việc với God of War, tôi đã cố gắng tìm ra thứ để làm trong khoảng thời gian rảnh rỗi đột ngột của mình. Trao đổi với một vài game designer trong dự án, tôi nghĩ có thể sẽ khá tuyệt để chỉ nói huyên thuyên về những thứ mà tôi đã làm trong 5 năm cuộc đời của mình. Vì vậy, bật mí là có khả năng sẽ không có điều gì đáng quan tâm hay hữu dụng với một vài người…


Với những điều đã nói ở trên, thứ đầu tiên mà tôi muốn nói tới ở đây là một thứ đã trở thành một cơ chế độc nhất và được đánh giá cao - đó là triệu hồi cho cây rìu Leviathan bay về sau khi ném nó đi. Đó cũng là một trong những bản thử nghiệm (prototype) sớm nhất của gameplay/combat mà chúng tôi phải giải quyết.

Mặc dù quay về năm 2015 hay thậm chí năm 2014, chúng tôi đã từng muốn làm điều này, chúng tôi vẫn đang hoàn thiện lại nó một vài tháng về trước. Đã mất một vài năm để chúng tôi điều chỉnh và nghịch thử với nó. Tôi xin được gửi lời cảm ơn đặc biệt tới George Mawle vì đã xử lý được một khối lượng lớn code khó về tính năng chỉ cho mỗi việc triệu hồi cây rìu Leviathan.


Tính năng cơ bản cực kì đơn giản - khi cây Leviathan bay tới và găm vào người đối phương, hoặc bị mắc kẹt đâu đó ở xung quanh, bạn có thể bấm vào nút tam giác trên tay cầm để triệu hồi trở lại.


Mục đích ban đầu chỉ đơn thuần là tính năng. Chúng tôi đã chắc rằng chúng tôi muốn nhân vật có thể đánh tầm xa, và trước khi cho cây Leviathan bắn ra một loại đạn nào đó, chúng tôi muốn xem thử liệu có thể sử dụng chính cây rìu để ném. Tấn công kẻ địch bằng một vật rắn hoặc to lớn thì sẽ gây ra cảm giác thỏa mãn hơn so với việc sử dụng hiệu ứng bắn đạn hay hiệu ứng hạt (particles).


Chúng tôi đã khá nhanh chóng nhận ra rằng ngoài việc tạo ra sự thỏa mãn về mặt tưởng tượng, cơ chế ném rìu này cũng đem đến những lợi ích mà chính chúng tôi cũng chưa dự đoán được. Một trong những điều đầu tiên mà chúng tôi nhận ra đó chính là đánh vào đối phương lúc rìu quay lại là một điều cơ bản bắt buộc. Nó không đơn thuần chỉ là điều mà bạn cảm nhận được bằng trực giác, đó là điều gây ra sự thỏa mãn cả lúc làm có chủ ý và cả lúc vô tình xảy ra.

Tính năng đầu tiên trong số những tính năng nhỏ mà chúng tôi thêm vào, đó chính là việc điều chỉnh đường bay trở lại của cây rìu để nó có thể di chuyển qua kẻ địch nhằm đảm bảo rằng nó sẽ đâm thẳng vào đối phương. Chúng tôi sử dụng một góc nhìn khá hẹp để xác định thời điểm khi mà cây rìu làm điều đó. (Mặc dù có một cái chuôi đặc biệt của cây rìu ở cuối game, có khả năng tự động tìm kiếm kẻ địch lên tới 180 độ).

Chuyển động

Chuyển động của việc gọi cây rìu lại thật ra đã đi qua một vài phiên bản. Phiên bản đầu tiên yêu cầu người chơi phải đứng yên khi cây rìu bay trở lại. Và chuyển động này phù hợp hơn với nhân vật god of war cũ ở cách tiếp cận cường điệu, thu hút sự chú ý (tay ở trên không trung), và hướng mặt hoàn toàn về phía trước.

Sau khi chúng tôi tiếp tục thêm những chuyển động khác có thể cho phép khả năng tự do dò tìm, chặn đòn đánh hoặc tránh né, chúng tôi chỉnh sửa lại về mặt thẩm mỹ cho các chuyển động thêm một chút nữa. Điều đầu tiên mà chúng tôi đã làm đó chính là tạo cho chuyển động trở nên hợp lý hơn, ít căng thẳng hơn bằng cách hạ cánh tay của nhân vật xuống. Điều thứ 2 mà chúng tôi đã làm đó là xoay Kratos về hướng camera, để nhân vật có thể diễn hoạt trong camera nhiều hơn một chút, vì vậy người chơi có thể nhìn thấy nhiều hơn phần ngực hay phần thân trên của cơ thể, không chỉ mỗi phần lưng của nhân vật. Chúng tôi cũng nhấn mạnh cả thời điểm gọi lại ban đầu và thời điểm bắt lại rìu bằng một vài khung hình đặc biệt và 0 tween. Chúng tôi muốn thời điểm bắt đầu bay lại có cảm giác có trọng lượng hơn, và mạnh mẽ hơn. Với thời điểm bắt lại rìu, chúng tôi muốn đảm bảo được cảm giác mạnh mẽ, nhưng vẫn phải rất cẩn thận để không tạo ra cảm giác Kratos không thể giữ được thanh Leviathan hoặc cây rìu quá nặng so với hắn. Chúng tôi phải đạt được một sự cân bằng cụ thể để tạo ra cảm giác lúc bắt được rìu là bình thường, như việc nó luôn được làm mọi lúc, nhưng vẫn có đà chuyển động vì thế người chơi có thể cảm nhận được tốc độ của thanh Leviathan.


Thời gian triệu hồi

Chúng tôi đã dành rất nhiều thời gian điều chỉnh đường bay và căn thời gian quay lại của cây rìu. Ban đầu chúng tôi đơn giản chỉ đặt giá trị gia tốc/giá trị tốc độ tối đa và đưa chiếc Leviathan quay trở lại trên một đường thẳng tới tay của Kratos. Điều này lại gây ra vấn đề với những lý do như:

  • Càng đứng xa Leviathan thì thời gian quay lại của Leviathan càng trở nên dài hơn. Điều này cực kì khó chịu trong combat.

  • Việc chạy trên đường thẳng của cây rìu sẽ khiến bạn khó có thể nhìn thấy được nó.

Thành thật mà nói thì cho cây rìu bay theo đường thẳng tuyến tính không được tốt lắm. Sau nhiều lần nghịch thử cùng với George, chúng tôi đã tạo ra một đường cong đẹp từ vị trí thu hồi lại cây Leviathan cho đến vị trí tay cầm. Điều này tăng khả năng bạn có thể thấy được cây Leviathan khi nó bay lại, và trông đẹp hơn. Có một vài thủ thuật nhỏ đã được lồng ghép vào để cây Leviathan xoay về gọn gàng hơn. Cây rìu xoay vòng một cách chính xác chỉ một vài giây cuối cùng trước khi bay vào tay của Kratos, thay vì cố gắng làm cho cây Leviathan xoay trên đường bay, làm cho nó trở nên lộn xộn và khó kiểm soát.

Về vấn đề tốc độ, cuối cùng chúng tôi đã đi đến với ý tưởng tăng tốc trực tiếp cho cây rìu, ngoài tốc độ/gia tốc có sẵn. Điều này đảm bảo rằng nếu cây Leviathan ở gần với vị trí bạn đang đứng, nó sẽ lùi lại nhanh hơn một chút nhưng tất nhiên vẫn có thể nhìn thấy được. Tuy nhiên nếu như khoảng cách/tốc độ bay kéo dài hơn 1.5s, chúng tôi sẽ chỉ tăng tốc độ tới một mức cần thiết. Nó sẽ cho phép chúng tôi dễ dàng điều khiển thời gian khả thi nhất mà người chơi sẽ dành ra để chờ cây Leviathan bay về.


Hiệu ứng rung lắc

Một trong những cơ chế tinh vi (và khét tiếng nhất vì mất quá nhiều thời gian trong quá trình phát triển) đó chính là hiệu ứng rung lắc của cây rìu trước khi nó xé toạc cơ thể của kẻ địch hoặc một bức tường. Chúng tôi muốn cây rìu tạo ra cảm giác như nó thật sự bửa vào mặt phẳng. Để làm được điều đó, chúng tôi đã tạo ra một cơ chế rung lắc mà xảy ra trong vòng 0.1s đầu tiên trước khi nó bắt đầu bay trở lại. Khoảng thời gian này vốn dĩ dài hơn rất nhiều, nhưng chúng tôi bắt đầu nhận được những phàn nàn rằng cây Leviathan mất quá nhiều thời gian để quay về. Và thật kì lạ, nó không thật sự là vấn đề nếu chúng tôi tăng tốc cây rìu lúc quay lại để bù đắp bởi vì chính đoạn trễ được thêm vào trước khi di chuyển mới tạo nên cảm giác dài hơn. Vài người còn nghĩ rằng chính input của họ đã tạo ra độ trễ này.


Đánh bóng và trình bày

Ngoài làm chuyển động cho quá trình thu hồi cây Leviathan, chúng tôi cũng thêm vào một vài thứ nhỏ nhặt để làm cho nó trau chuốt hơn. Như với âm thanh, chúng tôi đã gắn nguồn phát vào cây Leviathan để bạn có thể thật sự nghe thấy tiếng nó đang đến càng lúc càng gần hơn. Tiếng động từ nguồn phát này đi liền với tốc độ xoay của cây Leviathan. Và thật ra, có tới 3 tiếng nổ riêng biệt được sử dụng lúc thu hồi lại rìu - một lần cho giai đoạn kích hoạt, một cho lúc bay và còn lại cho lúc bắt được rìu. (Note: Tôi đã thật sự nghĩ tới việc viết một bài chỉ dành riêng cho những tiếng nổ này, vì tôi khá bị ám ảnh bởi chúng!). Cuối cùng là một chút rung camera để làm cho mọi thứ trở nên thật mạnh mẽ.


Mặc dù mất rất nhiều công sức để làm, cơ chế này có thể là điều mà tôi cảm thấy tự hào nhất trong game. Tất nhiên chúng tôi cũng lấy một vài nguồn cảm hứng từ một vài nhân vật trong Marvel, nhưng đứng từ góc độ gameplay, tôi cảm thấy điều đó thật sự đã mở ra nhiều cánh cửa mà chúng tôi chưa từng mong đợi.

Comentarii


Like ViNa Ludens trên Facebook

© 2018 ViNa Ludens. All Rights Reserved.

Background & Header by freepik.com

Muốn hợp tác cùng ViNa Ludens? Liên hệ với chúng tôi tại Fanpage hoặc địa chỉ email alex.vu@vinaludens.com

bottom of page