MỤC LỤC
Điều này đòi hỏi tác giả phải xây dựng một hệ thống logic phức tạp và cung cấp các công cụ phát triển mạnh mẽ để tạo ra các nhiệm vụ và sự tương tác độc đáo. - Hệ thống tính cách: trò chơi sẽ có một danh sách tính cách được thiết kế trước, từ đó, các cá thể sinh ra sẽ có được một tính ngẫu nhiên trong danh sách đó, hoặc, được ảnh hưởng từ tính cách của cha và mẹ. Ví dụ như sinh vật A có tính cách háo chiến, trong tình huống A gặp một sinh vật nguy hiểm hơn, A vẫn sẽ có tỷ lệ giao đấu với sinh vật đấy.
- Tối ưu hóa hệ sinh thái: một trò chơi thế giới mở có quy mô tương đối lớn và số lượng thực thể sẽ có thể lên tới hàng chục, hàng trăm ngàn. Thế nên tác giả sẽ sử dụng các phương pháp đặc biệt để đảm bảo tính chân thật của hệ sinh thái nhưng không gây ảnh hưởng đến trải nghiệm và hiệu suất của trò chơi.
Tính cách sẽ cho cá thể đó các thuộc tính bất lợi cũng như có lợi. - Hệ thống hành vi/hệ sinh thái: các sinh vật sẽ luôn vận động chứ không giới hạn mỗi ở những khu vực mà người chơi đang có mặt. Tức là, dù cho người chơi không có mặt tại hiện trường, các sinh vật vẫn sẽ đi kiếm ăn, vẫn sẽ chiến đấu với các kẻ thù tự nhiên của mình.
Mỗi cá thế lại có rất nhiều chức năng cần phải xử lý, hình ảnh để hiển thị.
- Từ những tài nguyên tạo dựng/tìm kiếm, xây dựng thuật toán để dựng hoạt ảnh sử dụng phương pháp Procedural Animation. - Thiết kế các hệ thống chi tiết về độ hảo cảm, độ sinh tồn, tính cách cho các thực thể bên trong game.
Thời đại hiện nay khi mà công nghệ thông tin vô cùng phát triển, xã hội cần những người năng động, cầu thị trong việc tiếp thu và lựa chọn thông tin, học hỏi nhanh chóng, và đáp ứng nhu cầu linh hoạt và ngày càng nâng cao của thị trường lao động. Việc này về cơ bản không ảnh hưởng gì tới giá trị của một trò chơi cả, tuy nhiên nếu xét về việc phát triển một thế giới mở, việc một khu vực chỉ bắt đầu vận hành khi có bản thân người chơi xuất hiện sẽ khiến cho thế giới đó thiếu đi chiều sâu. Để có thể tăng thêm chiều sâu cho thế giới game mà người chơi trải nghiệm, em đã triển khai một giải pháp để giúp cho các loài trong trò chơi có thể tự sinh tồn, phát triển quần thể sao cho ngày một mạnh mẽ hơn mà không cần phải phụ thuộc vào sự tồn tại của nhân vật chính là người chơi.
Giữa các thực thể với nhau sẽ có các mối quan hệ khác nhau, người chơi sẽ có nhiều hơn một phương thức để tiếp cận một sinh vật bất kỳ trong trò chơi, các đối tượng khác ngoài nhân vật chính cũng không chỉ chăm chăm vào việc tấn công người chơi nữa. Các phương pháp tạo màn chơi tự động không chỉ có lợi về mặt phát triển (tiết kiệm thời gian, giảm số lượng tài nguyên cần thiết,…) mà còn nâng cao trải nghiệm của người chơi ở một số thể loại nhất định yêu cầu sự thay đổi trong quá trình chơi. Sau các công đoạn xác định quy tắc, thử nghiệm và tìm ra được các giá trị phù hợp để có thể tạo ra màn chơi như ý muốn, chúng ta cần phải tạo dữ liệu hòng giúp game có thể đọc được các giá trị đó và tạo ra màn chơi ở các lần chạy sau.
Trong quá trình tìm hiểu về các ứng dụng của công nghệ này ở lĩnh vực trò chơi điện tử, tác giả nhận thấy Neural Network thường được sử dụng cho Reinforcement Learning, với mục đích tạo ra các AI có thể tự động luyện để tự chơi và tìm ra giải pháp phá đảo game với tốc độ cao nhất.
- Bằng cách giảm số lượng Poly cần thiết cho mỗi mô hình lại, ta sẽ có thể giảm thiểu được số bước cần thiết trong quá trình render của trò chơi. - Hơn hết, ta cũng có thể giảm thiểu khối lượng dung lượng cho từng mô hình. - Đi song với việc giảm lượng Poly, tác giả còn phải chú ý đến số lượng Triangle mỗi Mesh sở hữu.
- Về cơ bản, đây là kỹ thuật chỉ cấp phát dung lượng GPU để chạy các thực thể đang nằm trong phạm vi hoạt động của camera. - Tức là, những thực thể, sinh vật, môi trường nằm ngoài màn hình sẽ không hiển thị hình ảnh. - Tuy nhiên, để đảm bảo logic hoạt động của các loài sinh vật (theo tiêu chí đề ra là các sinh vật, thực thể sẽ luôn hoạt động dù không có sự hiện diện của người chơi), các thành phần như Vùng Va Chạm (collision), AI Behaviors (code-based) sẽ vẫn hoạt động song song chứ không bị tắt hay ngưng đi.
Ở đồ án này, một đối tượng sẽ có thể sử dụng hành vi tìm kiếm để: di chuyển đến mục tiêu được chỉ định để thu thập tài nguyên, theo dấu con đầu đàn, di chuyển đến các địa điểm đã được lưu trong trí nhớ,…. Để một đối tượng bắt đầu tìm kiếm đến mục tiêu chỉ định, ta chỉ cần tính toán phương hướng từ đối tượng đến mục tiêu chỉ định, từ đó cập nhật hướng di chuyển của đối tượng và nhân với vận tốc cá nhân. Có không ít các tựa game bỏ qua chi tiết này, dẫn đến việc chỉ cần người chơi đi vào phạm vi hoạt động của đối tượng đó, dù cho người chơi có đang đứng ở sau các vật cản khác đi chăng nữa.
- Khi đối tượng truy đuổi đến được vị trí xác định và không tìm thấy mục tiêu để cập nhật tọa độ truy bắt mới, đối tượng sẽ bắt đầu truy vết, di chuyển xung quanh để tìm mục tiêu một thời gian cho tới khi bỏ cuộc và quay lại công việc chính. Công việc, hoạt động ở đây có thể được cụ thể hóa như là việc đi kiếm lương thực, đi khảo sát khu vực, đi săn, giao phối,… Với mục tiêu là mô phỏng lại một hệ sinh thái chân thật ở thế giới trò chơi, tác giả đã bắt đầu nghiên cứu và tìm ra giải pháp cho bài toàn này. Để đảm bảo các đối tượng thuộc các quần thể khi sinh ra sẽ không bị chết đói vì thiếu thức ăn, tác giả đã tính toán và thiết kế sao cho tổ sinh ra sẽ có sẵn một số nguồn lương thực đáp ứng được số lượng tối thiểu mà một bầy cần.
Một nguồn tài nguyên lương thực sẽ có Min và Max số lượng quả mà chúng có thể tạo ra ở mỗi nguồn, đồng thời, giá trị hồi từng quả sẽ được chia đều dựa trên tổng thời gian cần thiết để hồi toàn bộ cây. Bởi vì việc đi khám phá cần thiết nhất là tốc độ di chuyển, để đi nhanh hơn, đến được nhiều khu vực hơn cũng như là dễ chạy trốn hơn khi gặp những đối tượng nguy hiểm, nên con đầu đàn sẽ dẫn theo những cá thể có tốc độ di chuyển cao nhất. Khi về tới tổ, đối tượng đó sẽ kiểm tra lại công việc của mình, nếu như không có gì thay đổi, đối tượng đó sẽ tiếp tục đi thu thập tài nguyên cho đến khi có thông báo mới hoặc sự thay đổi về nhiệm vụ.
Về việc thu thập lương thực, ở một giai đoạn nào đó trong quá trình sinh tồn, sẽ có lúc toàn bộ các nguồn lương thực thuộc địa bàn của quần thể sẽ cạn kiệt, do sự gia tăng trong số lượng cá thể hoặc do tác nhân bên ngoài,… các đối tượng trong quần thể lúc này sẽ bắt đầu chọn các nguồn lương thực có điểm cao nhất trong một danh sách khác thuộc bộ nhớ của bầy để đi đến và thu thập. Chicpea thủ lĩnh lúc này sẽ điều phối các thành viên khác luôn lấy một trong các điểm đó làm mục tiêu, như thế, thay vì toàn bộ các đối tượng thuộc nhóm khám phá chỉ đi theo mỗi con đầu đàn dẫn đến việc tạo ra tuyến đi có phần tuyến tính, các Chicpea bây giờ sẽ di chuyển xoay quanh con đầu đàn, bảo vệ nó khỏi các nguy hiểm tiềm ẩn, cũng như khiến cho hành vi cũng tự nhiên và thú vị hơn. Trong trường hợp không tìm được đối tượng phù hợp và thời gian động dục đã kéo dài được một khoảng thời gian hợp lý, chúng sẽ bắt đầu không để tâm tới gu nữa, thay vào đó sẽ lựa chọn đối tượng dựa trên Hệ số làm việc.