Ứng dụng trí tuệ nhân tạo trong xây dựng Game

Ứng dụng trí tuệ nhân tạo trong xây dựng Game là khóa luận tốt nghiệp cử nhân Tin học của Nguyễn Thanh Phong, hướng dẫn bởi ThS. Bùi Tiến Lên, niên khóa 2001-2005 tại Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên TP.HCM.

Tài liệu này tập trung vào việc ứng dụng trí tuệ nhân tạo trong xây dựng game, đặc biệt là sử dụng bộ công cụ 3D Game Studio.

Dưới đây là tóm tắt các nội dung chính:

  • Chương 1: Giới thiệu:
    • Nêu lý do chọn đề tài là sự phát triển của game máy tính và niềm đam mê của tác giả.
    • Giới thiệu các ngôn ngữ lập trình game phổ biến (C++, Visual C++, Delphi, Dark Basic Pro, 3D Game Studio), nhấn mạnh ưu điểm của 3D Game Studio trong việc tạo game 3D nhanh chóng và hiệu quả.
    • Phân loại game thành game hành động, game nhập vai và game thể thao (trong đó có game đua xe).
    • Mục đích của đề tài là tìm hiểu ngôn ngữ lập trình game trong 3D Game Studio (WED, MED, SED) và sử dụng thuật toán A* để tìm đường đi cho đối tượng.
  • Chương 2: Các thuật toán tìm đường đi:
    • Trình bày các thuật toán tìm kiếm đường đi cơ bản: tìm kiếm rộng, sâu và sâu dần.
    • Mô tả thuật giải tìm đường đi có giá thành nhỏ nhất A^T (Algorithm for Trees) và các bước thực hiện.
    • Giới thiệu tìm kiếm với tri thức bổ sung A^{KT} và giải thích ý nghĩa của nó, đặc biệt là vai trò của hàm ước lượng h(n).
    • Mở rộng thuật giải A^{KT} thành thuật giải tổng quát A* để tìm đường đi trên đồ thị tổng quát, ứng dụng vào việc tìm đường đi ngắn nhất giữa các thành phố.
  • Chương 3: Game Engine:
    • Định nghĩa Game Engine và vai trò của nó trong việc xử lý các công việc cấp thấp khi lập trình game.
    • Giới thiệu 3 thành phần chính của 3D GameStudio: WED editor, MED và C-Script editor.
    • I. WED editor:
      • Là trình biên soạn để tạo thế giới ảo của game, kết hợp level (tạo bởi WED), mô hình (tạo bởi MED) và mã lệnh (viết trong SED).
      • Trình bày các khái niệm cơ bản: giao diện sử dụng (4 cửa sổ 2D và 3D), thanh Icon, các chế độ (Mode Select, Move, Rotate, Scale, Vertex Move, Edge Move, Face Move, Eye Move, Eye Rotate, Eye Zoom, Walk-thru).
      • Mô tả cách thiết kế một khung cảnh với hai thành phần chính là khối (block) và thực thể (entity), cùng với phương pháp thiết kế hướng đối tượng trong WED.
      • Giải thích chi tiết về Cửa sổ dự án (Project Window) với các tab Objects, Views, Texture và Resources.
      • Trình bày các lệnh trong các thực đơn File, Edit, Mode, Object, Texture, View và Help.
      • Giải thích các thuộc tính của Map (Map Properties) như Palette, Script, Nexus, Fog, Sun.
      • Mô tả các thao tác chỉnh sửa đối tượng trong Edit menu (Undo, Cut, Copy, Paste, Delete, Duplicate, Hollow Block, CSG Subtract, Find Object, Object Mode).
      • Giải thích chi tiết các chế độ hoạt động khác nhau của chuột trong Mode menu.
      • Trình bày các lệnh trong Object menu để nhóm và giới hạn đối tượng (Grouping, Scope), thêm các đối tượng cơ sở (Add Cube, Hollow Cube, Primitive, Prefab), thêm các tài nguyên (Add Light, Sound, Position), và thêm các thực thể game (Map Entity, Model, Terrain, Sprite, Path), cũng như Load/Save các tài nguyên này.
      • Mô tả các lệnh trong Texture menu liên quan đến việc quản lý kết cấu (Apply To Object, Texture Bookmarks, Texture Manager).
      • Giải thích các lệnh trong View menu để tùy chỉnh hiển thị khung nhìn (GXL Properties, Toolbars, Add View, Wire Frame, Solid, Textured, Goto Center, Lock Views, Decrease/Increase View Depth, Default Layout).
      • Hướng dẫn sử dụng Help menu (Tutorial, About WED).
      • Giải thích giao diện sử dụng tổng thể và hệ tọa độ trong WED.
      • Mô tả chi tiết các tab trong Cửa sổ dự án: Tab Objects (quản lý đối tượng theo cây, thuộc tính), Tab Views (lưu và gọi lại khung nhìn), Tab Texture (quản lý kết cấu, thuộc tính của kết cấu), Tab Resource (danh sách các tập tin và mã nguồn).
      • Giới thiệu Cửa sổ Bookmark để đánh dấu kết cấu.
      • Giải thích thuộc tính của khối (Block Properties) và các thuộc tính bề mặt/kết cấu (Surface/Texture).
      • Mô tả các thuộc tính của thực thể (Entity Properties) như Name, File, Ambient, Flags (Transparent, Invisible, Shadow, Overlay, Flare, Bright, Metal), Action, Skills, Position, Object.
      • Đưa ra các hướng dẫn thiết kế map hiệu quả, tránh các lỗi về cấu trúc BSP.
      • Phân tích các loại thực thể: Mô hình (Model), Sprite, Map.

Công nghệ thông tin Sách giáo trình

Ứng dụng trí tuệ nhân tạo trong xây dựng Game
  • Tác giả: khóa luận tốt nghiệp cử nhân Tin học của Nguyễn Thanh Phong, hướng dẫn bởi ThS. Bùi Tiến Lên
  • Ngôn ngữ: Tiếng Việt