Pixel Perfect

EKI One

152 posts in this topic

EKI One provide an Indie version of their Behaviour based software solution which for single player windows use could represent the best value for money I've seen yet for a comprehensive AI package. Priced at 99 euros it provides a pathfinding and behavior solution for game designers along with development tools to aid the process.

 

I've downloaded the trial version but not had time to test it out yet. Just thought I'd let people know.

 

Web site: EKI One

0

Share this post


Link to post

A very basic question...Is this Unity only or will it play nicely with LE and similar engines?

0

Share this post


Link to post

Looks interesting. I hope it does work with LE because that seems like a really good price for what you get.

0

Share this post


Link to post

It's been integrated into Unity, as I suspect this is their primary market place, but from what I've been able to ascertain it should work with any engine. It comes with sample integration code although, as I've already stated, I've not had time to evaluate this yet.

0

Share this post


Link to post

hey,

 

we also provide a WinSDK in C++.

Currently we have to update it, but we´ll provide you an sdk eighter before or at last if we have updated it.

Btw. There is also a chapter in the documentation "Integration of the EKI One® Engine" where you can mainly find the runtime integration.

You can read it if you download the trial.

The documentation for the workflow integration is involved in the SDK.

 

If you have further questions you can use e.g. our q&a system on www.answers.ekione.com

0

Share this post


Link to post

I started the process of looking at EKI one by talking to the guys at Artificial Technology as I wanted to reassure myself initially that this could be integrated into my Leadwerks engine and that I could import my game level geometry into their Sandbox editor for AI development testing. If this wasn't going to be achievable from the word go then there was little point in looking at the product further.

 

To cut a long story short, Frank @ Artificial Technology couldn't have been more helpful and has provided me with a copy of the C++ Windows SDK so I can evaluate how much work it's going to take to get the converter written for importing the geometry from a sbx file. They already provide example documentation, as psyfreak has previously mentioned, for integrating their engine into game engines written in C++.

 

So, given that I am now happy there are no major obstacles to getting the two products to work together I have started my evaluation of their product today. It's made me smile at times as a lot of what I'm seeing underlying their product is not dissimilar to what I've had to develop so far in order to get path finding and FSM based AI up and working. A lot of the AI supporting functions I've had to write are evident in their product. The big difference is this product has taken it a whole series of dimensions further than I could probably ever hope too.

 

  • Their path finding is based around Recast (currently pretty much State Of The Art navMesh generation and path finding).
  • They have inbuilt steering mechanisms for handling dynamic navigation.
  • Their use of Finite State Machines for decision making, including the ability to nest them.
  • A comprehensive set of functions needed for effective implementation of AI.

On top of this, and probably the nicest aspect of the product, a full set of integrated tools to manage the process, and believe me, it is evident that a lot of thought and work has gone into this. From a flowgraph style approach to FSM design with Lua support for the state and transition scripts with embedded editors to seamlessly handle all this to the Sandbox editor where you get to run and test the results of your design against your level geometry.

 

Their design style supports generic modular design methodology allowing sharing of modules between different deployments.

 

Yes, this product is fairly complicated, but then writing effective AI is a non trivial process and requires a degree of complexity, but it really seems they have provided the platform to make this really powerful once you understand the basics.

 

I am so interested in the potential of this that I have currently put all my development work on hold until I have finished the evaluation and will seriously consider integrating this into Leadwerks should the final evaluation remain this positive.

 

I believe Artificial Technology has managed to produce something very special here and all the Leadwerk game designers currently using C++ may be very glad they made that decision!

0

Share this post


Link to post

Its the completeness which makes me curious - however, iam not too positive about navmeshes which actually dont using the bounding volume but the edges to navigate AI agents. How about wallwalking, access of nodes for setting flags like runningNeeded etc. ? If one has to work through unknown source in contrast of exactly knowing whats going on keeps me from investigating further atm. But Iam looking forward to see for my self in a near future i guess.

0

Share this post


Link to post

I know exactly what you mean flachdrache, which is why I have stuck with developing my own so far as I have absolute control over that. I don't have much issue with the use of navigation meshes and you could easily use triggers to add flags for NPC activity etc but I do wonder what freedom I might lose as a result of using someone else’s system. However, I don't have a lot of time to devote to re-inventing to a large degree what these guys have already done, and probably done better than I could ever do. I'm sure by the time I finish the evaluation I will have quite a few questions for them. One that’s already occurred to me is can I extend the set of functions already available to the AI scripting with my own. For example, if I have a findNextCoverPoint() function in my engine can that be exposed to their engine and called from a script?

 

There is always a price to pay for anything I guess and unless I want to spend the rest of my life designing the engine rather than making the games then I guess some compromise will be required down the line!

0

Share this post


Link to post

Looks like good software! I would be pleased to see this integrated with LE3.

 

If the community can wait a couple weeks, I will be releasing an (alpha) version of my AI Pathing algorithms with several different navigation options to choose from. Maybe something temporary until Josh gets third-party software. (The first release will be available as a Leadwerks.Net Plugin / standalone Lua scripts.)

0

Share this post


Link to post

I'm sure a lot of the community will be very grateful for any path finding solution … that sounds great RP!

 

I will be looking at integrating this (EKI) into LE2 as I suspect LE3 as a stable, fully featured viable game engine API is still a long way off. That will hopefully open up more possibilities for the community.

0

Share this post


Link to post

Work is ongoing on the integration and I am working directly with Artificial Technology. The initial phase of exporting Leadwerks geometry into a format suitable for import into their sandbox is working well.

 

Below is a screen shot of my basic minimal test scene in Leadwerks and then the same scene after the static geometry import into their Configurator sandbox with a nav mesh generated. Work to automate all of this as much as possible continues and once complete the integration of their engine into Leadwerks will start; completing the circle. The solution when successfull will be made freely available to people purchasing 'EKI one' for use with Leadwerks in the form of an integration SDK.

 

post-51-0-50082900-1309506001_thumb.jpg

 

post-51-0-20937900-1309506032_thumb.jpg

0

Share this post


Link to post

Thanks for the continuing report and work on this Pixel. Watching with keen interest.

0

Share this post


Link to post

Yes thank you for your work on this. Implementing this AI engine into Leadwerks will no doubt make LE2 and LE3, easier for less qualified programmers like me:(.

0

Share this post


Link to post

Thanks for the support guys, it's nice to see interest in this as it's something I'm really quite excited about and truly believe will be of great benefit to any Leadwerks users serious about adding professional AI behaviour capability to their games.

 

Work continues on the integration and I'm now consolidating my code so far into a simple utility that will make the export of Leadwerks levels into EKI One very easy. I'm hoping to have the bulk of that completed by the weekend so I can start working with them on the next phase, the integration of their engine into Leadwerks.

 

Many thanks to flachdrache who recently contacted me and offered me a test level he'd constructed for the purpose of AI navigation tests, so I could try this out in EKI one to see how it coped with generating a navMesh for it. The results were quite positive and are shown below. The settings chosen were a maximum walkable slope of 25 degrees, a minimum clearance height for the agent (NPC) of 2 metres and a voxel cell size of 0.1 to ensure fine resolution.

 

The white square blocks visible in the navMesh are the node handles which allow for manual fine tuning of the auto generated navMesh, giving greater flexibility to the user to tailor the navMesh. These can be selected and moved in any direction. You cannot add or delete nodes though.

 

Overall overhead view of entire level:

 

post-51-0-53444300-1310073237_thumb.jpg

 

Close up of Bridge area, notice the navMesh does not extend under the bridge due to a lack of 2 metre clearance:

 

post-51-0-49496800-1310073308_thumb.jpg

 

Close up of pipes and walled areas:

 

post-51-0-37715400-1310073378_thumb.jpg

 

Close up of the tops of building walls:

 

post-51-0-26365300-1310073446_thumb.jpg

 

I hope next week to post more detail on the import utility I'm creating with some screenshots.

0

Share this post


Link to post

This is great to see Pixel. I'd be extremely interesting to see an agent navigating that scene. Excellent work!

0

Share this post


Link to post

Progress with the Export tool continues and you can see a screenshot of the interface as it currently stands below. It really should be no more complicated than simply pointing it at the neccessary directories and files and pressing build. I still have most of the coding behind this to do yet (all the conversions/config file generation); but it's progressing well. The resultant project can then be loaded into the EKI one configurator and the static geometry displayed in their Sandbox, allowing the navMesh to be generated/tweaked and the AI - Agent behaviour to be developed and tested prior to being exported to your game.

 

post-51-0-93407500-1310253333_thumb.jpg

0

Share this post


Link to post

Progress continues on the export utility.

 

Completed:

 


  •  
  • Export of basic EKI one project directory structure and files to target project directory.
  • Export and modification of the terrain raw file.
  • Export and conversion of the static geometry from the sbx file (automatic gmf to obj file conversion ... thanks to MasterXilo for allowing me to adapt his code for this).

To Do:

 


  •  
  • Construction of the various XML config files.
  • Code the Progress Bar on the interface.
  • Lots of testing.

0

Share this post


Link to post

The latest on my integration work with the EKI One toolset is that my Leadwerks Scene Export tool for EKI One is now working. I completed the configuration file exports tonight and tried it out on my test scene for my game STRANDED. It worked first time and the results can be seen below.

 

The export took about 1 minute to complete and the resultant project loads in about 20 seconds into the EKI One sandbox. The nav mesh took about 3 seconds to generate once the level was loaded.

 

I still need to do a lot of testing and just tidy up a few things on the exporter interface but otherwise this phase should be completed allowing me to move onto the second phase which is the integration of their engine into Leadwerks.

 

Will keep you updated.

 

post-51-0-02713600-1311970072_thumb.jpg

 

post-51-0-01354100-1311970110_thumb.jpg

0

Share this post


Link to post

That looks just too good to be true...and it would save us all soo much time!

0

Share this post


Link to post

That looks just too good to be true...and it would save us all soo much time!

 

+1

 

--Mike

0

Share this post


Link to post

Ok, a quick demo of some simple nav mesh pathfinding using my Leadwerks Stranded Test Level in the EKI One Configurator / Sandbox. I simply created an agent (NPC) with a random movement behavior just to prove it all works. Best watched in 720 full screen mode:

 

0

Share this post


Link to post

I think i'll take a stab at this now! Thank you for all the information, and i'm sure i'll bug you for more info sometime in the future :)

0

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Create Your Account

Sign in

Already have an account? Sign in here.


Sign In Now