Commit Graph

82 Commits

Author SHA1 Message Date
Francois Belair
2d3e763a80 Add category tags to API 2020-02-22 12:51:11 -05:00
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
Nathan Lovato
68b85bb234 Format the code using gdformat
gdformat follows the official style guide, and handles line length and wrapping
lines for us.
2020-02-14 10:35:18 -06:00
Nathan Lovato
fa71f34efd Add project icon
Closes #19
2020-02-13 17:51:21 -06:00
Nathan Lovato
e9dd3b8a1e Improve the feel of the demos, update changelog 2020-02-13 13:34:22 -06:00
Nathan Lovato
1daade7ea3 Fix background not covering the entire viewport in some cases 2020-02-13 13:34:09 -06:00
Nathan Lovato
6edec919e8 Fixed error when double clicking an item in the DemoPicker 2020-02-13 12:01:48 -06:00
Francois Belair
ca1839c633 Add 3D demo and fix 3D agents
Closes #30, closes #31, closes #33
2020-02-13 03:51:48 -05:00
Nathan Lovato
534ade7282 Update code reference for the 2.0.0 release. 2020-02-11 13:41:34 -06:00
Nathan Lovato
36f2dcb522 Handle all warnings in GSAI* classes and demos 2020-02-11 13:36:06 -06:00
Nathan Lovato
04468a7d60 Fix errors when unloading demos with DemoPlayer 2020-02-11 13:31:15 -06:00
Nathan Lovato
f9b52fc24c Remove print statement 2020-02-11 13:30:49 -06:00
Nathan Lovato
46dad32bfa Increase the size of the demos' text box 2020-02-11 13:30:33 -06:00
Nathan Lovato
6d2016c9e9 Handle and remove warnings in GSAI* classes 2020-02-11 13:18:22 -06:00
Nathan Lovato
77f90b0c74 Remove warnings in the DemoPicker scene
Also turned off the setting for discarded return value warnings as it triggers
for many calls, including to built-in functions.
2020-02-11 13:15:29 -06:00
Nathan Lovato
edd6f6d6d4 Add resizing support, increase default font size
Closes #21
2020-02-11 12:56:24 -06:00
Nathan Lovato
9870e03e81 Add F11 to toggle fullscreen
Part of #21
2020-02-11 12:56:24 -06:00
Nathan Lovato
7e98b2e785 Rename 3D physics body classes to *3DAgent 2020-02-11 12:56:24 -06:00
Nathan Lovato
7eb91a6165 Use GSAI as a class prefix instead of GST
GSAI for Godot Steering AI
2020-02-11 11:33:25 -06:00
Francois Belair
7241bc754b Separate ArriveDemo's drawing from root node
Closes #26
2020-02-08 18:19:04 -05:00
Francois Belair
809b0c53df Fix Seek/Flee demo boundaries not drawn correctly
Closes #27
2020-02-08 18:16:49 -05:00
Nathan Lovato
6132a0aa25 Refactor the demos to support screen resizing
Add BackgroudLayer and DemoInterface scenes that we can reuse across demos
Set the game to 2D and extend window modes

Part of #21
2020-02-08 15:40:43 -06:00
Francois Belair
18931a9623 Fix FollowPath loops back to start on open paths
Fixes #18
2020-02-08 12:05:24 -05:00
Francois Belair
5627a5636a Fix demo picker blank scene
It did not have a file path by default, but had an index.
Also, the camera on Seek/Flee caused the Go Back button not to show.
The scene's been amended and the camera removed, since it wasn't
actually useful.
2020-02-08 11:44:54 -05:00
Nathan Lovato
b6226d45b0 Remove comment 2020-02-08 09:43:00 -06:00
Nathan Lovato
8e04378b1c Refactor and improve the demo picker
Improve the UI styles
Add a button to go back to the demo picker
Simplify the code that handles text
2020-02-08 09:36:06 -06:00
Francois Belair
7329758fd4 Add demo selector as main scene
Closes #20
2020-02-08 01:52:10 -05:00
Nathan Lovato
021a4821ec Update the code reference for the 1.0 release 2020-02-07 09:43:31 -06:00
Nathan Lovato
98d3be13f8 Simplify code in the FollowPath demo
Use draw_polyline to draw the path
Renamed some variables
2020-02-07 09:08:45 -06:00
Francois Belair
dc9a57e7fd Append _ to apply_steering and fix yield on ready 2020-02-07 09:56:03 -05:00
Răzvan C. Rădulescu
1baed58659 Review smart agents
I made minimal changes, mostly cosmetic like so:

- rename KinematicMovementType to MovementType since
  GSTKinematicBody2DAgent.KinematicMovementType.COLLIDE for example is
  really more than a mouthful with repeated Kinematic in the name
- add optional movement_type parameter to the constructor, otherwise
  we'd be forced to construct the object and then specify as an
  aditional step the type of movement if we want something else than the
  default
- rewrote the constructor to yield on ready and removed _on_body_ready
- renamed _apply_steering to apply_steering as this is a public method
- renamed _on_SceneTree_frame to _on_SceneTree_physics_frame
2020-02-07 12:29:45 +02:00
Francois Belair
2ae06d3da3 Split agent types into specialized classes 2020-02-06 16:30:53 -05:00
Francois Belair
85784791ec Add and have most demos use specialized agents
The agents auto-update themselves and can calculate their velocities.
This keeps the user from having to create an update_agent function.
It can also save the user from having to keep track of and update
velocities at all by using the provided `apply_steering` method.

Closes #15, closes #16
2020-02-06 16:00:41 -05:00
Francois Belair
57f3c4a24a Make calculate_acceleration return void
This makes the code more in line with GDQuest gdscript guidelines about
 not both transforming state and returning a value.
2020-02-06 14:46:21 -05:00
Francois Belair
52ca9ade74 Make window always on top, add missing background 2020-02-04 12:35:46 -05:00
Răzvan C. Rădulescu
3f58cc4921 Finish look and feel of the toy demos
Based on the 2D Beginner Project look, these demos now have the colorful
GDQuest "theme" to them.

This had the effect of removing the circle and triangle/ship sprites as
everything is drawn in Godot directly.
2020-02-04 12:12:51 +02:00
Răzvan C. Rădulescu
4fceb866f7 Use beginner 2d platformer visual style 2020-02-03 18:07:43 +02:00
Francois Belair
ae3c3569ee Add tags: moniker for virtual functions
Works with the docs maker accordingly
2020-02-02 12:48:58 -05:00
Francois Belair
3cf2089ada Add missing virtual tag 2020-01-30 18:24:47 -05:00
Francois Belair
b62d7f05aa Amend docstring w/ virtual funcs and private vars 2020-01-30 13:06:35 -05:00
Nathan Lovato
0586878fcf Fix the style of booleans and virtual functions in the API
Made booleans start with a prefix, e.g. is_open
Added a leading underscore to two virtual functions
Added VIRTUAL comment above several virtual functions
Renamed accel -> acceleration in a function
2020-01-29 15:53:57 -06:00
Nathan Lovato
bd41d5987c Edit docstrings in src/Behaviors 2020-01-29 10:13:12 -06:00
Francois Belair
4885707145 Improved how the AI looks in Pursue VS Seek demo
They were looking kind of floaty, moving not like spaceships but like
they were on ice. Now they travel along their orientation, towards
where the player is/will be.
2020-01-29 10:04:47 -05:00
Francois Belair
9c87dcf7f0 Fix unknown mangling issue from previous commit
For some reason, github's merge destroyed a lot of newlines, which
broke GSTPath.
2020-01-29 09:26:20 -05:00
Francois Belair
62ad172767 Move class docstring to top of class
For documentation purposes, current tools expect it there.
2020-01-28 23:56:10 -05:00
Nathan Lovato
6276fc0413 Update code reference
Proof and edit docstrings in all the base types and proximity types
Remove docstring for the _init builtin callback
2020-01-27 17:31:10 -06:00
Francois Belair
2d8bdaebd7 Add documentation strings to behaviors 2020-01-27 13:24:05 -05:00
Francois Belair
5f6dd15c0e Add documentation strings for base types 2020-01-27 12:57:51 -05:00
Francois Belair
e95e3bf386
Quick start and reference guides (#7)
Add quickstart guide and quickstart demo

Authored by Razoric and edited by Nathan and Johnny.
The purpose of the guide is simply to give an overview of what the
behaviors are there for, and a quick look at how to actually make use
of them in the basis of this toolkit, with some explanatory comments.
The actual user's manual will be built out of the API reference.
2020-01-27 11:39:06 -05:00
Francois Belair
8228694713 Refactor var names for consistency aka min/max 2020-01-22 11:55:49 -05:00