Jump to content
  • Advertisement
Sign in to follow this  
TheArmchairPhysicist

foss ai utilities for unity/crymono: feature requests? ideas?

This topic is 2411 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

[color=#111111][font=Helvetica, Arial, sans-serif]

(cross-posted from Unity forums)

Hi,[/font]

[color=#111111][font=Helvetica, Arial, sans-serif]

Since late September of last year, I'm the AI programming lead for a mod called Outcast: Legacy of the Yods (formerly openOutcast). For those of you who don't know, it's an unofficial sequel to an old 1990's game...specifically "Outcast" by Appeal. But I'm not here to pimp said project, much as I'd like to [/font]wink.png[color=#111111][font=Helvetica, Arial, sans-serif]

.[/font]

[color=#111111][font=Helvetica, Arial, sans-serif]

As you may know, the original Outcast had some extremely interesting and versatile AI, particularly for friendly characters. They used some very early precursor to MAS I think. In our attempts to meet the expectations set there, and additionally inspired by everyone's favorite proprietary crowd simulator, I've been designing an AI and crowds editor in C# with backend support for both Unity and CryMono. It applies some adaptations of bleeding-edge things like multiagent systems, utility theory, conformant graph-based planning, and distributed belief propagation in ways that should be well-suited to designer editing. But of course I'm going to try to address the deficiencies of the Unity editor in this regard (behavior trees, anyone?). I'll also probably include an agent editor of some kind...though if I can I'll procrastinate or defer the writing of the actual UI, because I hate that stuff to no end ;P.[/font]

[color=#111111][font=Helvetica, Arial, sans-serif]

While it's not ready for release yet, I can confirm that it's amazingly fast compared to the unfinished Lua prototypes used in the forthcoming Oasis 1.3 demo (more specific profiling data on release), and that all the source code will be made totally public. I am strongly leaning towards an MIT license at this point, and 100% committed to maintaining the community release so it is useful and versatile. Obviously, for that reason, I don't just want to restrict myself to the narrow interests of any individual project. [/font]

[color=#111111][font=Helvetica, Arial, sans-serif]

So...ideas? Requests? Initial impressions? Bad experiences and/or caveats with existing, similar tools?[/font]

Share this post


Link to post
Share on other sites
Advertisement
I don't know what FOSS resources are available for Unity, but I'd be fascinated if you could describe a bit more what options you've looked at and where to get them. Unity is a good start, but still has a lot not built-in (or only for the Pro version, such as navmeshes).

Share this post


Link to post
Share on other sites
Hi Jeffrey,

This is more of a behavior selection library I'm writing in .NET to integrate with multiple engines (Unity, CE3, XNA possibly---depending on who still uses that), so I haven't looked much into engine-specific resources. Mind, it's not intended to be like an engine feature or editor thing, where you input parameters or make api calls and it handles everything else for you. That'd be virtually impossible; there's a reason no such thing exists for high-level AI stuff. It's more like a set of power tools...features like real-time (ish) multiagent HTN planning, conformant planning, support for specifying complex task/resource interdependencies in scheme, cooperative belief propagation, superagents (agents controlling multiple NPCs using an LOD-like scheme), simple game/utility theory, and miscellaneous software optimizations for crowd simulation...basically a good set of tools for NPCs to select /what/ behaviors they want to execute together, allowing good environmental awareness and planning in the short term even with uncertainties present. But this is not going to be very low-level...you can't do much pathfinding with it specifically, though I may add some fallback waypoint system...all of that gets handled by the engine it's plugged into. And it is not intended to be black-boxed by developers, which is why it is so necessarily open source.

So far it seems people don't use Unity for a lot of AI stuff, for the reasons you mentioned. Correct me if I'm wrong; I hope this will remedy the issue, since it's a damn good engine.

Share this post


Link to post
Share on other sites
Hi Imbarns,

Unity supports pathfinding natively in pro, so I'm not going to mess with that.

Also I plan on attempting to target android, since it basically supports all my code and should run reasonably fast e.g. on the new tegra archs. As for iOS...bleh...closed platforms ftl. In either case, I make no promises...primary platform is Win64.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!