Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

[Released] Game Kit Controller - Engine with dual weapons, vehicles & more! 3.02f Action System

Discussion in 'Assets and Asset Store' started by sr388, Sep 1, 2015.

?

What features/systems do you prefer to arrive first for update 3.0?

  1. Crafting/trade/vendor/experience/skills

    28.9%
  2. Local multiplayer with split screen and single camera modes (smash bros style and other views)

    7.1%
  3. Improved AI, able to drive vehicles and fire turret weapons on them

    7.1%
  4. Option to change between different characters ingame, similar to GTA V

    3.8%
  5. Dual weapons, melee combat system and more regular/magic/scifi weapons

    20.3%
  6. Armor/cloth system stats and highly customizable (similar to breath of the wild)

    7.8%
  7. Mechanics related to space: vacuum, oxygen, hull breaches

    3.0%
  8. Pooling system

    3.8%
  9. Free climb system (similar to breath of the wild), including stamina

    14.9%
  10. Others (tell about them)

    3.3%
  1. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Exactly, though maybe he will be more a ROCKET MAN...

    It is used to create and configure the map and minimap of the level, allowing to configure any number of buildings and floors inside every building, able to manage interiors like those and at the same time, exteriors such a city.

    So it can be used to configure that kind of zones, creating the tiles used on any map, instead of drawing previously all the maps of a level and loading into unity, this allows to make any map and if the level changes at some point, the map can be modified quickly without need to rework the drawings. A good thing is that any shape can be created, using as many vertex as need, with a really easy workflow and tons of gizmo options, allowing to configure any building/zone in minutes.

    Here some examples of how the map system looks:

    In this case, this is the whole map configured in the new big level demo of GKC. Though it doesn't look like a city, the map system is configured as different buildings.
    map system 3.png

    Here a single building, for the mansion level (only with 2 floors, the map now has all the resident evil zones)
    map CREATOR FINAL.PNG

    And here how it looks in the game:
    map system 1.png

    And here a video about it (this one was made before the exterior/interior building system was added):



    To construct the level, I would use pro builder or similar tools, allowing to make quick prototypes for what you could need. The 3d mesh option on map is more used like in metroid prime games, to show a 3d version of the maps (which will be improved with better 3d mesh generation and option to use premade 3d meshes, like meshes made with probuilder instead of use procedural generation for the meshes on the map).

    Regards.
     
  2. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    192
    mmm @sr388 I don't think I made my question very clear as I still don't know what the answer is lol.
    What I mean't was does your map system actually make the levels too. Does your system replace things like dungen or other procedural level builder (as well as providing a map view for the user)?
    If it is designed to create the levels as well as the mapview can it be used to create just the maps?
     
  3. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    I understood you question, but maybe it was me that didn't explain properly haha, it is used to happen.

    No, the map system doesn't generate the level itself. Systems as probuilder can provide a better solution for that.

    Btw, (not related to the map), not sure if anyone noticed, but previously, in the current aim right camera position, if the player was close to a surface for the collision system, the camera was moved to the lower body.

    This is how it worked before:

    This is how it works now:

    In this case, it is due to the offsets configured in the camera are used to be close to the hips of the player, so it is used as a rotation point, to keep the upper body inside the camera and make a more natural rotation of the camera and now the offset are properly managed by the camera collision system, in any gravity direction.

    Regards.
     
    Mark_01 and hopeful like this.
  4. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    192
    @sr388 thanks for taking the time to explain. Nice work on the change to the camera handling too.
     
    sr388 likes this.
  5. pitthesnake

    pitthesnake

    Joined:
    Aug 10, 2018
    Posts:
    4
    Hi sr388,
    I'm using your GKC and the tool is great.
    My question: Can I swim in the water with it? I didn't find anything.
    Pit
     
    sr388 likes this.
  6. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    More progress of the update.

    I have been checking how the canvas must be used and configured to take into account multiple HUD for the local multiplayer, including also how to make an UI element to follow a position in the screen.

    Also, I have added the initial system to configure multiple players on the level for the local multiplayer. This system allows to configure any number of players and set different split camera views, such as 2 player on vertical or horizontal separation, 3 player, 4 players, etc... and where to configure every camera, including position and size (upper or lower part, left or right, center, etc...). Here a short video about it:



    Also, I have been testing the new animations into an animator tree, this is how it looks:










    And finally, just another test using powers and messing with other players:

    animation tree 9.gif



    Thanks, I appreciate it :)

    Regards.
     
    hopeful likes this.
  7. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi @pitthesnake.

    Thanks for the comment :)

    Not yet, but swim system is planned to be added on one of the first updates inside 3.0 (probably first or second). Starting in 3.0, new systems which include animations (swim, climb, climb ladders, melee combat, cover system, etc...) will start to arrive to GKC.

    Regards.
     
    Wetw0rx likes this.
  8. NicolaPizio

    NicolaPizio

    Joined:
    May 28, 2013
    Posts:
    5
    hi, i just bought your asset pack and i'm really in love with your work! i just wanted to ask if it's possible to add a reload animation when reloading in first person :)
     
    sr388 and neodotca like this.
  9. pitthesnake

    pitthesnake

    Joined:
    Aug 10, 2018
    Posts:
    4
    No problem, I'm waiting for 3.0.
    I am in the beginning of my game and need another 2 years. Then I just run through the water the next time .

    Greetings
    pit
     
    sr388 likes this.
  10. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi @atagpizio.

    Thanks for your purchase and interest in the asset :)

    About animations in first person, not yet, but they are planned to arrive in one of the updates inside 3.0. including all the system to manage animations in first person for fire and melee weapons, and other actions.

    Cool, glad to hear that haha. Can't wait to start already with 3.0, which will be in almost no time, just finishing last things on 2.9.

    Regards.
     
  11. NicolaPizio

    NicolaPizio

    Joined:
    May 28, 2013
    Posts:
    5
    i'll wait for the next updates for sure, thanks for the reply :)
     
    sr388 likes this.
  12. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    I have been improving the map system which was the system which needed more modifications to being able to manage multiple players in the same scene and it is almost done. One of the improved things is that now, it allows to generate all the map tiles created for every floor/building/zone in editor mode, avoiding to generate those elements at the start, though there is an option to do it at that moment too.

    Here you can see those tiles and how they can be edited at any moment and update their meshes. And of course, they can be removed or disabled, to avoid blocking the view while working in the level.

    map generation 1.gif

    This has been also added so every player can manage their maps separately, so a player can be inside a building an other in the exterior and the map/minimap will render and show the tiles where they are located in every moment.

    Regards.
     
    Mark_01 and NicolaPizio like this.
  13. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    Here a test for the transition of the players from free to locked camera and viceversa. in this case, all the players are controlled by the same input.




    There is a new option in the locked camera system which allows to configure a list of players to start in a locked view (previously there was only option for one), so now all players can start the game in top down view for example.

    And also, here a test on mobile:



    In this case, it uses a new option to trigger events when the camera is rotating. This allows the player for example to fire his weapons or powers just by moving the camera, having a simpler and easier control, for example, in the top down view and also in free mode if needed.

    Also, all the previous input functions that needed to be added in a component to use it as an action for the input have been removed as the new input system with events doesn't need it anymore and allows a lot more of customization without need to add any code.

    Almost everything has been already complete for the update 2.9. I am just finishing some minor stuff and checks.

    Regards.
     
    NicolaPizio likes this.
  14. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    Player can already grab other players while in ragdoll mode, even if they are not dead. Tn that case, the check for getting up is paused until the player drops the ragdoll of the other player.

    ragdoll multiplayer 1.gif

    And here, you can see that the same object can be grabbed by any of the two players but once it is picked, it can't be grabbed by the other.

    ragdoll multiplayer 2.gif

    Both elements were coded like that some time ago, since the preparations for the local multiplayer started about a year or more ago, but now, it can be tested to see if works correctly.

    Regards.
     
    Last edited: Mar 6, 2019
    hopeful likes this.
  15. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    Today I have been keep working on adapt the icons that are shown in the screen (such as objectives, icons for pickups, etc...) for the split screen, since previously, the system considered the screen in full size instead of more screen in split mode. Almost all has been improved for it and will complete the rest tomorrow along with most of things to finish update 2.9.

    Here you can see some examples, including the set surfaces to transparent, which now can be checked from every player camera separately.




    Regards.
     
  16. NicolaPizio

    NicolaPizio

    Joined:
    May 28, 2013
    Posts:
    5
    Anyway when the update with the settings to apply animations to the first person controller (shoot, recharge and so on..) and a swimming system will drop, i swear that i will make another unity account just to buy your package another time, you deserve more cash for what you are doing and providing.
     
    neodotca and sr388 like this.
  17. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Thanks a lot for your commnet @atagpizio, it made my day :)

    I can't wait to work on these improvements for the first person, making the character to feel more alive is something I really love to do, like the current IK for hands, the head track, IK foot placement or the future full body awareness.

    Btw, instead of get just another copy, why not 2 or more haha. But seriously, there is a patreon to support the development of GKC if you prefer, where you can get rewards like repository access or include new features on future updates of this asset.

    Take a look at it if you want: https://www.patreon.com/twocubesstudio

    Regards.
     
    NicolaPizio and neodotca like this.
  18. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    Alright, all the systems which shows icons on the screen to follow a position on the 3d world already work with multiple players on screen, with any resolution, any number of split screens and with any size. Just need some tweaks and polish in a couple of elements but that part is already complete. Here an example:




    And here a new vehicle that I have added, with a more arcade control and based on physics too.



    Regards.
     
    Last edited: Mar 3, 2019
    Mark_01, Testmobile, hopeful and 2 others like this.
  19. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,191
    Awesome new vehicle! :D

    Do you think it would be pretty easy to extend that, so it has 4 or 6 fans?
     
    sr388 likes this.
  20. JMyerscough

    JMyerscough

    Joined:
    Jul 12, 2012
    Posts:
    111
    Just curious, how easy/difficult would it be to assign "ownership" of a vehicle and make it an item you can bring out freely? See: Sparrows in Destiny
     
    sr388 likes this.
  21. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Thanks man, glad to know that.

    For now, the two fans are configured as separated elements, but it would be easy to just make a class and a list with it, so you can add as many fans as needed.

    But the fans doesn't propulse the vehicle, they are used as aesthetic elements, managed by input, so they rotate according to it with angles limits.

    Probably in the future I will try to make a vehicle with actual fans that propulse the vehicle according to direction.

    Do you mean to make the vehicle to move towards your position and follow the player or maybe store it as an inventory object and drop onto the level when you want?

    For the first element, it would be just a matter to add AI to vehicles, something that is planned and in beta state though it needs some more work (will arrive in the update of 3.0 focused on vehicles).

    For the second case, it wouldn't be difficult, maybe add a weapon/tool which can make an object to turn into an inventory object and store on it, for example when you fire to that object or maybe the current smartphone by adding a new option and taking a capture of that object.

    In fact, I will put on the todo list the second case haha, but tell me what you mean (or explain more in case it is none of these).

    I will also add the task to include a vehicle similar to the one you said from destiny, it looks very cool and I want to add more dynamic parts, so parts of the vehicle move and rotates, like the ones where the player place his feet.

    Regards.
     
    Mark_01 likes this.
  22. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Is it compatible with 5.6.6f2?
     
  23. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    I have been making general improvements, including tweaks for the hovercraft and hoverboard to get a better control and the health bar management for multiple characters on split screen, with a better, cleaner and simpler code.

    Also, when the new flying vehicle was added, the code used to stabilize its rotation gave me an idea to add a feature planned some time ago: shake players body on vehicles while driving from collisions according to impact direction and move players body slightly according to input on vehicle (later this will change to actual velocity direction).

    Here you can see some examples:














    Hi @dinaloraven234.

    Some time ago the lower unity version was 5.x, but this changed, being the current minimum version 2017.1.0f3. Some users have said that they had been able to use or downgrade newer versions of projects into older versions of unity, but not sure if it is possible in a simple way.

    Regards.
     
    Wetw0rx, Mark_01 and hopeful like this.
  24. Testmobile

    Testmobile

    Joined:
    Jul 3, 2012
    Posts:
    98
    If you try to use it on 5.x it pops a lot of error messages
    I was using 5.x but i made a extra unity 2017 install for this asset, it totally worth it!
     
    sr388 likes this.
  25. JMyerscough

    JMyerscough

    Joined:
    Jul 12, 2012
    Posts:
    111
    The second case is exactly what I mean! Or similar to spawning a car in GTA using the cell phone. In your equipped items, you would equip a vehicle to the player and when you use your smartphone, there's an option to summon your equipped vehicle.
     
    sr388 likes this.
  26. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    I even consider to move the asset to a higher version of unity, but the current 2017.1 works pretty well (I found some bugs on the UI system of unity for example) and I have also tried several versions of 2018, working perfectly in all of them.

    I would like to try 2019 soon too, but there shouldn't be problem neither. GKC doesn't use nothing special to work, and I think it is better to keep 2017 for now, since it can be imported on any higher version of unity or upgrade the project to a higher version as well.

    Mmmm I see, yeah, it is a very interesting and useful function and in fact it would be easy and fast to add with the current system for inventory and weapon/tool/smartphone. There could be even stored in other list besides inventory, but for the initial version it could be stored there.

    Both cases I mentioned are already in the todo list, to add them in next update 3.0 ;)

    Regards.
     
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,191
    One of the nice things about GKC is it gets a lot done without being too specific about which Unity version you need.

    Generally, I think it is good to aim for compatibility with the LTS versions of Unity, plus the latest published versions.

    I also like the "vehicle summons" idea and would possibly use it. :)
     
    Mark_01 and sr388 like this.
  28. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    I have been improving the gravity system on vehicles, and similar to the player, it has the same platform management to check when to move with them, like a moving or rotating platform without need to activate the gravity manipulation system.




    Also, for object circumnavigation, I have added the same option to check hard edges, so the vehicle rotates toward the next surface of the object, according to if it is moving forward or backward.






    Yeah, think the same as well. I am very curious to try the vehicle summons tool haha.

    EDIT: I forgot to mention.

    In a matter of two days, I will have ready a beta version of 2.9 update. I will tell here and in the forum when is ready, so in that moment, you can ask for it. A changelog will be ready before of that, and this time, I already organized it by categories when 2.9 was started, to make it easier to see what elements are new and were they belong.

    Regards.
     
  29. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    I have added a new vehicle, probably the best and most complete ever done....a chair, worthy of a king. An user asked about how to use the vehicle system to make the player to stay in a fixed position and the vehicle system was already prepared for this, it didn't need anything extra, just took a vehicle prefab and place a "chair" model to replace the meshes and just configure IK positions and camera.




    It literally does nothing, besides the player sitting or getting up xd. But it can be used for things like a chair, a bed, etc... so you can place a character in a certain position for anything you need.

    Just for fun, it can be even a kind of electric chair, by using the shake body system for collisions, triggered by a debug option in the inspector of the vehicle xd.


    In the gifs, I forgot to disable the option to show vehicle HUD info, so the regular UI info can be shown instead even if the player is inside this "vehicle".

    Tomorrow, the rest of elements for the beta will be ready.

    Regards.
     
  30. Pauloxande

    Pauloxande

    Joined:
    Feb 8, 2014
    Posts:
    110
    the load system is in trouble, when I load the game the inventory empties, and everything else does not save and everything returns as it was
     
  31. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi @Pauloxande.

    Yes, another user told me about an issue with the save system and it will be checked for the upcoming update 2.9, and fixed as well. I want to check it out for the new beta version, which should be ready today.

    Thanks for telling me about it and sorry for the inconvenience.

    Regards.
     
    Pauloxande likes this.
  32. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    I have been checking the general save system for all the current elements and it has been improved, along with its code. And with it, a few issues and things which weren't checked correctly under certain settings works as well. Also, new options have been added to save the current configuration as default into a separated file from the save input file so that extra file can be used as backup to set the current input as the default values again. The inventory loads now properly as well.

    Here the current changelog of the update 2.9:

    CATEGORIES:

    PLAYER CONTROLLER
    • Added IK foot placement system, so the legs of the player are adjusted to any kind of surface behind it, including slopes, terrains and any kind of obstacles in the floor. This system also works in any kind of surfaces when the gravity system is being used and can be applied to humanoid AI as well

    • The top down movement is now smoother just by tweaking a bit the animator tree used for this type of locked view which is the same used for similar views, like isometric

    • Player can now jump while carrying and firing weapons in free firing mode when he can move freely and fire without aiming and without using strafe movements

    • Player can now jump while in aim mode too for both weapons and powers, aim in the air and even if the player falls from the ground, he won't stop the aim mode if he was on that state like previously was made. This allows quicker movements and transitions between states, so you can aim or just fire while keep moving or even jump while firing.

    • Added checks to prevent the player from using powers or weapons while in crouch mode, avoiding he gets up while in zones where the player can get up while crouching, due to the low height of that zone. This will change in 3.0, allowing the player to use weapons and powers on crouch state, adding the necessary strafe animations to use this state properly

    • Option to detect rotating or moving platforms and objects where the player can still and displace with them, for things like a platform which is rotating


    PLAYER CAMERA

    • Added separated fields for rotation speed value for third and first person. This value is used as a multiplier for the input received for mouse or gamepad joystick, allowing to apply a higher or value rotation according to the input movement amount

    • Added option to reset camera rotation toward player direction if the camera is not rotated during x amount of time, also, the rotation can be triggered by an action, using - key. This works in any gravity direction too and the amount of time and the speed can be configured as well

    • Previously, in the current aim right camera position, if the player was close to a surface for the collision system, the camera was moved to the lower body. This has been fixed and improved, it was due to the offsets configured in the camera are used to be close to the hips of the player, so it is used as a rotation point, to keep the upper body inside the camera and make a more natural rotation of the camera and now the offset are properly managed by the camera collision system, in any gravity direction

    • Added new option to trigger events when the camera is rotating. This allows the player for example to fire his weapons or powers just by moving the camera, having a simpler and easier control, for example, in the top down view and also in free mode if needed


    HEALTH SYSTEM

    • Added option to configure events when a character resurrects

    • Improved health sliders management on characters for the local multiplayer system, with a simpler, clean and more efficient code

    LOCKED CAMERA

    • Tank controls and regular movement on locked camera system fixed. A setting used for the top down it was preventing to move the player properly. Now the option along with others can be configured as true or false in every locked camera more easily, including buttons to set the value of that field in all the cameras to true or false

    • There is a new option in the locked camera system which allows to configure a list of players to start in a locked view (previously there was only option for one), so now all players can start the game in top down view for example

    WEAPONS

    • Added an option to allow the player to fire weapons (and powers) if the player is not aiming in third person, activating the firing mode and making him to face the camera (just like in aim mode, but without the camera switching to aim state and without need to press the aim key for it). So it only needs to press fire button to activate it
    • Added option to allows to configure if the weapon is drawn by pressing the fire button. So if the player is not carrying a weapon, the fire button makes the player to draw the current weapon

    • Also, another option allows the player to directly draw and aim the weapon if the aim button is pressed. In this option, the weapon is directly placed in the player's hands and enters in aim mode as well (notice that the weapon was in the player's back before aim)

    • This allows to simplify the process to draw and aim weapons, as many users asked for a simpler system, and I think this is a very good solution

    • Other option added is keep the weapon in x seconds if it is not being used, like firing or aiming

    • Added option to make the player to draw, keep and change weapons quickly without need to use the waypoint system to move the weapon from the position on the player’s body to player’s hands

    • This works like in many games where the weapon appears in player hands when they are selected. Smooth transitions will be added later, so the weapon first appears in player's dominant hand and then, he places the weapon in the default walk position, along with the second hand grabbing the weapon (if the option to carry a weapon with both hands is active). Of course, the current way above can be used too as well, to avoid any transition in the weapon draw/keep action

    • Added option to allow the player to move freely while using weapons in third person with an option to not use strafe movement, so if can be combined with the option to fire weapons without need to aim. This will also take care of player's hands with IK management, to place the hand according to player's rotation respect the camera, similar to other games where the player can move backwards toward outside the screen while firing a weapon which is pointing toward inside the screen, like uncharted, control, etc… The system checks the rotation of the camera and player, gets the difference of the angle and according to that value, the weapon moves to the right of left side with options to configure if both hands keep holding the weapon or just once.

    • Added option to hold the drop key to increase the drop speed for the current weapon that the player is carrying and is going to drop, allowing also to damage objects on collision

    • Added option to activate the aim camera in free fire mode, setting the position to its regular position to aim in third person but player stays in free fire mode

    • Added more secondary weapons as attachments, in this case, the spear launcher for the assault rifle as example, having the grenade launcher and the spear launcher to select in the same attachment zone

    INVENTORY

    • Added option in the inventory manager to activate the examine object window in the inventory before pick an inventory object. it uses the examine window and it is similar to games like resident evil when the player takes an object to add it to the inventory


    VEHICLES

    • Added option on vehicles to draw weapons when player gets off if he was previously carrying a weapon

    • Fixed issue with interface system on vehicles setting the slider values on the 3d HUD at the start of the game, making values to maybe vary from their actual values on the inspector, now it works properly

    • In local multiplayer, every player is able to get on and off from a vehicle. The system is able to know which seat the player will be, by searching the closest one to the player. If he is a passenger, he can't drive, just rotate his camera around the vehicle. Only the player on the driver seat will be able to drive

    • Added a new vehicle,, with a more arcade control and based on physics too, which can fly, move up and down, forward and backward and to the sides, along with rotate toward right or left

    • General improvements, including tweaks for the hovercraft and hoverboard to get a better control

    • Added options to configure shake players body on vehicles while driving from collisions according to impact direction and move players body slightly according to input on vehicle (later this will change to actual velocity direction)

    • Improved gravity system on vehicles, and similar to the player, it has the same platform management to check when to move with them, like a moving or rotating platform without need to activate the gravity manipulation system. Also, for object circumnavigation, it has been added the same option to check hard edges than in the player, so the vehicle rotates toward the next surface of the object, according to if it is moving forward or backward


    MAP SYSTEM
    • Improved map system, allowing to be used for different players at the same time and including new management of the system

    • Now, it allows to generate all the map tiles created for every floor/building/zone in editor mode, avoiding to generate those elements at the start, though there is an option to do it at that moment too. And of course, they can be removed or disabled, to avoid blocking the view while working in the level


    AI
    • Added an option for the AI to ignore the range vision when he gets up from ragdoll state
      so even if the player is behind it, the AI will set the player (or any other faction enemy) as its target. There is also a float field to configure how much time the range vision is ignored after get up

    INPUT MANAGER

    • Improved custom Input Manager performance by removing a foreach loop which basically contained all the possible keycodes valid on unity. instead, in every action from the class Axes, I have added a keycode variable field, so now, instead of typing the action key, like Space for jump, it has a list of keycodes

    • More improvements to the input system, focused in the performance, removing some checks and loops not needed, including gamepad and touch controls. Now the code is shorter, simpler, faster and better.

    • Replaced the old input system on vehicles with the new one using events

    • The system is now able to manage multiple gamepads at the same time and use the keyboard as well as an extra player when the local multiplayer is being used

    • Added new system to configure actions that maybe are triggered when a key is held by a certain amount of time, so it can be configured if the action to trigger is called while the key is held or when it is released after that time pressing down the key. This is used for example for the free floating mode, which is activated by holding R key during 1 second without need to release the key. At the same time, the gravity power is activated by just pressing R once, so this system allows to configure different actions in the same key by configuring the amount of time to press the key to trigger that action

    • All the previous input functions that needed to be added in a component to use it as an action for the input have been removed as the new input system with events doesn't need it anymore and allows a lot more of customization without need to add any code


    POWERS

    • Added option in powers to fire them without need to aim, just like the weapons. This allows a similar control to games like infamous

    • Added in powers the same option that in weapons to make the player's head to look in the aim direction when he is using powers

    • The same option in weapons to move freely has been added to powers as well. The arms are rotated smoothly according to camera direction, setting which one (left or right) is used to fire the power according to camera direction, similar to games like infamous first light


    OTHERS
    • Added a new menu in the main menu scene to select scenes. This is due to I will start to add little scenes demos to try more specific features and systems, which will allow to see and try these elements more easily and manage these scenes faster. It is a simple system which allows to configure as much scenes as needed and configure image, name and description, setting a scroll rect list

    ISSUES/BUGS FIXED
    • Weapon meshes that are hidden while the player doesn’t use them are correctly disabled if the option to disable their meshes while not being used is active

    • Fixed an issue from some time ago, related to change views for third/first person and viceversa with weapons, causing that the position of the carried weapon is not reset properly, it only needed to stop the coroutine which had assigned the weapon movement, literally, just call the function to stop the coroutine

    • Fixed bug on powers, when using homing projectiles on player, another projectile was fired

    • Fixed bug in drop object inventory button, which sometimes, didn’t enable the submenu to select the amount of objects to drop

    • Fixes some bugs in the general save system which were causing to not save the info properly in the player’s inventory, inventory bank and weapons in the player

    • Fixed a bug in the save system which was causing to not save/load properly the info of every slot


    LOCAL MULTIPLAYER

    • Added initial version of local multiplayer, configured manually for 4 players as an example, though more can be added or removed, for update 3.0, the whole local multiplayer system will be complete, being an automatic system which will allow to configure the amount of players ingame and setting the split cameras according to the number of players. For now, the local multiplayer is meant to be used only for third person, first person for local multiplayer won’t be ready until full body awareness is added

    • Players can damage each other with weapons, powers, objects collision, etc…

    • Map system can manage different players, showing to every player the position of the map where he is, even if every player is on a different building of floor from the rest of players

    • Waypoint platforms and elevators can manage any number of players, moving them above moving/rotating objects

    • Map Icon types configuration and management have been moved from Map System to Map Creator, so these elements are configured from a single component instead of Map System which is now a component used on every player in the level

    • Added the initial system to configure multiple players on the level for the local multiplayer. This system allows to configure any number of players and set different split camera views, such as 2 player on vertical or horizontal separation, 3 player, 4 players, etc... and where to configure every camera, including position and size (upper or lower part, left or right, center, etc...)

    • Other stuff for the local multiplayer has been checked, like how the canvas must be used and configured to take into account multiple HUD for the local multiplayer, including also how to make an UI element to follow a position in the screen

    • All the systems which shows icons on the screen to follow a position on the 3d world already work with multiple players on screen, with any resolution, any number of split screens and with any size

    SAVE SYSTEM

    • Improved save system, focusing the settings of the file names and if the system uses a relative path or not to save the files


    I just need a few more hours to complete the beta, but I will go to sleep in some minutes, so the beta will be ready tomorrow. Will also push the content of the current project to the repository.

    Regards.
     
    Mark_01 and Boom_Shaka like this.
  33. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,191
    IIRC, GKC uses more of a FPS-style free aim targeting system. I'm not familiar with Infamous, but what I need is a combination of free aim targeting (like for launching attacks at an area, not a person), but also a locked-target system, where the player selects a NPC as their target (using mouse click or tab), and all subsequent attacks will automatically be aimed at this locked target.

    In the locked-target system, which is for melee but also some ranged attacks, the accuracy is determined by game variables (like AD&D's "to hit" versus armor class rolls).

    Is that what this new feature is?
     
  34. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    The aim targeting can be used on any view, first, third or even in locked camera, such as top down or fixed camera position like in old resident evil style.

    The free aim targeting you mean it is just aim a weapon or power maybe?

    For locked-target system there is an option in weapons and powers to configure if they use homing to select and reach a target automatically, so for example, you press and hold fire button, look at those targets to fire, adding a locked target icon on screen and release fire button, to fire the projectiles. It is that what you mean?

    Not sure what you mean here, can you tell me more?

    I can record a few clips with this different options so you can see better how they work and look.

    Regards.
     
  35. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,191
    I'm not sure if there is a real technical term for it or not. I think often in MMOs they will use what I'm calling a locked-target type or maybe a "target select" system, where the player picks a target that remains targeted no matter how the player and target move - so long as line of sight is maintained - and all attacks (or buffs) will go to that target. Any misses that occur are due to stats of accuracy versus the target's defense. In GKC terms, let's say you want to heal a pet, or buff its damage. You select or target it using this mode, and so long as the pet is within range, and so long as it doesn't break line of sight, it will get the heal or other buff, even if it is running around like crazy. All you have to do is click on it once, or in the case of a pet or teammate, clicking on the player's UI for the pet or teammate will also select it.

    In FPS games, I think they tend to use a free targeting system that is based on the player aiming in real time. Fortnite uses what I would call a free targeting system. You fire off in a direction and the game decides what you hit or not based on ray or sphere casts. It might be another player, or it might be something the player was building, or the shots might miss everything (hit the landscape or air).

    I'm interested in using both targeting modes.

    Homing might function similarly. I'll have to find some time to check it out.
     
    Last edited: Mar 9, 2019
    sr388 and Mark_01 like this.
  36. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    Update 2.9 already has a beta, so anyone who want to try it, send me a PM.

    Sorry for the time to reply, I was finishing the beta :p.

    Yes, the second case it is just the regular aim mode using usually the center of the camera as the position of the reticle where all projectiles will be fired.

    For the first one, there is not a system for that yet. It sounds more to a type of RTS mechanic, rather than a regular game mode, right?

    Can you tell me a game where this is used, to see how it works? I could think a way to include this kind of system in the current weapons/powers, to set elements as targets.

    @Pauloxande, I checked the whole save system and it contained some bugs and issues due to certain settings, but it is completely fixed now and works properly.

    Regards.
     
  37. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    124
    "Click It And Forget It"

    I didn't know games were still using that combat system, but here's an good explanation from Neverwinter Nights 1: https://nwn.fandom.com/wiki/Combat

    Here's a combat video (skip the first minute or so) - note how the player selects the target and engages his/her default attack. The player can also select the target again to change attacks or apply a quick action (like disarm):


    Another older game, called Freedom Force used it as well - it was a squad-based tactical RPG so it made sense to have a "click-it-and-forget-it" system. Here's a video of the first level, at/around minute 3:00 there's a description of the combat and you can see it at various points thereafter:
     
    Last edited: Mar 9, 2019
    sr388 likes this.
  38. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Yes, it is what I thought, it is more used on RTS or strategy games, though I am sure there should be some example where the player uses it something similar on a more regular control/camera mode.

    Regards.
     
  39. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,191
    Are you saying I'm old? lol

    Well, it's true. I am, and I played NWN and Freedom Force way back when. :)

    But there are several design considerations, still valid I think, which would favor "click and forget."

    If you are doing multiplayer and using TCP instead of UDP (which is what Mirror does), you want to keep your network traffic down to avoid lag. Target selecting for combat - which is efficient - is one way to do that. Target selection is a simple event (player selects target, this event is sent to the server, the server makes note of it, and all following attacks from the player will affect that target until either that target is removed - by death - or the player chooses a new target).

    Another design reason would be if you are doing a game where combat weighs more heavily on character stats instead of on player twitch. This is a consideration for games that allow for a lot of character customization. For instance, you may want to make a player more or less accurate in their attacks, or faster or slower in their attacks, due to stats or abilities they have chosen in their customization. Thus, to some extent you try to remove player twitch from the equation, and equalize the players.

    Also, I'd imagine in any sort of game that uses magic, where you have a potentially lengthy "wind-up" or casting animation, you'd prefer to have a target select mode, because otherwise the NPC target or other player will have moved far away from their original position while you do your spell's animation. Similarly, close combat martial arts attacks - while quicker - might have different animation lengths and impact points, but you still want to automatically line up the player with his target, even if that target is moving. Target selection is a good way to solve that, as in that type of combat you know the outcome before the attack animation plays. The computer can then do the task of matching fist or foot with the target's jaw, to show the outcome.

    Giving attacks a homing attribute might be one way to handle it, but only if the target is "selected" before the "following" behavior occurs. If the homing is based off of FPS style raycast targeting, and simulates a projectile following the character, then that's not quite it. What's needed in this scenario is target selection, and then the optional following, like pet following. Attacks that miss - as determined by character stats, not player twitch - would not follow.

    I'll see if I can dig up some video of a game that shows this type of action, and I'll send it via PM if I can find a good sample. Naturally, I have an old game in mind. ;)
     
    Mark_01, sr388 and Boom_Shaka like this.
  40. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,191
    Well, I found something right away. A video from City of Heroes, an old MMO.

    I played this game back in 2005. The character controller impressed me with its ability to manage athletic movement in 3D and a wide variety of forms of combat. "Click and forget" enabled to me to focus less on aiming and more on other aspects of the game. If I wanted to maneuver while attacking, like to leap over a crate and kick my enemy, I was able to do so with ease. Just type W + space bar + (when in range) 1, while controlling my movement direction with RMB + mouse panning (IIRC).

    The video (starting about 7 min in) shows a player controlling a character (center of screen) and target selecting first another player (friendly blue reticle) who could have been buffed, then briefly a neutral NPC (white reticle), and several seconds later selecting an enemy NPC (red reticle) to begin combat.

    It seems to me most if not all of these elements are already in GKC. I'm not sure if there's an official mode for it, though.

     
    sr388 likes this.
  41. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    I have been improved some elements that I noticed and others that some users told me from the beta.

    Also, inspired by the weapon of red faction, I have added a new behavior to projectiles. Here you can see an example of the projectile configured in the attachment system, dissolving any type of object found, with options to configure speed, alpha color value in the fade and a few more options.








    @hopeful, I see, thanks for the explanation. The more similar thing now is the auto lock target system (used by default with L and as options to aim assist for weapon/powers), which similar to zelda, assassins creed and other games with melee combat system, allows to set a target as a fixed position to follow by the camera and the player movement is relative to that point, since camera will keep that object in the center of the screen.

    Probably it will be extended for the future melee combat system in GKC.

    The video you posted it reminds me a little to the system of star citizen to move the cursor over the screen to interact with objects. It could be maybe a solution for targeting objects in the screen as well. Will think about a system/solution for it. Thanks for the suggestion.

    Regards.
     
    Wetw0rx, WoodenDragon, DrOcto and 2 others like this.
  42. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,569
    Yeah I support the click and forget system of interaction, and also the star citizen stuff that all rpg use.
     
    WoodenDragon, sr388 and hopeful like this.
  43. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    124
    I think that just means we're both old!
     
    hopeful likes this.
  44. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,191
    Maybe I should look into how GKC does the auto-lock, as it could be part of a system I'd use, but a system where the camera view follows the target without ability to override would not work well in this scenario. With "click and forget," players must always control the camera ... to see what's happening around them, to move, and to select new targets.

    Let me describe how the target select, camera, and movement system worked for City of Heroes. It was, IMHO, the best character controller I've ever used.

    Part of the reason to have have "click and forget" targeting is that you can focus more on observing the developing flow of combat, and move yourself around strategically. Typically there are multiple enemies and changing situations all around. Looking about, you may find you need to rescue a fellow player with a well-timed heal or intervention, or confront a new influx of attackers. So, as a player I would spend a lot of my time quickly adjusting camera views to look around, even during combat.

    As I recall, the camera was anchored behind the hips with a default zoom/tilt offset to above and behind the head. Pressing RMB would basically toggle you between normal cursor / UI mode and camera / movement control mode.

    I'd constantly be moving the mouse up and down + RMB to change the tilt/altitude of the camera, panning the camera via mouse pan + RMB, and scrolling for zoom, in order to get wide views and to also see under or around obstructions.

    Camera panning would also cause the player to rotate in the direction of the pan, so moving forward or backward while using the mouse pan + RMB offered a means of precise movement that was great for running along ledges and jumping accurately.

    If you wanted to look around without having the character rotate, the CTRL key would suppress rotation. This way, the camera could be moved around to look back at the character, which was essential for checking out one's appearance and taking screenshots. (Of course, when the character was making attack moves this would also suppress rotation, and the CTRL key probably tapped into this mode setting.)

    If the character was flying, mouse up-down + RMB would control the tilt/altitude of the player as it moved. So pressing W + RMB and moving the mouse was the primary way to control flight.

    If I had a character with flight, that power could be assigned to any key. But if the character needed to toggle flight off and on a lot during combat, I'd put flight in at 1, since my hand would already be over the number keys during combat.

    In addition to WASD, when flying X would move you in the direction of gravity, so while W + mouse up-down + RMB would cause the character in forward flight to climb or descend, X would cause descent without tilt. This, again, worked great for camera freedom while flying, as you could optionally land without looking straight down at the ground. The opposite key was the space bar, which would give you lift without tilt when flying.

    If grounded, the space bar would cause you to jump, and if already in a jumping mode, continuing to hold down the space bar would give you more altitude until you hit the highest possible jump for your stats. This degree of control over jump height was great for precise parkour type movement over obstacles.

    The default function of key F (which could be reassigned) was to face and follow your target. This would be like the auto-lock, but you could temporarily override the camera view by using your camera controls (upon release of RMB the view would snap back to face the target), and hitting F a second time would break the lock as well. So if you were flying or had a good jump power, you could select a new target, hit F, and automatically turn and fly (or jump) to quickly move to that enemy's location and begin combat. Clicking "follow" on (or on/off) was practically mandatory if you wanted to use a melee attack while in aerial combat, as it was basically impossible to stay in melee range using hand controls while fighting another flyer. (And naturally, since they'd have follow targeted on you as well, you'd tend to orbit one another.)

    With no mouse buttons pressed, the cursor appears and is controlled in the normal way by mouse movement. This is basically the UI mode. The cursor can interact with UI, and when the pointer is above an in-game object you want to select or interact with, you press LMB.

    So instead of getting into proximity of an in-game tool like an elevator, bomb to defuse, a computer console, or a mission objective (like a clue that's sitting on a desk) and typing a reserved key (like T, F, or E), you'd move into proximity and the cursor type would change from pointer to hand when it passes over the interactible object, and you click LMB to interact. You would also get info on that object in an info window.

    A cursor hovering over a character / destructible object - which can be selected as a target - would give you info on that object in an info window and also light up a targeting reticle around it, but the cursor remains a pointer.

    I think that's the gist of it. For its purpose - as a character controller for an action game with movement in 3D - it was super good. ;)
     
    WoodenDragon and sr388 like this.
  45. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    The lockon camera on GKC is similar to the one from this video (starting in second 20):



    It is mostly used to keep objects on the screen for stuff like fire weapons or powers or for the future melee combat.

    As you said, in this case, it overrides the camera rotation input, so a better solution would be to use the star citizen system to move the cursor around the screen while the camera still in control as well, so elements can be clicked on screen.

    About the scheme control you describe, it sounds very interesting. I will put your whole message in the todo list to study it better, see some video of that game and start to add options to allow to use this kind of controls.

    Thanks for the detailed description.

    Regards.
     
    neoshaman and hopeful like this.
  46. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,569
    I think I should have filled my spoiler of resources about camera, but I no longer have personal internet, would have adressed this with avalanche of info, observation and concerned. Like usual :D

    would be latter
     
    sr388 likes this.
  47. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    Hi everyone.

    I have added a new option on locked camera to rotate to left and right, usually used when the locked camera follows player position.










    Also, I have been improving the system which shows damage numbers in screen for players, NPCs, vehicles, etc...Before, it used 3d text mesh to work, but now it uses the UI, setting the damaged object as target followed by the numbers on screen. Also, it has options to configure if the movement amount made by every number takes into account the distance to the target, to avoid the numbers move too far from its target when the player is far away from that it.


    This also allows to show the damage info in split screen, so other players can see the damage received by any object (It is maybe a little hard to see due to the quality of the gif xd):


    And would be very useful as usual haha.

    Regards.
     
  48. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    192
    Will what you've done with the damage numbers be compatible when you add in support for VR? Would have thought that UI object's faked to have depth might prove incompatible?
     
  49. sr388

    sr388

    Joined:
    Jul 22, 2014
    Posts:
    1,930
    I couldn't tell how it the damage numbers will look on VR, but they are inside the HUD itself with this option, so they will appear on that place. I think most games do the same with damage numbers and just a few show them in 3d world instead of the UI.

    Though, the previous view of damage numbers on GKC hasn't been removed, you can still use it, with 3d text mesh on 3d world or the new UI option.

    Of course, once VR arrives to GKC, any adaptation or addition needed to any system in order to work, will be made as well.

    Regards.
     
    Mark_01 and blacksun666 like this.
  50. Don-Gray

    Don-Gray

    Joined:
    Mar 18, 2009
    Posts:
    2,278
    Checking out the GKC 2.4d demo, the player runs in circles and the view is from the bottom of the player, any idea what causes this? Want to purchase right away but not if I can't use it.
     
unityunity