Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon Join the GFS Discord Server!
30. January 2020


Steve Rabin, the editor of book Game AI Pro 3 have just released the title completely for free on their website http://www.gameaipro.com/.  Due to details with their publisher the book rights remain those of CRC Press and cannot be redistributed or hosted anywhere else.  Additionally the book is split into multiple chapters, each available as individual PDF chapters, although merging multiple PDFs is a relatively simple task if preferred.

Links to each chapter:

Section 1: General Wisdom

1. The Illusion of Intelligence, Steve Rabin
2. Creating the Past, Present, and Future with Random Walks, John Manslow demo code
3. Logging Visualization in FINAL FANTASY XV, Matthew W. Johnson, Fabien Gravot, Shintaro Minamino, Ingimar Hólm Guðmundsson, Hendrik Skubch, and Youichiro Miyake
4. What You See Is Not What You Get: Player Perception of AI Opponents, Baylor Wetzel and Kyle Anderson
5. Six Factory System Tricks for Extensibility and Library Reuse, Kevin Dill
6. Debugging AI with Instant In-Game Scrubbing, David Young
7. But, It Worked on My Machine! How to Build Robust AI for Your Game, Sergio Ocio Barriales

Section 2: Architecture

8. Modular AI, Kevin Dill and Christopher Dragert
9. Overcoming Pitfalls in Behavior Tree Design, Anthony Francis
10. From Behavior to Animation: A Reactive AI Architecture for Networked First-Person Shooter Games, Sumeet Jakatdar
11. A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines, Youichiro Miyake, Youji Shirakami, Kazuya Shimokawa, Kousuke Namiki, Tomoki Komatsu, Joudan Tatsuhiro, Prasert Prasertvithyakarn, and Takanori Yokoyama
12. A Reusable, Light-Weight Finite-State Machine, David “Rez” Graham
13. Choosing Effective Utility-Based Considerations, Mike Lewis
14. Combining Scripted Behavior with Game Tree Search for Stronger, More Robust Game AI, Nicolas A. Barriga, Marius Stanescu, and Michael Buro

Section 3: Movement and Pathfinding

15. Steering against Complex Vehicles in Assassin’s Creed Syndicate, Eric Martel
16. Predictive Animation Control Using Simulations and Fitted Models, Ingimar Hólm Guðmundsson, Hendrik Skubch, Fabien Gravot, and Youichiro Miyake
17. Fast Cars, Big City: The AI of Driver San Francisco, Chris Jenner and Sergio Ocio Barriales
18. A Unified Theory of Locomotion, Graham Pentheny
19. RVO and ORCA: How They Really Work, Ben Sunshine-Hill
20. Optimization for Smooth Paths, Mark Langerak demo code
21. 3D Flight Navigation Using Sparse Voxel Octrees, Daniel Brewer
22. Faster A* with Goal Bounding, Steve Rabin and Nathan R. Sturtevant
23. Faster Dijkstra Search on Uniform Cost Grids, Steve Rabin and Nathan R. Sturtevant

Section 4: Tactics and Strategy

24. Being Where It Counts: Telling Paragon Bots Where to Go, Mieszko Zieliński
25. Combat Outcome Prediction for Real-Time Strategy Games, Marius Stanescu, Nicolas A. Barriga, and Michael Buro
26. Guide to Effective Auto-Generated Spatial Queries, Eric Johnson
27. The Role of Time in Spatio-Temporal Reasoning: Three Examples from Tower Defense, Baylor Wetzel and Kyle Anderson
28. Pitfalls and Solutions When Using Monte-Carlo Tree Search for Strategy and Tactical Games, Gijs-Jan Roelofs
29. Petri Nets and AI Arbitration, Sergio Ocio Barriales
30. Hierarchical Portfolio Search in Prismata, David Churchill and Michael Buro

Section 6: Character Behavior

31. Behavior Decision System: Dragon Age Inquisition’s Utility Scoring Architecture, Sebastian Hanlon and Cody Watts
32. Paragon Bots: A Bag of Tricks, Mieszko Zieliński
33. Using Your Combat AI Accuracy to Balance Difficulty, Sergio Ocio Barriales
34. 1000 NPCs at 60 FPS, Robert Zubek
35. Ambient Interactions: Improving Believability by Leveraging Rule-Based AI, Hendrik Skubch
36. Stochastic Grammars: Not Just for Words!, Mike Lewis demo code
37. Simulating Character Knowledge Phenomena in Talk of the Town, James Ryan and Michael Mateas

Section 7: Odds and Ends

38. Procedural Level and Story Generation Using Tag-Based Content Selection, Jurie Horneman
39. Recommendation Systems in Games, Ben G. Weber
40. Vintage Random Number Generators, Éric Jacopin demo code
41. Leveraging Plausibility Orderings to Achieve Extremely Efficient Data Compression, Jeff Rollason
42. Building Custom Static Checkers Using Declarative Programming, Ian Horswill, Robert Zubek, and Matthew Viglione


On the same page you can also download first and second editions of the Game AI book series.  Awesome contribution from the editor and all the various others and such a huge wealth of knowledge being shared.

GameDev News


29. January 2020


After 10 months in development, Godot 3.2 has been released.  The release includes dozens of new features including C# support for Android and WebAssembly, glTF2.0 support, a new Android build system and a ton more.

The primary features of the Godot 3.2 release include:

This only represents the top level features, there were a ton of smaller changes and improvements, for a complete list of changes check out the complete changelog.  You can learn more about this release in the video below.

GameDev News


28. January 2020


Unity just released version 2019.3 containing several long awaited packages that are now ready for prime time.  The two programmable pipelines (HDRP and URP) are both considered verified at this point, as are a number of other key packages.

Highlights from the 2019.3 release include;

  • High Definition Render Pipeline now verified
  • Universal Render Pipeline now verified
  • Visual Effect Graph now verified
  • Update UI including new font, icons and better highDPI performance
  • Improved Package Manager including ability to install from git
  • New Asset Database system
  • New Input system
  • Incremental Garbage Collector now no longer experimental
  • DOTS GameObject converter in preview
  • Unity Live Link
  • Havok Physics for DOTS now available
  • Configurable Enter Play Mode optimizations

You can learn more about the features in this release on the Unity blog or by watching the video below.

GameDev News


27. January 2020


The Ursina Engine is a recently released open source Python based 3D game engine.  The Ursina Engine is built on top of the well established Panda3D game engine (learn more here).  Key features of the Ursina Engine include:

* hotreload code/textures/models while in-game
* automatic import of .psd and .blend files
* play in fullscreen while developing
* easy to use mesh class for making procedural geometry
* lots of included procedural 3D primitives

The Ursina Engine is available for Windows, Mac and Linux with the source code available on GitHub under the MIT license.  To get started with the Ursina Engine you need to have Python 3.6 or later installed as well as the pip package manger and git.   Once installed, simply run the command:

pip install git+https://github.com/pokepetter/ursina.git

If you encounter a permissions error, add the –user parameter to the above line.  From the examples, here is the code required to create an application and display a grid:

from ursina import *


app = Ursina()

r = 8
for i in range(1, r):
    t = i/r
    s = 4*i
    print(s)
    grid = Entity(model=Grid(s,s), scale=s, color=color.color(0,0,.8,lerp(.8,0,t)), rotation_x=90, position=(-s/2, i/1000, -s/2))
    subgrid = duplicate(grid)
    subgrid.model = Grid(s*4, s*4)
    subgrid.color = color.color(0,0,.4,lerp(.8,0,t))
    EditorCamera()

app.run()

You can learn more about the Ursina Engine in the video below.

GameDev News


25. January 2020


Over on the Unity blog there is a discussion of the upcoming changes to VR and AR support in Unity 2019.3.  The Unity engine is migrating to a new plugin based framework called the Unity XR SDK.

We have been working to improve our multi-platform offering, enabling direct integrations through a unified plugin framework. The resulting tech stack consists of an API that exposes common functionalities across our supported platforms in a frictionless way for creators while enabling XR hardware and software providers to develop their own Unity plugins. This architecture offers the following benefits:

  • Multi-platform developer tools such as AR Foundation and the XR Interaction Toolkit
  • Faster partner updates from supported plugins via the Unity Package Manager
  • More platforms have access to an interface to leverage Unity’s XR rendering optimizations and developer tools

Unity has developed new XR plugins for our supported platforms as part of this shift. Additionally, we have deprecated our built-in platform implementations in 2019.3.

With the move to a plugin architecture future support for OpenXR will be handled by Valve in the future.  From version 2019.3 onward, GearVR, Daydream and Vuforia will no longer be supported, forcing you to use the Unity 2018 LTS release if you wish to support those platforms.  Additionally Google Cardboard support is ultimately going to be provided by this Google open source project.

In comments there was further details about VR/AR support improvements in the Unity 2019.3:

Hi Felix, Unity’s 2019.3 release is coming soon, and there are new features in XR that will roll out in that update. In 2019.3, we have enabled Vulkan for Oculus Quest, using multiview fixed foveated rendering (FFR). Additionally, the Universal Rendering Pipeline (URP) and High-Definition Rendering Pipeline (HDRP) are both supported in our XR SDK, and will continue to be supported. Lastly, our new XR Plugins are compatible with the new input system. That means if you add the Magic Leap XR Plugin and Input System packages, for example, you will get the controller layouts for Magic Leap devices.

You can learn more about the changes in the video below.

GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List