Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I'm back baby! #8

Closed
10 of 13 tasks
crashkonijn opened this issue Nov 15, 2022 · 10 comments
Closed
10 of 13 tasks

I'm back baby! #8

crashkonijn opened this issue Nov 15, 2022 · 10 comments
Milestone

Comments

@crashkonijn
Copy link
Owner

crashkonijn commented Nov 15, 2022

Hi all,

First of all I'd like to thank everyone that has taken an interest to this project over the years!

After doing this as my graduation project back in 2016 I unfortunately didn't end up working in games and with that I didn't have the energy to put more effort into this project. Luckily I have been working as a .NET developer so my relevant coding experience did increase ✌

The last year I've started doing some private game dev to get back into the game 🕹 and for my latest project I started rebuilding a GOAP from scratch!

So far the project is composed of two separate projects:

  • A "Pure" GOAP written in C#. It knows nothing of unity and is only the node navigator in it's purest sense.
  • The Unity implementation of the above mentioned package including debug windows, editors and configuration through scriptable objects!

Features

So this is what I've got going so far:

  • Goals
  • Actions
  • Sensors (A proper example was lacking in the 2016 version)
  • Easy setup through scriptable objects
  • Proper abstractions
  • Proper demo
  • Basic versions of debug windows
  • Tests (partially)
  • Packaging it as a unity package
  • Running tests in a pipeline
  • Proper test coverage
  • Cleaning code
  • Documentation

Notes:

  • The debug windows are in somewhat rough state still (code wise) and still require some proper cleaning
  • It's not multithreaded (for now)

Help

If you'd like to get involved in the development or can help with the packaging or pipeline please let me know!

Sneak preview:

image
image
image
image
image
image

@crashkonijn crashkonijn added this to the version 2 milestone Nov 15, 2022
@crashkonijn crashkonijn mentioned this issue Dec 2, 2022
17 tasks
@ice-ko
Copy link

ice-ko commented Jan 7, 2023

Welcome back, looking forward to the follow-up updates,

@crashkonijn
Copy link
Owner Author

Thanks!

I've had a bit of a rough December, but I'll be continuing soon!

Btw, #9 has a much better overview of the work being done.

@ice-ko
Copy link

ice-ko commented Jan 12, 2023

hi crashkonijn,
Can you make a tutorial video for the feature/version-2 branch? I don't understand something,
Thanks!

@crashkonijn
Copy link
Owner Author

Hi!

Have you had a look at the unity project? I'm aware that it might be a bit simple as an example.

I don't prefer writing docs/recording a vid untill the code has settled a bit more.

Could you tell me what you don't understand? I could explain it or try and make it more obvious.

Thanks!

@ice-ko
Copy link

ice-ko commented Jan 14, 2023

Hi!

Have you had a look at the unity project? I'm aware that it might be a bit simple as an example.

I don't prefer writing docs/recording a vid untill the code has settled a bit more.

Could you tell me what you don't understand? I could explain it or try and make it more obvious.

Thanks!

I saw your demo, and I can’t see the information nodes when I open the GOAP Editor window. Is it because the update is not perfect?

@ice-ko
Copy link

ice-ko commented Jan 14, 2023

I want to join the task system, such as: cutting trees, picking fruits, planting, etc. Do you have any better suggestions?

@crashkonijn
Copy link
Owner Author

Hey @ice-ko

I've just done a minor update which makes the editor windows more accessible (Tools -> Goap).

Please note that with all the refactoring I did lately the Setup Inspector window is now broken. The Agents Node window should work during play mode (when selecting an agent).

I'm still planning on updating all the editor windows, however I'm still thinking whether or not I should use 2022.2 for that (with the improved UI Toolkit).

Please do note that this package is in active development and anything might still change. In the near future I'm planning on integrating this project in one of my own projects, that should give me better insight in what does or doesn't work and still needs improving.

I want to join the task system, such as: cutting trees, picking fruits, planting, etc. Do you have any better suggestions?

I'm not quite sure what you're asking here. Could you rephrase your question?

@ice-ko
Copy link

ice-ko commented Jan 17, 2023

Hey @ice-ko

I've just done a minor update which makes the editor windows more accessible (Tools -> Goap).

Please note that with all the refactoring I did lately the Setup Inspector window is now broken. The Agents Node window should work during play mode (when selecting an agent).

I'm still planning on updating all the editor windows, however I'm still thinking whether or not I should use 2022.2 for that (with the improved UI Toolkit).

Please do note that this package is in active development and anything might still change. In the near future I'm planning on integrating this project in one of my own projects, that should give me better insight in what does or doesn't work and still needs improving.

I want to join the task system, such as: cutting trees, picking fruits, planting, etc. Do you have any better suggestions?

I'm not quite sure what you're asking here. Could you rephrase your question?

ok i'll check for an update,
ai task system, assign tasks to ai to perform, such as task systems such as construction, collection, and felling in RimWorld

@crashkonijn
Copy link
Owner Author

Hi @ice-ko

Thanks for the clarification!

This package only focusses on the core elements of GOAP. You can specify goals and actions and it will figure out the best action to reach that goal. Performing and switching to the next action is something that this package will handle for you.

Something that it doesn't do is determining what the current goal is for an agent. (Which is something the original version does do, but was very limited to control). Since determining the goal is something that is very game specific I don't provide such a feature.

Changing a goal for an agent is all up to you, however it's very easy to do. An example can be seen in the AgentBrain script in the demo.

Right now the example is a bit basic, but I will extend that in the future.

If you have any further questions, let me know 😄

@crashkonijn
Copy link
Owner Author

Closing this issue, I just released the rebuild of this project!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants