Commit Graph

20 Commits

Author SHA1 Message Date
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
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
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
Francois Belair
dc9a57e7fd Append _ to apply_steering and fix yield on ready 2020-02-07 09:56:03 -05: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
52ca9ade74 Make window always on top, add missing background 2020-02-04 12:35:46 -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
Răzvan C. Rădulescu
1a37b2bee0 Update project to follow GDScript guidelines closer
Used `var variable := 0.0` as discussed in the Godot issue, instead of
`var variable: = 0.0`.

Mostly these are minor/cosmetic changes, but I've also reorganized the
folder structure (naming of folders) to reflect our guidelines, plus
made some minor changes to the demo codes. Still work in progress.
2020-01-16 10:44:44 +02:00
Francois Belair
0a8551e5c9 Remove GUI and export variables in demo scripts
Since we don't want to come up with a GUI maintenance system and
instead focus on the steering behaviors, all relevant variables have
been moved as exported in the main demo script for each toy.
2020-01-15 14:15:31 -05:00
Francois Belair
a01f5d5b2e Clean up and improve group behaviors' code
The first pass was somewhat obtuse and lacked a common class that
differentiated them from behaviors that didn't use Proximities.
2020-01-12 10:24:03 -05:00
Francois Belair
34b58a6bba Add Cohesion behavior and RadiusProximity caching 2020-01-12 10:23:19 -05:00
Francois Belair
ac99344633 Implement Separation behavior and add Proximity 2020-01-12 10:22:54 -05:00
Francois Belair
b32446217d Implement demo for Arrive behavior 2020-01-12 10:18:29 -05:00
Francois Belair
f531e835fd Implement LookWhereYouGo, and demo for Pursue 2020-01-12 10:17:53 -05:00
Francois Belair
fb538b72cb Reorganize project
The GST namespace has been added to prevent class name conflicts, and
the project has been reorganized to make extensions and purpose easier.
2020-01-12 10:16:37 -05:00