舉報

會員
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
- Crowds in Unreal
- 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
推薦閱讀
- UI設計基礎培訓教程
- Android Jetpack開發:原理解析與應用實戰
- 樂學Web編程:網站制作不神秘
- Java從入門到精通(第4版)
- Learning Informatica PowerCenter 10.x(Second Edition)
- 教孩子學編程:C++入門圖解
- Mathematica Data Analysis
- 劍指大數據:企業級數據倉庫項目實戰(在線教育版)
- 常用工具軟件立體化教程(微課版)
- OpenGL Data Visualization Cookbook
- 移動互聯網軟件開發實驗指導
- C編程技巧:117個問題解決方案示例
- 深入實踐DDD:以DSL驅動復雜軟件開發
- Swift 2 Blueprints
- 機器人ROS開發實踐
- 語義Web編程
- R Data Visualization Cookbook
- OpenCL異構并行計算:原理、機制與優化實踐
- Multithreading with C# Cookbook(Second Edition)
- Getting Started with Beautiful Soup
- Building a 3D Game with LibGDX
- VEX IQ機器人設計入門與編程實例
- 3ds Max 2012三維設計能力教程(第二版)
- NGINX High Performance
- Expert Python Programming(Second Edition)
- 交互的Python:數據分析入門
- Expert Delphi
- Python科學計算入門與實戰:視頻教學版
- Akka實戰:快速構建高可用分布式應用
- 程序員的38堂成長課