godot-steering-ai-framework/CHANGELOG.md
Francois Belair fbb92e3593 Replace body with WeakRef of body to fix crashes
When a physics body was freed by queue_free or free, it was possible
for the physics update to still happen on the specialized agent. The
Null body then caused a crash.
2020-02-20 12:24:55 -05:00

4.4 KiB

Changelog

This document lists new features, improvements, changes, and bug fixes in every release of the add-on.

Godot Steering AI Framework 2.1.1

Changes

  • Unused and undocumented variable _body_type has been removed from SpecializedAgent

Bug fixes

  • The specialized agents now use WeakRef internally to prevent crashes when their body is freed.
  • RigidBody2DAgent now properly connects to physics updates.

Godot Steering AI Framework 2.1.0

Features

  • There is now an Arrive3d demo to showcase 3D movement.

Improvements

  • All the demos got a bit of attention to improve their feel.

Changes

  • GSAIUtils.vector3_to_angle now uses the vector's X and Z components to determine angle. Use GSAIUtils.vector2_to_angle for 2D use cases.
  • GSAIMatchOrientation and its subclasses like GSAIFace and GSAILookWhereYouGo now include a use_z property. It should be true when using 3D so that facing will be done with the X and Z components.
  • The README now mentions a simple way to install the framework.
  • Exposed agent_count inside the AvoidCollisionsDemo.

Bug fixes

  • Fixed GSAIKinematicBody3DAgent and GSAIRigidBody3DAgent trying to use global_position instead of transform.origin.
  • The SeekFleeDemo's boundaries will now match the size of the screen.
  • Fixed error when double clicking an item in the DemoPicker.
  • Fixed the background sometimes not covering the entire viewport in demos.

Godot Steering AI Framework 2.0.0

This release brings one new feature and bug fix, and breaking changes to the framework as we renamed all the classes.

Important: we renamed all classes from GST* to GSAI* (Godot Steering AI). When you upgrade the framework in your project, use the project search and replace feature in Godot (Ctrl Shift F) to find and replace GST with GSAI.

If you were using GSTKinematicBodyAgent or GSTRigidBodyAgent, search and replace them respectively with GSAIKinematicBody3DAgent and GSAIRigidBody3DAgent.

We decided to make this change as soon as possible, as the framework was released a few days ago.

Features

  • There is now a main scene with a demo picker, so you can select and play any demo on the fly.
  • The demo projects now support resizing and toggling fullscreen with F11.

Improvements

  • We handled all warnings in the framework, so using it won't add warnings to your projects.

Changes

  • Renamed all classes from GST* (Godot Steering Toolkit) to GSAI* (Godot Steering AI).
  • Removed GSTNode2DAgent, GSTNodeAgent, and GSTSpatialAgent classes.
    • For specialized steering agents, GSAIKinematicBody2DAgent, GSAIRigidBody2DAgent, or their 3D equivalent.
    • If you intend to write your own movement system instead of using Godot's, the base class GSTSpecializedAgent is there to help you.
  • Renamed GSAIRigidBodyAgent and GSAIRigidBodyAgent to GSAIRigidBody3DAgent and GSAIRigidBody3DAgent respectively.
    • 3D nodes like Sprite, KinematicBody, etc. are being renamed to Sprite3D, KinematicBody3D, etc. in the upcoming Godot 4.0 release, to be consistent with 2D nodes. We decided to rename them now instead of breaking compatibility in a future release.

Bug fixes

  • GSTFollowPath no longer loops back around itself on open paths when predict_time is non-zero.

Godot Steering AI Framework 1.0.0

This is the first major release of the framework. It comes with:

  • All the essential steering behaviors: Arrive, AvoidCollisions, Blend, Cohesion, Evade, Face, Flee, FollowPath, LookWhereYouGo, MatchOrientation, Priority, Pursue, Seek, Separation.
  • Group behaviors and detecting neighbors.
  • Blending and prioritized behaviors.
  • Specialized types to code agents based on physics bodies:
    • For 2D games, KinematicBody2DAgent and RigidBody2DAgent.
    • For 3D games, KinematicBody3DAgent and RigidBody3DAgent.
  • 9 Godot demos to learn straight from the code.

Manual

To get started, check out the framework's manual.

There, you can also find the full code reference.

Note: we generate the code reference from docstrings in the source code with GDScript Docs Maker.