Jump to content

Search the Community

Showing results for tags 'AI Recast Opensteer'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Blogs

  • Development Blog
  • Canardian's Blog
  • Beyond Civilization Blog Ext
  • Tyler's Blog
  • macklebee's Blog
  • B-Byrnes' Blog
  • Marleys Ghost's Blog
  • omid3098's Blog
  • Richardsimpo123456's Blog
  • DJDD's Blog
  • Rick's Blog
  • --
  • xtreampb's Blog
  • Economically Disadvantaged
  • klepto2's Blog
  • Old Blog
  • Chris Paulson's Blog
  • Davaris' Blog
  • nil
  • Rekindled Phoenix's Blog
  • Flexman's Blog
  • Kattemaksu Online
  • Marcousik's Creations Blog
  • EVE LBS Studio
  • Rendering puzzles
  • Screen Size Utility
  • Niosop's Blog
  • 1299 RTS Game Project
  • Blitzbat's Blog
  • gordonramp's Blog
  • Andy Gilbert's Blog
  • Marcus' Blog
  • JornAggror Blog
  • diedir's Blog
  • wayneg's Blog
  • Masterxilo's Blog
  • Dave Lee's Blog
  • peubuy's blog
  • OD Arts -Leadwerks Blog
  • The progression......
  • Ultra Software Company Blog
  • The Progression
  • Pancake's Blog
  • Test Blog
  • BLaBZ Blog
  • Pure³d's Blog
  • dreamhead Blog
  • RVL's Blog
  • DB's Blog
  • Toxin Games Development Blog
  • CombatHelo Blog (RSS Import)
  • Foolish's Blog
  • ZioRed's Corner
  • Toxin Games Twitter
  • Shard - Third Initiative
  • Shard's Blog
  • Soamp's Blog
  • Soamp's Blog
  • Laurens' Blog
  • JT`s warehouse district
  • Kennar's Blog
  • KiteFuchs' Blog
  • KiteFuchs' Blog
  • Rachel's Dev-Blog
  • Eagle's Blog
  • zaphos' Blog
  • please delete this blog
  • Afke's Blog
  • Richard Simpson
  • knowledgegranted's Blog
  • EdzUp(GD)'s Blog
  • aGameLife's Kelasel MMORPG Blog
  • tournamentdan's Blog
  • Beyond Civilization Blog
  • smashthewindow
  • AnniXa's Blog
  • AnniXa's Blog
  • Elemental Development
  • DigitalHax Blog
  • Aria's Blog
  • Strogg76's Blog
  • Clackdor's Blog
  • Leadwerks Project Status
  • simpleprogrammer's Blog
  • Pathfinding in LE.2.x
  • Naughty Alien's Blog
  • smashthewindow's Blog
  • Ali Salehi's Blog
  • Jardar's Blog
  • Chris Vossen's Development Blog
  • Scarlet Thread Studios' Blog
  • Kronos' Blog
  • Benton's Blog
  • ChrisV's Blog
  • tjheldna's Blog
  • shadmar's Blog
  • 3D Masons, LLC
  • Andy Gilbert's Enviro Models
  • ParaToxic's Blog
  • NarkLord's Blog
  • ChrisMAN's Blog
  • ChrisMAN's Blog
  • CGMan's Blog
  • The Game
  • Chris Tutorials
  • Leadwerks 3 Experience
  • An Alien Saga
  • klepto2 & Leadwerks 3
  • Inside the mind of eternal insomniac
  • josk's Blog
  • Shader Development in Leadwerks 3.1
  • 3D Coat : Column game making of
  • Einlander's Blog
  • Ginger George's Blog
  • I have a problem
  • Michael_J's Blog
  • nasamydifol's Blog
  • Digman's Blog
  • noesisGUI
  • SavageDogg38's Blog
  • Built from Ruins
  • Remaining Days
  • test_external_blog
  • The Hunt For Food Blog
  • Crazy Minnow Studio
  • CrazyMinnowStudio
  • Guppy's Blog
  • Playing Online
  • Evayr's Blog
  • DerRidda's Blog
  • Karl's Blog
  • whiterabbit's Blog
  • Tinyboss Games
  • abendkleider's Blog
  • sacguccireplica's Blog
  • Arena
  • Imchasinyou's Blog
  • xtom's Blog
  • Lua is better than you think.
  • mdgunn's Blog
  • Crime Closer
  • lxFirebal69xl's Blog
  • Wedmer's Blog
  • Lockdown, going forward.
  • Pump-Action Captain
  • Igor's Blog
  • Dead Anyway
  • Runenrise and more
  • reepblue's Blog
  • Slippy's Corner
  • LUA Musings
  • severjack's Blog
  • mikeporter's Blog
  • miko93's Blog
  • Megalocerous' Blog
  • lxFirebal69xl's Blog
  • aiaf's Blog
  • Lostghbear's Blog
  • echo $BLOG_NAME > blog_title.tmpl
  • johnadam111's Blog
  • Dwarf Beard
  • burgelkat's Blog
  • Charrua's Blog
  • peterpaul's Blog
  • joshmathews' Blog
  • Martin Kearl's Blog
  • Brutile's blog
  • tipforeveryone's Blog
  • Glushchenko Blog
  • Express Lab Games Blog
  • Blueapples' Blog
  • DooMAGE's Blog
  • Structura devblog
  • UltraEngine - Experiences, add-ons and other Stuff
  • martyj's Blog
  • Dragonfreak's Blog
  • Brutile's Blog
  • assigmenthelp
  • Case Study Assignment Help
  • How to deal with bad grade ?
  • How to deal with bad grade ?
  • GameDev Blog
  • devcjohnson's Blog
  • devcjohnson's Blog
  • THE WHAT? Blog
  • The Demurian Scribe
  • GUI Editor
  • GUI Tutorial
  • noob_shaders
  • The Seventh World
  • Phodex Games Blog
  • Leadwerks VS Source 2
  • Work in Progress - Scifi PBR Media
  • [C++] First Player game start
  • The Blog of Yue
  • Snowboarding Development Blog
  • Ocean: Rendering in Leadwerks 4
  • Game Ready Maps
  • Ultra App Kit (Advanced Custom Widgets)
  • Poking around
  • Blender tutorials
  • Usefull Scripts & Components
  • Thirsty Panther
  • Ultimate Action Game Controller

Forums

  • Software
    • General Discussion
    • Programming
    • Game Artwork
    • Showcase
    • Suggestion Box
    • Bug Reports
  • Addons
    • Extensions & Plugins
    • Components
    • Addon Development
  • Platforms
    • Windows
    • Linux
    • macOS

Categories

  • Streams and Events
  • Tutorials
  • Games
  • Work in Progress

Categories

  • Components
  • Effects
  • Extensions
  • Materials
    • Asphalt
    • Brick
    • Concrete
    • Effects
    • Fabric
    • Ground
    • Marble
    • Metal
    • Organic
    • Plaster
    • Rock
    • Roof
    • Sand
    • Snow
    • Surface Imperfections
    • Tile
    • Wood
  • Models
    • Animals & Creatures
    • Architecture
    • Food
    • Machinery
    • Vehicles
  • Scenes
  • Skyboxes
  • Tools

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Location

Found 1 result

  1. Youtube video of my AI. Red line is path found by recast. White text is current behaviours running in behaviour tree. Here's what the BT looks like (yes it is C++) alive::Node* moveToEnemy(std::string type = "walk") { return alive::TreeBuilder() .execute<ActionMoveToEnemy>() .type(type) .end(); } alive::Node* resetToStart() { return alive::TreeBuilder() .composite<alive::SequenceNode>() .execute<ActionCurrentMode>() .mode("resetToStart") .end() .execute<ActionAnimate>() .Speed(1) .Name("rifle_idle") .AnimType(PLAY_REPEAT) .end() .composite<alive::ParallelNode>() .execute<LookForward>() .Parallel(true) .end() .execute<ActionStopMove>() .end() .end() .end(); } alive::Node* gunAttack() { return alive::TreeBuilder() .composite<alive::SequenceNode>() .execute<ActionCurrentMode>() .mode("gunAttack") .end() .execute<hasGun>() .Equals(true) .end() .execute<CanSeeEnemy>() .Equals(true) .Parallel(false) .end() .execute<ActionStopMove>() .end() .execute<ActionAnimate>() .Speed(1) .TranTime(1) .Name("rifle_idle") .AnimType(PLAY_REPEAT) .end() .composite<alive::ParallelNode>() .execute<CanSeeEnemy>() .Equals(true) .end() .execute<WithinFiringRange>() .Equals(true) .end() .execute<AimAtEnemy>() .end() .composite<alive::SequenceNode>() .decorator<alive::RepeatNode>() .composite<alive::SelectorNode>() .execute<NeedToAim>() .Equals(true) .end() .execute<FireAtEnemy>() .end() .execute<ActionTimer>() .time(0.01) .end() .end() .end() .end() .end() .end(); } alive::Node* moveToAttackPosition() { return alive::TreeBuilder() .composite<alive::SequenceNode>() .execute<ActionCurrentMode>() .mode("moveToAttackPosition") .end() .execute<hasGun>() .Equals(true) .end() .add(resetToStart()).end() .composite<alive::ParallelNode>() .execute<IsSeenIdle>() .Equals(false) .end() .execute<WithinFiringRange>() .Equals(true) .end() .execute<hasGoodAimAtEnemy>() .Equals(false) .end() .add(moveToEnemy()).end() .end() .end(); } alive::Node* moveToWithinRifleRange() { return alive::TreeBuilder() .composite<alive::SequenceNode>() .execute<ActionCurrentMode>() .mode("moveToWithinRifleRange") .end() .execute<hasGun>() .Equals(true) .end() .composite<alive::ParallelNode>() .execute<LookForward>() .Parallel(true) .end() .execute<IsSeenIdle>() .Equals(false) .end() .execute<WithinFiringRange>() .Equals(false) .end() .add(moveToEnemy()).end() .end() .end(); } alive::Node* hunt() { return alive::TreeBuilder() .composite<alive::SequenceNode>() .execute<ActionCurrentMode>() .mode("hunt") .end() .composite<alive::ParallelNode>() .execute<LookForward>() .Parallel(true) .end() .execute<IsSeenIdle>() .Equals(false) .end() .execute<CanSeeEnemy>() .Equals(false) .end() .add(moveToEnemy()).end() .end() .end(); } void Crawler::init(Pedestrian* pPedestrian, Vision *pvision, ActorGun *pRifle) { // .decorator<alive::RepeatNode>() // .decorator<alive::ErrorHandlerNode>() alive::Node* behave = alive::TreeBuilder() .decorator<alive::RepeatNode>() .add(resetToStart()).end() .composite<alive::SelectorNode>() // Reset to default // Attack with gun .add(gunAttack()).end() // Move to a aim position .add(moveToAttackPosition()).end() // Move to attack (to melle or to get in firing range) .add(moveToWithinRifleRange()).end() // Hunt .add(hunt()).end() // Move to waypoint .composite<alive::ParallelNode>() .execute<CanSeeEnemy>() .Equals(false) .end() .composite<alive::SequenceNode>() .add(resetToStart()).end() .execute< CrawlerCompare<bool> >() .Variable(&Crawler::hasWaypoint) .Reference(true) .end() .execute<ActionMoveToWaypoint>() .end() .end() .end() // Idle .composite<alive::SequenceNode>() .execute<ActionCurrentMode>() .mode("idle") .end() .composite<alive::ParallelNode>() .execute<CanSeeEnemy>() .Equals(false) .end() .composite<alive::SequenceNode>() .add(resetToStart()).end() .execute<ActionAnimate>() .Speed(1) .Name("rifle_idle") .AnimType(PLAY_ONCE) .end() .end() .end() .end() .end() .end(); rifle = pRifle; pedestrian = pPedestrian; vision = pvision; // alive::InitializeWithBlackboard<Crawler> initialize(*this); alive::InitializeWithBlackboard<Crawler> *initialize = new alive::InitializeWithBlackboard<Crawler>(*this); m_Brain.registry.setAddObserver(*initialize); m_Brain.registry.setAddObserver(*new InitializeAction(*this)); //m_Brain.registry.setAddObserver(*new InitializeAction(*this)); m_Brain.add(*behave); } void Crawler::Update( float gameLoopTime ) { pedestrian->currentAction = pedestrian->currentMode + ","; m_Brain.tick(); pedestrian->Update( gameLoopTime ); } void Crawler::Render( float gameLoopTime) { pedestrian->Render( gameLoopTime ); vision->Render( pedestrian->scene->cam ); }
×
×
  • Create New...