Showing posts with label Tài liệu. Show all posts
Showing posts with label Tài liệu. Show all posts

9/30/2014

AI 4 - Cài đặt Giác quan


  AI 4 - Cài đặt giác quan -

Đây là một chương ngắn về cách thực hiện hành vi AI sử dụng các khái niệm về một hệ thống cảm giác tương tự như những gì thực thể sống có. Như chúng ta đã thảo luận trước đó, một hệ thống nhân vật AI cần phải có nhận thức về môi trường, nhận thức các trường hợp trở ngại, nơi kẻ thù nó đang tìm kiếm, nếu đối phương có thể bị phát hiện trong tầm nhìn của người chơi, và những cái khác. Chất lượng trí tuệ nhân tạo của NPC của chúng ta hoàn toàn phụ thuộc vào thông tin mà nó có thể nhận được từ môi trường. Dựa trên thông tin đó, các nhân vật AI sẽ quyết định logic để thực hiện. Nếu không có đủ thông tin cho AI, nhân vật AI của chúng ta có thể có các hành vi kỳ lạ, chẳng hạn như việc lựa chọn địa điểm sai để hỗ trợ, ngủ, và vòng lặp hành động kỳ lạ, và không biết những gì để đưa ra quyết định thực hiện. Thử tìm kiếm "AI glitches" trên YouTube, và bạn sẽ tìm thấy một số hành vi hài hước của nhân vật AI ngay cả trong trò chơi AAA.

8/26/2014

AI 3.3 - Tính cách nhân vật



  3.3 - Tính cách nhân vật -

Chúng ta cũng có thể sử dụng xác suất khác nhau để tìm ra nét đặc sắc cho các nhân vật trong game. Hãy giả vờ như chúng ta đã thiết kế một bản kế hoạch cho một trò chơi quản lý dân số cho chính quyền địa phương. Chúng ta cần phải giải quyết và mô phỏng các vấn đề như thuế so với thu hút tài năng toàn cầu, nhập cư so với gắn kết xã hội, và như vậy. Chúng ta có ba lớp nhân vật trong bản kế hoạch của chúng ta, cụ thể là, công nhân, nhà khoa học và các chuyên gia.

7/25/2014

AI 3.2 - Định nghĩa xác suất



  3.2 - Định nghĩa Xác Suất -

Có rất nhiều cách để định nghĩa xác suất dựa trên các tình huống và ngữ cảnh. Thông thường khái niệm xác suất dùng để chỉ khả năng của một sự kiện xảy ra thành công. Xác suất của một sự kiện A xảy ra thường được viết như P (A). Để tính toán P (A), chúng ta cần phải biết số lần nó có thể xảy ra (n), và tổng số lần tất cả các sự kiện khác có thể có thể xảy ra (N).

7/15/2014

DEVGAME 1.8 - ĐẾM SỐ LƯỢNG NHẤP CHUỘT



Trong các game nhấp chuột phiêu lưu, sẽ có vài vật phẩm mà bạn phải nhặt nhiều lần để được qua cửa tiếp theo hoặc để hoàn thành nhiệm vụ nào đó. Bài viết này bạn sẽ phải thêm một biến đếm kiểu số nguyên-integer để đánh dấu số lần mà bạn đã nhấp chuột vào đối tượng.

B1. Tiếp tục với project chúng ta đã thực hiện ở các bài trước, tại thẻ Project nhấp đúp chuột vào file Js MousePick.

B2. Chèn đoạn code bên dưới vào đầu file script sau dòng code #pragma strict.

private var pickNum : int = 0;

Luật: Kể từ bài viết này, nếu chèn đoạn code vào đầu file script nghĩa là bạn sẽ phải hiểu là chèn nó vào bên dưới dòng code #pragma strict nhé.

B3. Chèn dòng code sau bên trên hàm Debug.Log:

pickNum = pickNum + 1; // increment the number of times the object was picked

Ghi chú: Bạn có thể chú thích công dụng của đoạn code vào phía sau dấu //, tất cả những kí tự phía sau // đều được trình biên dịch code bỏ qua và không thực hiện.

Bạn cũng có thể thay hàm Debug.Log thành hàm print để hiển thị ra console biến số.

B4. Xóa hàm Debug.Log đi và thay bằng đoạn code sau:

print("This object was picked " + pickNum + " times.");

B5. Lưu file script lại.

B6. Trở qua Unity Editor, save Scene này lại bằng cách ấn Ctrl + S và nhấp nút Play để kiểm tra thành quả.


Thông báo sẽ hiển thị mỗi khi bạn nhấp chuột vào khối hộp.


Ngoài ra, bạn có thể thay thế đoạn code pickNum = pickNum + 1 thành pickNum += 1 hay pickNum++ đều được, cả 3 đều cùng một chức năng là tăng biến pickNum lên 1 đơn vị. Kết quả đều giống hệt nhau.


7/03/2014

COOKBOOK - THAY ĐỔI BIỂU TƯỢNG CON TRỎ CHUỘT



Bài viết này mình sẽ hướng dẫn các bạn cách thay đổi hình dạng của con trỏ chuột trong game. Ngoài ra còn để biểu thị các chức năng khác nhau, như việc Phóng to - có thể thay thế con trỏ chuột thành hình kính lúp, Nhắm bắn - sử dụng con trỏ hình vòng tròn có tâm bắn...

AI 3.1 - XÁC SUẤT NGẪU NHIÊN



  3.1 - Xác Suất Ngẫu Nhiên -

Trong phần bài viết AI 3.* này, chúng ta sẽ cùng tìm hiểu cách vận dụng xác suất vào game. Người làm game thường thêm các yếu tố xác suất hoặc các mẫu hội thoại vào các nhân vật AI, điều đó khiến hệ thống trí tuệ nhân tạo không thể đoán trước được giúp người chơi cảm thấy thích thú hơn hay có thêm những kinh nghiệm thử thách khác nhau.

5/07/2014

DEVGAME 1.7 - IN THÔNG BÁO LÊN CONSOLE




Một cách cơ bản nhất để kiểm tra hàm có thực hiện hay không là in thông báo lên console để kiểm tra.

4/30/2014

COOKBOOK - HIỂN THỊ BIỂU TƯỢNG CÁC MÓN ĐỒ ĐƯỢC NHẶT




Có rất nhiều loại đồ vật mà người chơi có thể nhặt và lưu trữ trong suốt quá trình chơi game như chìa khóa, bình máu, những món đồ tăng điểm.... Một lớp PickUp tổng quát để thực hiện chức năng nhặt những món đồ sẽ rất hữu dụng, và sử dụng GUI để hiển thị biểu tượng của các món đồ có thể được thực hiện thông qua code C# là List < T > để liệt kê các đối tượng.

4/29/2014

AI 2.3 - FSM FRAMEWORK



  2.3 - FSM FRAMEWORK - Khuôn mẫu FSM

Trong bài viết cuối của AI 2, chúng ta sẽ tìm hiểu về 2 FSM khác nhau đã có sẵn trong thư mục Scenes là AdvanceFSM và SimpleFSM để hiểu rõ hơn về cấu trúc cũng như sự khác biệt nhau.

4/20/2014

DEVGAME 1.6 - NHẤP CHỌN ĐỐI TƯỢNG VỚI HÀM ONMOUSEDOWN


 

Khi bạn vừa bắt đầu bước từng bước trong việc viết code ở chuỗi bài viết DevGame, hãy tạm ngưng giây lát để tìm hiểu về sự khác biệt giữa game bắn súng góc nhìn thứ nhất với những game nhấp chuột phiêu lưu đơn giản.

4/10/2014

COOKBOOK - HIỂN THỊ TÊN ĐỒ VẬT ĐƯỢC NHẶT



Hầu hết các game đều có những món đồ vật buộc người chơi phải chạy đến để nhặt. Điển hình như việc nhặt một chiếc chìa khóa để mở một cánh cổng nào đó để đi tiếp chẳng hạn. Bài viết này sẽ hướng dẫn các bạn sử dụng collider để thực hiện điều đó.

4/09/2014

DEVGAME 1.5 - CẤU TRÚC CỦA MỘT TỆP MÃ - BIẾN (Phần 2)


 

Ở bài viết trước, chúng ta đã cài đặt biến kiểu số nguyên vào script SimpleRotate để điều chỉnh tốc độ quay của khối hộp. Bài viết này, chúng ta sẽ tiếp tục cài đặt biến với các kiểu dữ liệu khác nhau.

3/26/2014

COOKBOOK - HIỂN THỊ ĐỒNG HỒ ĐẾM NGƯỢC BẰNG GUI LABEL




Trong nhiều game quy định thời gian làm nhiệm vụ hay kiếm thêm điểm thưởng bằng cách quy định một khoảng thời gian nhất định nào đó. Trong bài viết này, mình sẽ hướng dẫn các bạn tạo đồng hồ đếm ngược đơn giản bằng GUI.

3/11/2014

COOKBOOK - HIỂN THỊ RADAR


 

Radar hiển thị các đối tượng khác liên quan đến người chơi, thông thường radar sẽ là hình tròn và tâm của nó là nơi player đang đứng, và mỗi chấm tròn trên radar tượng trưng cho các đối tượng khác. Radar tinh vi sẽ hiển thị các chấm tròn khác nhau với từng loại đối tượng.

3/09/2014

AI 2.2 - MÁY TRẠNG THÁI - FSM ĐƠN GIẢN


  2.2 - Máy trạng thái - FSM đơn giản

Bài viết này, chúng ta sẽ cùng nghiên cứu các phương thức hoạt động cũng như tính năng chiến đấu của các xe tăng AI trong scene SimpleFSM. Bạn có thể tìm thấy scene này trong source code đã cung cấp ở bài viết AI 2.1.

3/02/2014

AI 2.1 - MÁY TRẠNG THÁI - FINITE STATE MACHINE



  2.1 - Máy trạng thái - Finite State Machine

Trong chương này, chúng ta sẽ học cách sử dụng FSM trong Unity3D qua một trò xe tăng đơn giản. Chúng ta sẽ tìm hiểu code cùng các thành phần liên quan.

DEVGAME 1.5 - CẤU TRÚC CỦA MỘT TỆP MÃ - BIẾN (Phần 1)


 

Biến là nơi lưu trữ những trạng thái, giá trị, văn bản và nhiều thứ khác nữa, là kho lưu trữ thông tin trong máy. Trong Unity, các biến sẽ được hiển thị trên thẻ Inspector, vì thế, bạn không cần phải mở trình biên tập code để chỉnh sửa bất kì thứ gì về biến. Điều này còn cho phép bạn giữ lại đặc tính riêng của từng đối tượng khác nhau, cho nên bạn có thể dùng cùng một tệp mã (script) cho nhiều đối tượng với các thiết lập khác nhau.

2/27/2014

COOKBOOK - HIỂN THỊ LA BÀN


  - Hiển thị la bàn -

Trong các địa hình hay bản đồ rộng lớn, việc hiển thị la bàn để định hướng cho người chơi là điều rất cần thiết. Bằng việc hiển thị hình ảnh minh họa hướng nhìn theo thời gian thực với GUI. Chúng ta có thể mô phỏng được hướng nhìn của người chơi trên bản đồ là hướng Nam hay Bắc, Đông hay Tây.

2/20/2014

COOKBOOK - TẠO ĐỒNG HỒ KIM



  - Tạo đồng hồ kim -

Việc tạo đồng hồ kim tốn nhiều thời gian để vẽ các kim chỉ thời gian nhưng đổi lại sử dụng đồng hồ kim sẽ nổi bật về mặt đồ họa hơn.

2/19/2014

DEVGAME 1.4 - CẤU TRÚC CỦA MỘT TỆP MÃ - THỰC THI HÀM THEO THỨ TỰ


 

Nếu bạn muốn khối hộp vừa xoay tròn vừa di chuyển thẳng theo hướng trục X, bạn có thể nhờ đến sự trợ giúp của GameObject. Trong Unity, GameObject thường để phân thứ tự cho các hàm, gom tất cả các asset trong scene, cố định thứ tự của các component và nhiều công dụng hữu ích khác. Bạn sẽ thường thấy nhiều lợi ích hơn với GameObject.