User Tag List

Page 2 of 2 FirstFirst 12
Results 41 to 78 of 78

Thread: Top Down Stealth Toolkit

  1. #41
    1
    Update 3 (v1.3) has gone live on the Unreal Engine Marketplace. This update officially adds support for v4.13 of the Unreal Engine & introduces the following changes to the product:

    1. The Gadgets from previous iterations have now been split up into three categories based on their functions: Suit Abilities, Gadgets, & Weapons. Splitting them up into multiple categories essentially paves the way for using a component based approach, thus nullifying the need to store details about implementation of all types of gadgets within the player character or within a single component. This facilitates replacement of the default player character with custom player characters/pawns with minimal code transfer. The three new actor components introduced for this purpose are:

    Suit Abilities Manager: The Suit Abilities Manager handles all instant activation abilities. As a result, the 'EMP Blast' function from the previous iteration will be activated through this component. The Suit Abilities can be used as many times as needed, but have a cooldown period once they're activated.

    Gadget Deployment System: The Gadget Deployment system is used in scenarios where activation of a loadout entity requires it to be deployed in the physical level space. The 'Proximity Shockmine' from previous iteration will be deployed through this component. The Gadgets can be used only for a limited number of times, but do have any cooldown periods.

    Weapon Targeting System: The Weapon Targeting system enables usage of weapons that require manual targeting by the player. For example, the Stun Gun implementation is now handled through this component. The component takes cares care of both aim/holster logic as well as the actual firing mechanism. The Weapons can be used only for a limited number of times, but do have any cooldown periods.

    All three of these components interact with the parent class through their associated interfaces only, thus allowing them to be used with different types of actors. For example, when the Stun Gun is being used, the Weapon Targeting System calls the associated interface function from the player character (owning actor), which then creates a laser particle system to accurately portray the aiming mechanics.

    On the other hand, when the parent actor interacts with these components, it does not need to provide any information. A request is passed through to the component, which then handles the required functionality based on the equipped entity of it's type. For example, if there are multiple types of possible suit abilities, with EMP Blast being the equipped one, the Suit Abilities Manager will know that it needs to activate the EMP Blast & not the other abilites.

    2. The inclusion of multiple types of entities in the player's arsenal has been implemented through a new loadout system, which consists of one type each of Suit Abilities, Gadgets, & Weapons. Among these three entities, only one may be active at any point of time. For example, if the active loadout entity is a Gadget, the player pressing 'F' will deploy the selected gadget. Of course, the active loadout entity can be changed at runtime through their associated input buttons whenever required.

    In the screenshot below, the three different loadout entities are marked within the green box, while the active entity marked within the red box has been scaled up to convey the aforementioned information to the player:

    Name:  loadout.jpg
Views: 299
Size:  166.1 KB

    3. Added a new function library BPFL_GetterFunctions to easily retrieve frequently referenced important information without compromising on the visual clarity of the code. As a result, accessing the gadget data array or enquiring about the active hud state, can be done by calling their associated getter function from this library.

    Name:  getfunclib.jpg
Views: 294
Size:  193.3 KB

    4. The BP_PlayerController class now manages all low level HUD requests [updating independent UI elements like stamina bar, mission timer, loadout button states, etc within the In Game HUD] thus acting as a single conduit through which all updates pass through.

    Name:  playercon.jpg
Views: 300
Size:  203.8 KB

    The BP_PlayerHUD & the BP_GameInstance classes on the other hand, handle all high level HUD state changes like transitions between the loadout HUD, In game HUD, & Mission Summary HUD.

    5. The new custom Game State class stores critical information about the mission status, while the new Player State class stores information about player activity that aren't directly related to any of the character's core attributes.

    6. The new Weapon Pickup class provide opportunities for the player to change their weapon loadout at runtime.

    7. The BP_GameMode now handles initialization of all core gameplay actors from a single central location, thus ensuring both improved code clarity as well as an organized workflow instead of the actors having to rely on Begin Play events or initializing each other.

    Name:  initcore.jpg
Views: 299
Size:  224.3 KB

    8. A new Stamina Manager component has been added to move the stamina management part of the sprinting mechanic over to a separate independent module. This basically frees up the player character to primarily deal with changing the walk speed parameters, while leaving most of the remaining calculations to the component.


    All changes within the blueprints are marked with the boolean variable 'Version1.3' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables as well as functions added to existing blueprints are also marked in the event graph as shown below:

    Name:  v13.jpg
Views: 300
Size:  245.8 KB

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Changes in the Content Browser:

    - Blueprints BP_TDSTGameInstance & BP_TDSTGameMode renamed to BP_GameInstance & BP_GameMode respectively.

    - New Game State class added: BP_GameState

    - New Player State class added: BP_PlayerState

    - New Actor components added: BPC_GadgetDeploymentSystem, BPC_StaminaManager, BPC_SuitAbilitiesManager, & BPC_WeaponTargetingSystem.

    - EGadget enum list modified.

    - New Enums added: EAbilities, EPlayerLoadoutSystems, & EWeapons.

    - New Function Library added: BPFL_GetterFunctions

    - New Gameplay Actor blueprints added: BP_WeaponPickup

    - New Interfaces added: BPI_GadgetDeployment, BPI_Stamina, BPI_SuitAbilities, & BPI_WeaponTargeting.

    - Members of struct Struct_GadgetData modified.

    - New Structs added: Struct_AbilityData & Struct_WeaponData.

    - Widget Blueprints Widget_TopDownHUD & Widget_InGameHUD renamed to Widget_InGameHUD & Widget_MissionSummary respectively.

    - New Widget Blueprint added: Widget_InventoryButton.
    Last edited by Stormrage256; 10-18-2016 at 01:17 AM.

  2. #42
    0
    Hey there! I just bought the kit, super useful to learn! Everything's great so far... except I found a small glitch.

    If I enter and leave the stationary camera while sprinting, it won't lose my track. It keeps updating the position and follow me like, no matter the distance.

    I'm a bit tired now if you need I can make a video or something. I'm using 4.13

    Cheers!
    Luke

  3. #43
    1
    Quote Originally Posted by Luke di Rago View Post
    Hey there! I just bought the kit, super useful to learn! Everything's great so far... except I found a small glitch.

    If I enter and leave the stationary camera while sprinting, it won't lose my track. It keeps updating the position and follow me like, no matter the distance.

    I'm a bit tired now if you need I can make a video or something. I'm using 4.13

    Cheers!
    Luke
    Hi Luke, thanks for your feedback & also for pointing out the bug. I was able to reproduce it & the fix will be submitted today to the Marketplace team.

    Meanwhile if you want to continue along with your project, you can check out the screenshot below for the fix. It only involves connecting two nodes in the 'BP_StationaryAI_Parent' blueprint. Drag the pins for 'Medium' & 'Low' cases of the switch node right at the opening section of the 'Vision Check' custom event & connect it to the 'Set Active Target' to null node further down the event flow as marked in the screenshot.

    Name:  CamBugFix.jpg
Views: 293
Size:  440.4 KB

  4. #44
    0
    Perfect! Thanks!

    Keep up the good work!!

  5. #45
    0
    Quote Originally Posted by Luke di Rago View Post
    Perfect! Thanks!

    Keep up the good work!!
    Glad to hear that it's working, Luke. The update has been submitted to the Marketplace team & should be available through the launcher in the coming days. Again thanks for pointing out the error.

    Edit: The v1.3.1 update has gone live on the marketplace & has fixed the aforementioned bug.
    Last edited by Stormrage256; 10-21-2016 at 05:59 AM.

  6. #46
    0
    OK, My game is pretty well done. I'm working on the menus, sound effects, finishing touches etc. I thought I was going crazy a couple weeks ago because all my fixed way-point guys switched to random way-point. I fixed all the enemies in all my levels and moved on. I just open my project again and all of my fixed waypoint guys are now random again on every level. What might I be messing with that would cause them all to switch to random? I did just add footstep sounds to the player and alert voices to the enemies. Could that have caused it?

    Update: I think that when I change the AI controller, for example to add the footstep sounds, when I press the recompile button it sets them to the default of random waypoints.
    Last edited by raymondlee306; 10-23-2016 at 03:53 PM.

  7. #47
    0
    Quote Originally Posted by raymondlee306 View Post
    OK, My game is pretty well done. I'm working on the menus, sound effects, finishing touches etc. I thought I was going crazy a couple weeks ago because all my fixed way-point guys switched to random way-point. I fixed all the enemies in all my levels and moved on. I just open my project again and all of my fixed waypoint guys are now random again on every level. What might I be messing with that would cause them all to switch to random? I did just add footstep sounds to the player and alert voices to the enemies. Could that have caused it?

    Update: I think that when I change the AI controller, for example to add the footstep sounds, when I press the recompile button it sets them to the default of random waypoints.
    Hi Raymond, glad to hear that your project is nearing it's completion. I think what's happening is that the enum value for movement type within the melee & ranged patrol bots got reset & hence retained the values of the parent patrol actor which is set to random waypoints. It sometimes happens due to circular dependencies when using inheritance, though I'm not sure if that's the case.

    I'll try to move the waypoint calculation logic, including the enum over to an actor component in the next update. This way you can just add this waypoint calculation component to an actor & it should act as an independent module. And don't worry, it's not going to be a big change. Just a couple of functions within the parent patrol class moved over to an actor component.
    Last edited by Stormrage256; 10-24-2016 at 05:04 AM.

  8. #48
    0
    Quote Originally Posted by raymondlee306 View Post
    OK, My game is pretty well done. I'm working on the menus, sound effects, finishing touches etc. I thought I was going crazy a couple weeks ago because all my fixed way-point guys switched to random way-point. I fixed all the enemies in all my levels and moved on. I just open my project again and all of my fixed waypoint guys are now random again on every level. What might I be messing with that would cause them all to switch to random? I did just add footstep sounds to the player and alert voices to the enemies. Could that have caused it?

    Update: I think that when I change the AI controller, for example to add the footstep sounds, when I press the recompile button it sets them to the default of random waypoints.
    Alright, the patrol waypoint calculation logic has been moved over to a dedicated component which should prevent the issue that you mentioned. It will be made available for both 4.12 & 4.13 versions of the toolkit in the upcoming update.

  9. #49
    0
    Update 4 (v1.4) has gone live on the Unreal Engine Marketplace. This is a v4.13 exclusive update & introduces the following changes to the product:

    1. Added two new weapons: Handgun & Silenced Handgun, thus providing the option to destroy AI bots instead of just temporarily disabling them. The implementation is handled through the Weapon Targeting System component introduced in the last update. Both these weapons functioning almost identically, with the exception that the Handgun produces a loud noise that could alert nearby patrol bots.

    2. Since the aforementioned weapons introduce the possibility of AI bots being destroyed, the update introduces a new class of actors that act as replicas for the destroyed bots without the performance cost of the real bots that they replace. These Defunct Replica Bots are spawned with the same physical state as the original.

    3. Added a new actor component 'Distress Signal Broadcaster' that can be added to any incapacitated bots or dead bot replicas, in order to alert nearby AI bots that are capable of responding to it. For example, an incapacitated patrol bot will use this component to continuously search for other patrol bots that are capable of reviving it. Once a suitable entity has been detected, it will be tasked with reviving the incapacitated bot.

    4. Added a basic Main Menu system.

    5. Moved the waypoint calculation logic for patrol bots to the new actor component 'BPC_PatrolWaypointSystem'.

    6. Added Motion Sensors that can detect player movement & trigger alarms to alert nearby patrol bots.


    All changes within the blueprints are marked with the boolean variable 'Version1.4' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables as well as functions added to existing blueprints are also marked in the event graph as shown below:

    Name:  14.jpg
Views: 248
Size:  274.9 KB

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Changes in the Content Browser:

    - New actor components: BPC_DistressSignalBroadcaster & BPC_PatrolWaypointSystem.

    - New blueprint interfaces: BPI_DistressSignalBroadcast & BPI_DistressSignalResponse.

    - New actor blueprints: BP_DefunctCameraBotReplica, BP_DefunctPatrolBotReplica, BP_DefunctTurretBotReplica, & BP_MotionSensor.

    - New static mesh: SM_MotionSensor.

    - New material instance: MI_Basic_Red.

    - New map: MainMenuMap.

    - Added new entries to enum 'EWeapons'.

    - Added new widget blueprint: Widget_MainMenu.

  10. #50
    0
    Could you update the tutorial for moving this stuff to TPE or FPE templates? So much has changed it is very confusing in it's current state.

  11. #51
    0
    Quote Originally Posted by James Barnette View Post
    Could you update the tutorial for moving this stuff to TPE or FPE templates? So much has changed it is very confusing in it's current state.
    Thanks for pointing that out, James. I've updated the tutorial & new screenshots have been added with descriptions to demonstrate the modifications required for migrating the v1.4 Patrol AI to a new template.

  12. #52
    0
    Top Down Stealth Toolkit Tutorial: How to create customized Laser Security Systems

    [Note: I've reduced the pixel quality of the sample screenshots to make it easier to load on the forum page. If the images are not clear enough, you can check out higher quality versions from the associated blog post at Unreal Possibilities: https://unrealpossibilities.blogspot.in/2016/12/top-down-stealth-toolkit-tutorial-how.html]

    The Laser Security Systems in Top Down Stealth Toolkit function as an auxiliary layer of AI Threat Detection by alerting all nearby patrol bots upon being intercepted by the player. The underlying logic is a simple combination of Timeline based movement & Collision Overlap checks. These actors support drag & drop functionality from the editor & can be easily customized using the variables exposed to the editor from the blueprints. This post goes over the impact of the aforementioned parameters on the working of Laser Security Systems.

    Name:  LSSEditor.png
Views: 206
Size:  646.2 KB

    1. Length: The Laser Security System uses a box collision component to determine if the player is within it's range. The length parameter determines the total length of this box & also controls the area covered by the laser particle system.

    2. Max Height: As described in the tooltip, this variable determines the max height up to which the lasers move relative to the default position at which the actor has been placed in the level.

    3. Player Height: The Player Height parameter is used to control the color of the laser based on it's position relative to the ground. Red color indicates that players passing through the laser will trigger an alarm while white color indicates that the laser tracker has moved up beyond the player's height & thus enable safe passage below it. This can be quite useful in top down games, as perception of the location of actors that move along the z plane may not always be intuitive to the player.

    4. Alarm Timer: The Alarm Timer value determines how often the alarms are triggered while the laser system has an active target. Since the range of alarm noises are limited, having a timed alarm system can improve the chances of alerting nearby AI patrol bots.

    5. Movement Timeline Starting Time: This parameter determines the starting location of the laser along it's movement trajectory. It has a range of 0.0 to 4.0, with 0.0/4.0 representing the starting position [i.e. the location at which the actor was placed] & 2.0 representing the highest position along it's movement trajectory. Anything between 0.0 & 2.0 implies that the laser will have an upward motion going towards the highest point along the trajectory, while a value between 2.0 & 4.0 means that it will have a downward motion going towards the lowest point or the starting position along the trajectory.

  13. #53
    0
    Hi, I did a simple test to see how the AIs handle verticality and found out...not so well.
    https://gyazo.com/a71df3f22a10934018cc696b3c628b97
    It looks like they properly turn to look at the player, but don't know to reset their orientation afterwards. I would really like to have a level with some verticality, so is there some way to fix this?

  14. #54
    0
    Hi, I added gamepad Left Thumbstick Y-axis and X-axis to <Axis Mappings> under <Input> in <Project Settings>. When I run the game, the player just falls from the sky and drop all the way down.
    how do I add Gamepad control?

  15. #55
    0
    Quote Originally Posted by espionageguy View Post
    Hi, I did a simple test to see how the AIs handle verticality and found out...not so well.
    https://gyazo.com/a71df3f22a10934018cc696b3c628b97
    It looks like they properly turn to look at the player, but don't know to reset their orientation afterwards. I would really like to have a level with some verticality, so is there some way to fix this?
    Thanks for pointing that out, espionageguy. It will be fixed in the upcoming update. The update is going to introduce a lot of changes to the AI design & hence taking a while longer compared to the usual updates. If the changes required are minor, I'll send in a hot fix update to the Marketplace team before the major update.

    Edit: And sorry for the delay. For some reason, I did not get an email notification about the comment.
    Last edited by Stormrage256; 01-27-2017 at 02:11 AM.

  16. #56
    0
    Quote Originally Posted by Leebaba View Post
    Hi, I added gamepad Left Thumbstick Y-axis and X-axis to <Axis Mappings> under <Input> in <Project Settings>. When I run the game, the player just falls from the sky and drop all the way down.
    how do I add Gamepad control?
    Hi Leebaba, I just tried out gamepad controls with an Xbox 360 controller & it seems to be working fine at my end. Here are the control mappings I applied to the input settings:

    Name:  controls.png
Views: 179
Size:  144.1 KB

    If you're still experiencing the issue, may I know the version of the toolkit that you're using? Also are you experiencing this issue in the default level supplied by the toolkit, or within a custom level?

  17. #57
    0
    Quote Originally Posted by espionageguy View Post
    Hi, I did a simple test to see how the AIs handle verticality and found out...not so well.
    https://gyazo.com/a71df3f22a10934018cc696b3c628b97
    It looks like they properly turn to look at the player, but don't know to reset their orientation afterwards. I would really like to have a level with some verticality, so is there some way to fix this?
    I will be submitting the bug fix update for this issue to the Marketplace team later today. It should be available for download from the Marketplace sometime next week. However, if you want to implement the changes within your project in the meantime, I've shared a screenshot showing the changes required to rectify the issue.

    Name:  tdstcritbug.png
Views: 173
Size:  312.4 KB

    Also in the future, if you have not received a reply to your queries within a day, feel free to contact me through the support mail id: rohitmohan.k@outlook.com

  18. #58
    0
    Yup, that fixed it! Thanks! By the way, I did actually e-mail you, but got no response. Maybe it went to your junk mail?

  19. #59
    0
    Quote Originally Posted by espionageguy View Post
    Yup, that fixed it! Thanks! By the way, I did actually e-mail you, but got no response. Maybe it went to your junk mail?
    Glad to hear that it's fixed. Yes it could have possibly gone to the junk mail.

    Btw the bug fix update has been applied to the Marketplace project files. So if you're creating a new project in the future, you wouldn't have to make these changes.

  20. #60
    0
    Good afternoon

    I'm very interested in this kit. Just one question, does it have camera zoom? I would like to let the user zoom in considerably to view the characters small details :P even better was if it was possible to zoom and pan... I'm actually looking at the camera commands now to see if I can implement this (very new to UE4 and almost only doubts at the moment.... eheh)

  21. #61
    0
    Quote Originally Posted by JMHenriques View Post
    Good afternoon

    I'm very interested in this kit. Just one question, does it have camera zoom? I would like to let the user zoom in considerably to view the characters small details :P even better was if it was possible to zoom and pan... I'm actually looking at the camera commands now to see if I can implement this (very new to UE4 and almost only doubts at the moment.... eheh)
    Hi JMHenriques, there is no camera zoom or panning support at the moment. If you're interested in something similar to what's done in Shadow Tactics, I could include it in the next update due for submission later this month.

  22. #62
    0
    The v4.15 compatibility update has been submitted to the Marketplace & a Gameplay Gemo for the same (Windows) is now available for download https://www.dropbox.com/s/j79un298ncvwgo7/Top%20Down%20Stealth%20Toolkit%20Sample%20Game%20Demo.7z?dl=0

    Input Controls for the demo:

    - W/A/S/D >> Movement
    - 1/2/3 >> Select Suit Ability/Gadget/Weapon as the Active Loadout item
    - F >> Use the Active Loadout item
    - Q >> Whistle
    - Left Shift >> Sprint
    - Left Mouse Button >> Target Confirmation (while aiming with weapons)
    Last edited by Stormrage256; 04-12-2017 at 09:00 AM.

  23. #63
    0
    Any chance you're looking for a OSX tester?
    Either way, I'm picking this up at the end of the month.
    I love how responsive you are. Your support for your product alone is enough to make someone purchase this. Thank you.

  24. #64
    0
    Quote Originally Posted by BoothDigital View Post
    Any chance you're looking for a OSX tester?
    Either way, I'm picking this up at the end of the month.
    I love how responsive you are. Your support for your product alone is enough to make someone purchase this. Thank you.
    Thanks a lot for the generous feedback, BoothDigital.

    And thanks for the offer to test out builds for the OSX. I would love to add support for it since it wouldn't require much in the way of code alterations. However, without direct access to an OSX device, I wouldn't be able to reproduce/debug any issues that could potentially crop up exclusively on the platform. Plus there is also the issue of not being able to package builds for the Mac from a Windows system. As a result, I'm not really looking to add official support for the Mac OS at the moment.

  25. #65
    0
    Quote Originally Posted by Stormrage256 View Post
    Thanks a lot for the generous feedback, BoothDigital.

    And thanks for the offer to test out builds for the OSX. I would love to add support for it since it wouldn't require much in the way of code alterations. However, without direct access to an OSX device, I wouldn't be able to reproduce/debug any issues that could potentially crop up exclusively on the platform. Plus there is also the issue of not being able to package builds for the Mac from a Windows system. As a result, I'm not really looking to add official support for the Mac OS at the moment.
    No problem, I'll test/package for you!! (If you're ever interested.) I'll let you know how it fares on OSX around 01MAY. Can't wait to get into this.

  26. #66
    0
    Quote Originally Posted by BoothDigital View Post
    No problem, I'll test/package for you!! (If you're ever interested.) I'll let you know how it fares on OSX around 01MAY. Can't wait to get into this.
    Thanks, will definitely let you know if I plan to add OSX support.

    I've actually never had any of my products tested on apple products. Looking forward to how it performs on the Mac.

  27. #67
    0
    Hi, I'm having another problem...

    I changed the player walk speed to a much higher number, since I'm working in an outdoor environment that is much more open. For some reason, he now makes "noise" as though he is running. How can I fix this? I still don't want him to make noise, I just want him to walk faster.

    Also, is there a way I can make the radius of the "noise" made when running/whistling bigger?

  28. #68
    0
    Quote Originally Posted by espionageguy View Post
    Hi, I'm having another problem...

    I changed the player walk speed to a much higher number, since I'm working in an outdoor environment that is much more open. For some reason, he now makes "noise" as though he is running. How can I fix this? I still don't want him to make noise, I just want him to walk faster.

    Also, is there a way I can make the radius of the "noise" made when running/whistling bigger?
    The footstep noises are created through Anim notifies added to the 'Run_Player' animation sequence as shown in the screenshot below.

    Name:  animseq.png
Views: 76
Size:  497.8 KB

    The two marked anim notifies correspond to the points at which the feet of the character touch the ground during once cycle of the animation sequence. So basically the footstep noises will be created only when the running animation is being played. The transition from idle to walking to running is handled through the blend space 'BlendSpace_Player'. By default, the walking to running transition happens at a speed of 300. So if you set a walking speed greater than a value of 300, the character will start the running sequence thus triggering the animation sequence.

    So if you want to create characters with higher movement speeds (for eg: walk-run transition at 500 & max running speed of 1000), just edit the values corresponding to the points marked in the screenshot below:

    Name:  BSSpeed.png
Views: 75
Size:  474.3 KB

    As for the noise pulse particle radius, I'll get back to you in a while on how to edit it.

  29. #69
    0
    Quote Originally Posted by espionageguy View Post
    Also, is there a way I can make the radius of the "noise" made when running/whistling bigger?
    The noise pulse emitter's radius is indirectly dependent on two user defined factors: one being the AI bot's hearing sense radius, & the other factoring in the loudness of the noise itself. By default, the patrol bots have a hearing sense radius 'r' of 500 units. This basically means that a noise event with a loudness value of 'l' (default = 1.0) can be heard by the AI bot up to a maximum distance of 'r*l' units. For example, the footstep noise with a loudness value of 1.0 can be heard up to 500 units, while a different custom noise event with a loudness of 2.0 could be heard from a distance of 1000 units. This maximum distance corresponds to the maximum size of the pulse particle effect.

    In order to demonstrate how to edit this value, I'm going to increase the AI hearing sense radius to 800 units & have the same loudness of 1.0 units for the noise event. So first we have to edit the hearing sense radius from the AI Perception component of the Patrol Bot parent class as shown below:

    Name:  hearrange.png
Views: 73
Size:  398.7 KB

    Since the footstep noise loudness is 1.0, I'm not going to edit it. So now we open up the 'P_FootStepPulse' particle system asset & make the following changes:

    1. Within the 'Initial Size' module, set the Start Size value to be (1.0, 1.0, 1.0) [the already existing value works as well, but this is easier to understand]

    Name:  initsize.png
Views: 72
Size:  190.5 KB

    2. Now within the 'Size by Life' module, set the Life Multiplier out value for point 1 to (1600.0, 1600.0, 1.0). This value is basically a multiplier for the initial size value. Point 0 corresponds to the starting value & hence we multiply it's size with the default (1.0, 1.0, 1.0) & while point 1 (which corresponds to final moment of the particle lifespan) multiplies the x & y values by 1600 units thus forming a circular ring of radius 800 units.

    Name:  finalsize.png
Views: 70
Size:  200.3 KB

    With that, you should be able to control the radius of the noise pulse. Let me know if you have any trouble getting that to work.

    Actually this could also be done through the blueprint directly using the loudness value. That way you won't have to make any changes within the particle system. I'll submit a mini update tomorrow to include that feature.

  30. #70
    0
    Oh wow, a lot happened since I asked for help! Thanks for helping me with my problems, I got the footstep noise working the way I wanted!

  31. #71
    0
    Quote Originally Posted by espionageguy View Post
    Oh wow, a lot happened since I asked for help! Thanks for helping me with my problems, I got the footstep noise working the way I wanted!
    Happy to help. It's also helped me identify a part of the toolkit that can be improved upon.

  32. #72
    0
    What are some of the future planned features? Just wondering if everything you want to include has been included or not

  33. #73
    1
    Quote Originally Posted by Rewinged View Post
    What are some of the future planned features? Just wondering if everything you want to include has been included or not
    Hi Rewinged, there are plans to keep adding major features to the toolkit atleast for the next few months.

    At the moment, I'm working on a major AI overhaul update that is partly inspired by the stimulus perception models used in Mark of the Ninja, combined with the Behavior Tree based reaction system. The main goal of the update would be to make the AI systems a lot more modular & customizable. Once that's done, on the AI front, updates would continue to add new stimulus types as well as some form of a global alertness level (like Invisible Inc) independent from the bot alert levels.

    Another major priority is to increase the performance of the vision arc rendering system so that more AI bots can use it simultaneously. Beyond that, there would be some updates focused on adding new gadgets, abilities, & weapons for the player character.

    There are a few more ideas that I would like to try out after that, but the above mentioned features are the ones that I can confirm at this stage of the product cycle.

  34. #74
    0
    The v2.0 update has been submitted to the Unreal Engine Marketplace & will add v4.16 compatibility for the toolkit.

    Note: The update will be published exclusively for the v4.16 edition of the toolkit as it completely revamps the systems that drive the AI. This should enable existing customers to still have access to the previous AI systems through the v4.15 edition project files.

    Change Log:

    1. Added a new stimulus generation system that will enable the users to easily customize & add new types of perceivable events for the AI agents.
    2. Added a custom AI Perception component that enables the AI agents to perceive stimuli through four different types of perception systems: Visual, Aural, Intuitive, & Motion perception.
    3. Added an AI Sensory Manager that is responsible for management of all types of stimuli as well as periodic assignment of active objectives to AI agents.
    4. The Patrol Guard AI decision making process has been redesigned from the previous Finite State Machine based workflow to a completely Behavior Tree centric design. The agents still retain their different alert level states to some degree, but only to determine the nature of their responses through adjustment of physical properties, like say improved movement speed when responding to high priority goals.
    5. Patrol Guards now use a multi tiered search system to investigate interests & will continue searching the surrounding area until the alert meter falls below a specified threshold value.

    Gameplay demo for the upcoming v2.0 Top Down Stealth Toolkit (Windows) now available at: https://www.dropbox.com/s/feblzzx1tewpstj/Top%20Down%20Stealth%20Toolkit%20Sample%20Game%20Demo.7z?dl=0

    All changes within the blueprints are marked with the boolean variable 'Version2.0' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables, functions, interfaces, & components added to existing blueprints are also marked within their event graphs.

  35. #75
    0
    Top Down Stealth Toolkit Basics: Stimulus Types

    The v2.0 update for Top Down Stealth Toolkit introduces a new Stimulus generation system that will enable the users to easily customize & add new types of perceivable events for the AI agents. Inspired by the AI Threat Detection system used in the 2D Stealth game - Mark of the Ninja, the stimuli are primarily divided into two categories: Targets & Interests.

    The Target Stimuli represent the highest level of threats that can be perceived by the enemy AI. Once an agent has acquired a target, it will focus all it's attention on the said stimulus, with complete disregard for anything else until the target actor manages to evade it's line of sight. The Player Character is an example of an entity that registers itself as a target stimulus.

    The Interest Stimuli on the other hand, represent cases that require some level of preemptive investigation before an agent can make further decisions. These are more varied due to the multitude of attributes that define them (more on this to be added in a later post), & hence split into the following categories:

    1. Incapacitated Ally: AI agents that get incapacitated at any point of time will register itself as an Incapacitated Ally. These interests will continue to exist for as long as the agent remains in the said state. However, since they support interaction by other agents, the stimulus creator can be brought back to an operational level, at which point the interest will be set to a deactivated state.
    2. Defunct Ally: Created when an agent gets terminated & will remain an active stimulus till the end of the level. These interests keep track of agents that have been alerted to it's presence & hence ensures that a single agent will respond to it only once.
    3. Alarm Noise: Created whenever an alarm has been raised by any entity. Has a very short lifespan, but can put agents on a high alert state.
    4. Gunshot Noise: Created when a non-silenced weapon is fired. Works similar to the Alarm Noise interests at a functional level.
    5. Missing Suspect: Created by AI bots based on the their memory about the last seen location of a target. Can only be perceived by the agent that registered the stimulus, but requires no form of range checks.
    6. Footstep Noise: Noises created by the player character's footsteps can be perceived by AI agents through these type of interests. Has a very short lifespan, & generally perceived as a medium level threat.
    7. Whistle Noise: Functions similar to the Footstep Noise interests, but created when an entity uses the Whistle.
    8. Peripheral Motion: Represents all entities that can be perceived by AI agents based on the proximity level. Unlike other interests, this stimulus will remain active throughout the lifespan of the actor responsible for creating it. However, owing to the indirect nature of perception used to detect this form of stimulus, the AI bots will react only if the stimulus creator remains in close proximity for a certain period of time.


    Preview Video:

    Last edited by Stormrage256; 06-21-2017 at 07:19 AM.

  36. #76
    0
    Top Down Stealth Toolkit Basics: AI Perception

    The v2.0 update for Top Down Stealth Toolkit introduced a custom component driven AI Perception system tailored specifically for implementation in Stealth games. This system uses a combination of four different perception models to evaluate threats based on the new Stimulus model introduced in the update.

    Perception Models:

    1. Visual Perception: Using a combination of distance, angular, & line trace checks, the Visual Perception enables an AI agent to detect stimuli within it's direct line of sight range. It is capable for sensing Target stimuli as well as certain types of Interest stimuli like Incapacitated & Defunct allies.

    2. Aural Perception: The Aural Perception enables an AI agent to perceive & track noises created in the vicinity. It factors in the Loudness of a noise while performing the distance check operation, in order to gauge the relevance of the stimulus. This ensures that louder noises can potentially be heard by an agent, even if it was created outside the default hearing threshold.

    3. Intuitive Perception: The Intuitive Perception model is used by AI agents to evaluate stimuli based on their memory, thus negating the need to do any form of range checks. For example, a target that has evaded a Patrol Guard's line of sight can trigger the creation of a Missing Suspect stimulus using it's memory about the target's last seen location, which can then be perceived through this system with very minimal search costs.

    4. Motion Perception: Unlike the other perception models, the Motion Perception is used to evaluate stimuli that have not been directly perceived by the agent. An example of this would be a stimulus created by an entity located in close proximity to an agent, but not necessarily within it's direct field of vision. As a result, this system uses a dedicated alert meter to make sure that the agent responds to a perceived stimulus only if it stays within range for certain period of time.


    All or any of these systems can be modified or turned off from the owning class, thus facilitating creation of different types of perception behavior among two types of agents like say, a Patrol Guard & a Surveillance Camera.

  37. #77
    0
    Top Down Stealth Toolkit Tutorial: How to create a new custom Interest Stimulus

    As mentioned in an earlier post (check out here: https://forums.unrealengine.com/showthread.php?97156-Top-Down-Stealth-Toolkit&p=722820&viewfull=1#post722820), the v2.0 update for Top Down Stealth Toolkit introduced a dedicated stimulus driven AI perception system. This tutorial will go over the process of using the aforementioned system to create a new Interest stimulus from scratch.


    The base attributes for Interest stimuli are controlled through the 'InterestStimulusDataArray' in BP_AISensoryManager class. Each element of the struct array contains details about a specific type of Interest & hence provide an avenue for easily customizing it's properties. Before going into the actual process of creating a new Interest, I'll provide a brief description of the various parameters that control that control these stimuli.

    1. InterestType: Determines the type of Interest associated with the array element.

    2. PerceptionType: Determines the AI perception model that can detect this Interest (For more on the AI Perception system, check out: https://forums.unrealengine.com/showthread.php?97156-Top-Down-Stealth-Toolkit&p=724054&viewfull=1#post724054)

    3. ThreatClass: Determines the priority level of an Interest when it comes to override requests. For example, an Interest of lower threat class will not override one of higher threat class, thus making sure that the AI retains focus on the stimuli based on their relative importance. By default, all Interests have a threat class level of 1.

    4. PerceivedThreatValue: Maintains a normalized [0.0 to 1.0] value of the threat rating of an Interest as perceived by AI agents. Higher values of this parameter will make AI bots go directly into a high alert level state. Within a single cycle of sensory evaluation, Interests with higher value of this parameter within a threat class, are evaluated first to ensure that the AI responds to the most immediate threat.

    5. PerceptionRangeModifier: Controls the range at which an Interest can be perceived by adding a distance modifier to the agent's perception checks. For example, Alarm & Gunshot noises have a value of 2.0, thus ensuring that an AI agent possessing a hearing range of 500 m can perceive these stimuli up to double the said distance.

    6. PerformRangeTestToInterestCreator: Determines if AI perception tests should conduct distance checks against the actual Interest location, or the entity that created it. For example, perception checks for alarm noises are conducted against the actual source of the noise itself, even though the Interest location would be set as the location of the entity that triggered the alarm.

    7. TrackAlertedAgents?: Determines if the Interest object should keep track of agents that have been alerted to it's presence.

    8. UseInterestCreatorLocation?: Controls whether the AI agents that detected this stimulus move towards the Interest location or the actor that created it.

    9. AutoDeactivate?: Controls the active lifespan of the Interest. For example, noise stimuli have this parameter turned on, thus making them relevant only for a single evaluation cycle.

    10. IsInteractive?: Determines if the AI agents can interact with the Interest. If turned off, the AI bots will only investigate the source location.

    11. InteractionModel: Controls the manner in which an agent interacts with an interactive Interest. For example, patrol guards will use the 'Reactivate' interaction model to wake up any incapacitated allies they may come across.

    12. SortedPriorityOrder: This parameter is set automatically at the start of a game based on the threat class & perceived threat value of the Interest. Ensures that AI Sensory Manager evaluates the Interests with higher priority order before moving on to the rest.


    Now in order to create a new Interest, first add a new entry to the enum 'EInterestStimulusType'. All that's left is to add an element to the InterestTypeDataArray for this new type, & assign the parameters mentioned above as per the requirements.

  38. #78
    0
    Top Down Stealth Toolkit Tutorial: How to control the AI Perception model for AI agents

    As mentioned in an earlier post (Link: AI Perception Basics), the toolkit now employs a custom AI Perception system to evaluate potential threats. It's user defined properties can all be edited through the component details panel from the owning blueprint, thus facilitating creation of different threat perception models for different types of AI agents. This tutorial will go over the basic parameters that control the working of this system.

    Name:  aipercpara.png
Views: 4
Size:  302.1 KB

    Visual Perception Data:

    1. IsVisualPerceptionEnabled?: Determines if the agent can use Visual Perception to perceive stimuli.
    2. Vision Range: Determines the direct line of sight range.
    3. HalfVisionAngle: Determines the half angle for the agent's cone of vision.

    Aural Perception Data:

    1. IsAuralPerceptionEnabled?: Determines if the agent can use Aural Perception to perceive stimuli.
    2. HearingRange: Controls the maximum distance at which a sound of default loudness 1.0 (controlled through the 'PerceptionRangeModifier' parameter of interest stimuli: Breakdown of Stimulus Parameters) can be perceived by the agent.

    Intuitive Perception Data:

    1. IsIntuitivePerceptionEnabled?: Determines if the agent can use Intuitive Perception to perceive stimuli.

    Motion Perception Data:

    1. IsMotionPerceptionEnabled?: Determines if the agent can use Motion Perception to perceive a stimuli.
    2. DetectionRange: Determines the maximum range at which stimuli can be sensed.
    3. DetectionCounter: A counter that decides if the agent should respond to the stimulus [Used because this is an indirect form of perception]
    4. CounterIncrementPerCycle: Controls the rate at which the Detection Counter increases if the stimulus is in range.
    5. CounterDecrementPerCycle: Controls the rate at which the Detection Counter decreases once the stimulus goes out of range.
    6. CriticalDetectionValue: Determines the threshold point for Detection Counter, at which the agent responds to the stimulus.
    7. DisplayAlertnessLevel?: Determines if changes in the Detection Counter value need to be displayed in the game space.

    Can Perceive Interests?: Determines if the Agent can perceive Interest Stimuli. If set to false, only Target stimuli will be perceivable. [For more about the stimulus types, check out: Stimulus Types]


    Note: The Perception system has no awareness about it's owning actor & uses a custom interface to receive & send messages. So if you're using a custom AI agent, make sure that the owner class implements the BPI_SensorySystem interface & it's functions. For reference, check out the implementation of the interface functions in BP_PatrolGuard_Parent.

Page 2 of 2 FirstFirst 12

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •