Bề Ngoài Và Bản Chất Của Công Thức Số Liệu Trong Game
Cuối tuần, tôi thường thức khuya và dậy muộn hơn bình thường. Tổng thời gian ngủ dài hơn ngày thường nên đến tiết học đầu tiên của thứ Hai, tôi vẫn tỉnh táo như thường. Nhân lúc rảnh rỗi, tôi muốn chia sẻ vài suy nghĩ về thiết kế game, một lĩnh vực mà bản thân chưa có nhiều thành tựu như lập trình game. Thậm chí khi bàn luận về thiết kế game, tôi còn không bằng những người có thể trò chuyện thoải mái về phát triển phần mềm. Có thể ví tôi như người chỉ nhìn thấy bóng dáng heo chạy mà chưa từng nếm thịt heo, mong các bậc tiền bối đã “ngán ngẩm” thịt heo đừng chấp nhặt những chia sẻ này.
Ban đầu tôi dự định đưa ra vài ví dụ cụ thể khi viết bài này, nhưng phát hiện ra dù cố gắng thế nào cũng dễ làm phật lòng các đồng nghiệp làm策划 trong ngành. Thôi thì đành nói vài điều suông, như những lời than vãn của người làm số liệu game trong nửa tháng qua.
Từ việc thiết lập chỉ số cơ bản cho nhân vật đến xây dựng công thức tính sát thương chiến đấu, mọi vấn đề trong game đều là bài toán toán học. Câu nói này có thể chưa chuẩn xác hoàn toàn, nhưng không ai phủ nhận được rằng mọi vấn đề được máy tính giải quyết đều phải chuyển hóa thành dạng toán học. Dù công việc này do策划 viên hay lập trình viên đảm nhiệm, quá trình chuyển đổi này đều không tránh khỏi sự méo mó so với ý tưởng ban đầu. Khi策划 viên thiếu khả năng diễn đạt bằng ngôn ngữ toán học, sự chính xác sẽ bị đánh đổi. Ngược lại, lập trình viên quá cứng nhắc theo đuổi sự thống nhất về hình thức sẽ làm mất đi những chi tiết tinh tế.
Hãy cùng nhìn lại lịch sử toán học. Người Trung Quốc phát hiện định lý Pythagoras sớm hơn người Hy Lạp cổ đại, nhưng thế giới vẫn gọi đó là “Định lý Pythagoras”. Tam giác Yang Hui (Tam giác Pascal) quen thuộc với mọi lập trình viên, nhưng trong toán học phương Tây lại được gọi là “Định lý nhị thức Newton” dù người Trung Quốc phát hiện sớm hơn 300 năm. Khi so sánh hai ví dụ này, ta thấy sự khác biệt giữa bề ngoài và bản chất. Chỉ khi dùng phương pháp diễn dịch để chứng minh và hiểu sâu sắc các định lý toán học, chúng ta mới nắm bắt được bản chất và phát triển chúng. Khả năng trừu tượng hóa hiện tượng thành công cụ ký hiệu để nghiên cứu mối quan hệ nội tại vẫn là điểm yếu của nhiều người.
Khi còn nhỏ, tôi từng cười nhạo Pythagoras vì giết học trò khi không chấp nhận số vô tỉ, cũng coi thường việc phát hiện số âm của các nhà toán học châu Âu thế kỷ 16. Đến khi học về số phức, tôi mới thấu hiểu vẻ kỳ diệu của toán học. Khi tự hỏi “tại sao lấy số nhỏ trừ số lớn lại ra số âm?”, tôi mới hiểu sự vĩ đại của tiền nhân. Nhận ra bản chất toán học của sự vật khó khăn đến mức nào, và việc hiểu được mình chẳng hiểu gì cả mới chỉ là khởi đầu.
Quay lại chủ đề game, lấy World of Warcraft (sau đây gọi tắt là WoW) làm ví dụ là lựa chọn an toàn nhất. Trước WoW đã có nhiều game online, thậm chí Diablo phiên bản Battle.net của Blizzard cũng áp dụng cơ chế phân bổ điểm thuộc tính tự do khi lên cấp. Nhưng tại sao Blizzard lại từ bỏ cơ chế này, chuyển hướng cá nhân hóa sang hệ thống thiên phú? Có phải vì đổi mới? Là người ngoài, tôi không dám khẳng định, nhưng rõ ràng Blizzard không phải công ty theo đuổi sự đổi mới. Hệ thống thiên phú thực chất là sự phát triển từ cây kỹ năng trong Diablo.
Nhiều người cho rằng đây là quyết định vì cân bằng game, nhưng đó chỉ là bề ngoài. Khi thử nghiệm một game online mới đây, tôi nhận ra việc giữ lại cơ chế phân bổ điểm thuộc tính tự do trong bối cảnh game công thức hóa là vô nghĩa. Dù mang lại cảm giác tự do, nhưng số lượng tổ hợp hữu ích thực tế rất ít. Nếu hy vọng người chơi khám phá ra tổ hợp bất ngờ ngoài dự kiến, đó sẽ là thảm họa cho sự cân bằng.
Theo triết lý KISS (Keep It Simple, Stupid) của tôi, việc cho phép hàng trăm tổ hợp điểm thuộc tính là sai lầm. Nếu muốn có 10 cách cá nhân hóa, hãy tạo ra chúng trực tiếp bằng hệ thống đơn giản, thay vì cho phép hàng nghìn tổ hợp rồi để người chơi tự chọn. Trong MMO, độ tự do không phải để thử thách trí tuệ người chơi (thực ra nhiều khi chỉ cần sự kiên nhẫn máy móc).
Cùng xem xét hệ thống trang bị - di sản Blizzard để lại. Tại sao không ghi trực tiếp “+20 sức mạnh = +X sát thương” mà lại dùng hệ thống thuộc tính gián tiếp? Trong WoW, cùng chỉ số sức mạnh lại có hiệu quả khác nhau với các class. Điều này tạo ra sự khác biệt về hiệu quả trang bị giữa các nghề, nếu mỗi nghề đều có trang bị riêng thì hệ thống thuộc tính này trở nên thừa thãi.
Trong tranh luận với đồng nghiệp, tôi từng cho rằng mọi thứ trong thiết kế số liệu đều có thể biểu diễn bằng công thức toán học. Thay vì bận tâm ý nghĩa “sức mạnh”, “nội công” hay “ngoại công”, hãy tập trung vào mối quan hệ toán học thuần túy, sau đó mới gắn nhãn phù hợp. Việc dùng thuật ngữ quen thuộc như “pháp sư”, “chiến sĩ” giúp hình dung ban đầu, nhưng để đột phá, cần dám thoát khỏi cái bóng của các hệ thống tiền bối.
Hai tiếng đồng hồ trôi qua nhanh chóng. Bài viết này có lẽ chưa chạm đến trọng tâm, mong các bạn thông cảm. Nhân tiện, tối nay tôi vừa mua được bộ “Thuyết văn giải tự chú” giảm giá 50% ở chợ đêm. Nhà tôi vốn có một bản, là sách của cha để lại. Hồi học phổ thông lén đọc rồi làm mất, lần này gặp lại vui mừng mua ngay. Dù giá cả không còn như xưa nữa…