舉報

會員
Hands-On Artificial Intelligence with Unreal Engine
Learninghowtoapplyartificialintelligence(AI)iscrucialandcantakethefunfactortothenextlevel,whetheryou'redevelopingatraditional,educational,oranyotherkindofgame.IfyouwanttouseAItoextendthelifeofyourgamesandmakethemchallengingandmoreinteresting,thisbookisforyou.ThebookstartsbybreakingdownAIintosimpleconceptstogetafundamentalunderstandingofit.Usingavarietyofexamples,youwillworkthroughactualimplementationsdesignedtohighlightkeyconceptsandfeaturesrelatedtogameAIinUE4.Youwilllearntoworkthroughthebuilt-inAIframeworkinordertobuildbelievablecharactersforeverygamegenre(includingRPG,Strategic,Platform,FPS,Simulation,Arcade,andEducational).YouwilllearntoconfiguretheNavigation,EnvironmentalQuerying,andPerceptionsystemsforyourAIagentsandcouplethesewithBehaviorTrees,allaccompaniedwithpracticalexamples.Youwillalsoexplorehowtheenginehandlesdynamiccrowds.Intheconcludingchapters,youwilllearnhowtoprofile,visualize,anddebugyourAIsystemstocorrecttheAIlogicandincreaseperformance.Bytheendofthebook,yourAIknowledgeofthebuilt-inAIsysteminUnrealwillbedeepandcomprehensive,allowingyoutobuildpowerfulAIagentswithinyourprojects.
目錄(313章)
倒序
- coverpage
- Title Page
- Copyright and Credits
- Hands-On Artificial Intelligence with Unreal Engine
- Dedication
- About Packt
- Why subscribe?
- Packt.com
- Contributors
- About the author
- About the reviewers
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Section 1: The Unreal Framework
- Making the First Steps in the World of AI
- Before starting...
- Prerequisites
- Installing and preparing the software
- Unreal Engine
- Visual Studio
- Becoming an AI Game Developer
- What it means to be an AI Game Developer
- AI in the game development process
- A bit of history
- What is AI?
- A glance into the past
- AI in games
- AI in games – Industry and Academia
- Planning our journey
- Technical terminology
- The bottom-up approach
- The agent schema
- Unreal Engine AI Framework
- A sketch of our journey
- Decision-making with Behavior Trees (chapters 2 6 8 9 and 10)
- Navigation (chapters 3 and 7)
- Environment Query System (chapters 4 and 12)
- Agent Awareness (chapters 5 and 12)
- Crowds (chapter 7)
- Designing Behavior Trees (chapters 8 9 and 10)
- Debugging methods for Game AI (chapters 11 12 and 13)
- Going beyond (chapter 14)
- Enabling AI for C++ users
- Summary
- Behavior Trees and Blackboards
- How Behavior Trees work
- The structure of a Mathematical Tree
- Behavior Tree components
- Root
- Tasks
- Composite
- Decorators
- Service
- Blackboards and their integration with Behavior Trees
- Creating our AI project
- Starting Behavior Trees from AI Controllers
- Creating the Behavior Tree and the Blackboard
- Creating the Blackboard
- Creating the Behavior Tree
- The AI Controller to run a Behavior Tree
- AI Controller in Blueprint
- AI Controller in C++
- Summary
- Navigation
- What to expect from a Navigation System
- Unreal Navigation System
- Generating the Navigation Mesh
- Setting parameters for the Nav Mesh
- Display settings
- Generation settings
- Project Settings
- Settings on the Character Movement Component
- Modifying the Navigation Mesh
- Nav Modifier Volume
- Nav Mesh Areas
- Creating a NavArea class in Blueprint
- Creating a NavArea class in C++
- Nav Link Proxy
- Creating a Nav Link Proxy
- Simple Links and Smart Links
- Both Simple and Smart Links
- Simple Links
- Smart Links
- Other settings of the Nav Link Proxy
- Extending the Nav Link Proxy
- Navigation Avoidance
- Navigation Filtering
- Creating a Navigation Filter in Blueprint
- Creating a Navigation Filter in C++
- Overriding the Navigation System
- Summary
- Environment Querying System
- Enabling the Environment Querying System
- Understanding the Environment Querying System
- The general mechanism of EQS
- The components of an Environment Query
- Environment Queries
- Contexts
- Generators
- Tests
- Visual representation of the components
- Running an Environmental Query within a Behavior Tree
- Not only Locations but also Actors!
- Exploring the built-in nodes
- Built-in Contexts
- Built-in Generators
- Actors Of Class
- Current Location
- Composite
- Points: Circle
- Points: Cone
- Points: Donut
- Points: Grid
- Points: Pathing Grid
- Built-in Tests
- Visualizing Environment Queries
- Creating components for the Environment Querying System
- Creating Contexts
- Creating the Player Context in Blueprint
- Creating the Player Context in C++
- Creating Generators
- Creating Tests
- Summary
- Agent Awareness
- Perception of AI in video games
- Sound
- Footsteps
- Knocking over objects
- Position
- Zone of proximity
- Interacting with other enemies
- It isn't all about the "enemy"
- Perceptive AI isn't just humanoid or animalistic
- Impact of Players
- Overview of the Sensing System
- The AIPerceptionComponent
- AIPerceptionComponent in Blueprint
- Sense – Sight
- Sense – Hearing
- AIPerceptionComponent and Senses in C++
- Different Teams
- The AIStimuliSourceComponent
- All Pawns are automatically detected
- AIStimuliSourceComponent in Blueprint
- AIStimuliSourceComponent in C++
- Hands-on with the perception system – Sight AI Controller
- A Blueprint perception system
- A C++ perception system
- Testing it all
- Summary
- Extending Behavior Trees
- A quick recap on Behavior Trees
- Creating a Task
- Creating a Blueprint Task
- Creating a Task in C++
- Creating a Decorator
- Creating a Decorator in Blueprint
- Creating a Decorator in C++
- Creating a Service
- Creating a Service in Blueprint
- Creating a Service in C++
- Creating a Composite Node
- Creating new type of nodes or new types of Trees
- Summary
- Crowds
- Crowds in games
- Building believable crowds
- Animals
- Crowd movement
- Crowd dynamics and creating realistic behavior
- Flow-based
- Entity-based
- Agent-based
- Reciprocal Velocity Obstacles (RVO)
- RVO in Unreal
- Advanced RVO settings
- RVO in Blueprint
- RVO in C++
- RVO observations
- RVO resources
- Detour Crowd
- How the Detour Crowd system works
- Using the Detour Crowd system
- Detour Crowd settings
- Debugging the Detour Crowd Manager
- More crowd resources
- Summary
- Section 2: Designing and Implementing Behavior Trees
- Designing Behavior Trees - Part I
- The Expected Behavior
- Building the Nodes
- Nodes that already exist
- Decorator – check variable
- Check Variable Blueprint implementation
- Check Variable C++ implementation
- Task – Find Random Location
- Find Random Location Blueprint implementation
- Find Random Location C++ implementation
- AI Controller
- Implementing the AI Controller in Blueprint
- Implementing the AI Controller in C++
- Using the AI Controller
- Summary
- Designing Behavior Trees - Part II
- Setting up the environment for testing the Behavior Tree
- Creating the Player
- Creating the Chasing Agent
- Preparing the Level
- Service – Update Chasing Behavior
- Update Chasing Behavior Blueprint implementation
- Update Chasing Behavior C++ implementation
- Summary
- Designing Behavior Trees - Part III
- Building the Behavior Tree
- Setting up the Blackboard
- Building the Tree
- Running the Behavior Tree
- Running the Behavior Tree using the Blueprint controller
- Running the Behavior Tree using the C++ controller
- Bug Correction
- Improving further (C++ only)
- Node Name
- A better description for the Decorator
- Filtering Blackboard Keys
- Summary
- Section 3: Debugging Methods
- Debugging Methods for AI - Logging
- Basic Logging
- Console Logging and on-screen messages in Blueprint
- On-screen messages in C++
- Console Logging in C++
- Creating a Custom Logging Category (C++)
- Summary
- Debugging Methods for AI - Navigation EQS and Profiling
- Debugging behavior trees
- Profiling and visualizing environmental queries
- Visualizing environmental queries with the EQS testing pawn
- Creating the EQS testing pawn
- Creating a test environmental query
- Settings of the EQS testing pawn to visualize environmental queries
- Profiling environmental queries
- Setting up the test assets for EQS profiling
- The environmental query profiler
- Saving and loading EQS stats
- Testing and visualizing the navigation mesh
- Visualizing the navigation mesh
- Navigation test actor
- Profiling AI
- Profiling with the console
- Creating a custom stat group
- Session frontend
- Summary
- Debugging Methods for AI - The Gameplay Debugger
- The anatomy of the Gameplay Debugger
- Gameplay Debugger Extensions
- Gameplay Debugger categories
- Category 0 – Navmesh
- Category 1 – AI
- Category 2 – Behavior Tree
- Category 3 – EQS
- Category 4 – Perception
- The Nav Grid Category
- Multiple Categories on-screen
- More Categories
- Gameplay Debugger settings
- Extending the Gameplay Debugger
- Creating a module with the use of a new plugin
- Setting up the module to work with the Gameplay Debugger
- Creating a new Gameplay Debugger Category
- Registering the Gameplay Debugger Category
- Visualizing the custom Gameplay Debugger Category
- Creating an Extension for the Gameplay Debugger
- The structure of the Extension
- Creating the Extension class
- Registering the Extension
- Summary
- Going Beyond
- Why is psychology an important consideration for AI?
- Psychology and AI in games
- Building better AI through psychology
- Machine learning
- Uses of AI and machine learning in games
- Uses for AI in games
- Uses for machine learning in games
- Adaptive behavior
- What we haven't covered in this book
- Motion and navigation (low level)
- Racing games
- Agent awareness
- Environment Query System
- Decision-making and planning
- Discrete games/board games
- Learning techniques
- Procedural Content Generation (PCG)
- Search and optimization
- Multi-Agent Systems
- AI and psychology
- Going beyond classical AI
- Much much much more!
- Some useful resources
- AI and philosophy
- Goodbye
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-24 15:24:29
推薦閱讀
- Java應用與實戰
- Software Defined Networking with OpenFlow
- Python數據分析入門與實戰
- Django開發從入門到實踐
- Java程序員面試算法寶典
- 從0到1:HTML+CSS快速上手
- Raspberry Pi 2 Server Essentials
- 精通Python自動化編程
- Java圖像處理:基于OpenCV與JVM
- Getting Started with Polymer
- Unity 2017 Game AI Programming(Third Edition)
- Mastering Node.js
- 機器人ROS開發實踐
- Oracle API Management 12c Implementation
- Building an E-Commerce Application with MEAN
- MATLAB語言及編程實踐:生物數學模型應用
- 數據結構:C語言描述(融媒體版)
- ASP.NET MVC 4 Mobile App Development
- Python商業數據分析:零售和電子商務案例詳解(雙色)
- Cacti實戰
- Visual C++程序開發參考手冊
- 深入理解Java虛擬機:JVM高級特性與最佳實踐(第3版)
- Team Foundation Server 2015 Customization
- Kubernetes:A Complete DevOps Cookbook
- Puppet Reporting and Monitoring
- Node.js實戰(第2版)
- Troubleshooting Citrix XenDesktop?
- 編寫高質量代碼:改善Java程序的151個建議
- Java修煉指南:高頻源碼解析
- 程序設計與問題求解:C語言