Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Platformer PRO - Ledge Climbing, 360 Loops, Ropes, and Much More ...

Discussion in 'Assets and Asset Store' started by JohnnyA, Aug 27, 2015.

  1. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Combo system is new since v1.0, nothing new for combos (minus a few bug fixes) in v.1.1.0. There was nothing on the asset store which showed off new stuff since v.1.0 which is why its in this video.

    In other news: I've done the code and testing for v1.1.0 but decided to delay submission for a few days while I update some doco. Although theoretically I could submit and do doco while Unity approval process ticks on, I figure this method will force me to get the doco done :)
     
    Last edited: Jan 26, 2016
    AMO_Noot likes this.
  2. rfuhrer

    rfuhrer

    Joined:
    Oct 2, 2015
    Posts:
    52
    Ok, thanks for the answer! Looking forward to it!
     
  3. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    New tutorial (I've also recorded part 2 on combo attacks but not yet edited it):

     
    AMO_Noot likes this.
  4. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    v1.1.0 submitted

    Release notes:

    * New (and powerful) sequence driven enemy for easily creating complex enemies and bosses.

    * Added Waypoint Enemy with scene view drag and drop waypoint editor.

    * AWESOME new grappling hook movement, character and sample.

    * Improvements to ceiling hang, plus ability to climb up platforms from ceiling hang.

    * Added cooldown option to attacks.

    * Added particle effect bridge. Easily attach lots of particle effects to different animation states.

    * Fixed bug which stopped the combo attack inspector from removing attacks.

    * Fixed a bug where very high gravity caused players to fall through passthrough platforms.

    * CameraZones are now calculated independent of resolution. UPDATE NOTE: You will need to update your camera zones to increase width and height.

    * Added options for random item spawning. UPDATE NOTE: If you are using spawn on headbutt to spawn items it will need to be upgraded to use the new RandomItemSpawner.

    * Enemy spawning with instance pooling. Pooling/spawning can be used for other GameObjects too.

    * Wall jump improvements to increase robustness and flexibility UPDATE NOTE: You may need to adjust your settings.

    * You can now save individual movement settings to a file (and load them back as desired).

    * Improved grenade projectile so its much easier to use and added it to the CommandBro sample.

    * Added support for tiled ladders (i.e. a ladder made of multiple blocks each with their own collider).

    * Updated item manager so its easier to add items from your own code.

    * Added tagged properties which allow you to change multiple values across multiple movements with a single call or event response.
     
    TinyRing-Hu, abatcat and AMO_Noot like this.
  5. TinyRing-Hu

    TinyRing-Hu

    Joined:
    Sep 5, 2015
    Posts:
    3
    OMG, the v1.1.0 is a very big update with many new features! I'm really glad to have this AWESOME PlatformerPro !!

    I can't wait for adding some new features to my mobile game ~ Thanks JohnnyA :)
     
  6. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    "Unity Asset Store package 'Platformer PRO - 1.1.0' has been accepted (Case 722171)"

    Still not on the store but shouldn't be long!
     
    BTStone likes this.
  7. rfuhrer

    rfuhrer

    Joined:
    Oct 2, 2015
    Posts:
    52
    Awesome! Thanks for to big update!
     
  8. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    No problem :)
     
  9. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    I'm just curious, but how does Platformer Pro handle input? For instance, Z jumps in my current game, but in the axis, jump is still defined as space. I'm mostly concerned because some people I know use AZERTY keyboards, which may pose a problem if I want to use Z to jump and X to shoot.
     
  10. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @Murgilod because the input allows players to configure it in-game it saves the defaults to preferences when you first save the game and from then on uses the preferences.

    If you change the defaults on the StandardInput you need to clear the preferences too (using the button on the StandardInput component). This is covered in: https://jnamobile.zendesk.com/hc/en-gb/articles/207062497-Standard-Input

    It is a touch tedious (or at least easy to trip you up before you know about it) and I'm looking to make it more intuitive.

    You can also save preferences to file and allow users to choose between them (see the command bro sample which has saved settings for WASD and Arrow Keys).
     
  11. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    Okay, that seems easy enough to work with. I managed to get it working with inControl with a bit of fiddling, but now I have a new, unrelated question.

    I'm using Danmaku Engine to generate my player and enemy projectiles. How can I make it so the projectiles created from this damage enemies when they impact the hurtbox? I have the collisions working, I just don't know how to subtract health.
     
  12. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @Murgilod - Make sure they have a CharacterHitBox/EnemyHitBox attached to them. This component is what triggers the Hurt Box to take damage.

    Alternatively you could just call Damage() directly on the HurtBox (i.e. using your own trigger code) and pass in the DamageInfo.
     
  13. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    So I did this and now I'm experiencing an odd problem. Shots impact the enemy just fine but for some reason only the hurtbox child created by the "add a hurtbox" button is destroyed, not the entire enemy.

    edit: I'm also getting a null reference exception when my enemy hits the ground. I have her set to fall and as soon as she hits the ground, she stays there (so she doesn't phase through the tile) but keeps throwing up errors in my console.
     
  14. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    How your enemy gets destroyed depends on the enemy settings and the damage movement. Often you don't want to instantly destroy an enemy as you want to animate its death, play particle effects, etc. I can't really comment without seeing the setup.

    Please use support channel (support [AT] jnamobile.com ) and send me a sample or at least some screenshots of your configuration and errors.

    You can also try our forums (http://platformerpro.boards.net/), although for something like this support email is the best bet.
     
  15. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    So what big thing should we add next ...
     
  16. abatcat

    abatcat

    Joined:
    Feb 8, 2015
    Posts:
    70
    OK here are a few suggestions: A movement type for running up a wall a few steps before starting to slide down(like ninjas do it), a different movement for different walls like sticky walls and uh slippery walls, a mouse aimed grappling gun example,teleportation portal.
     
  17. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    The ability to have different Stun-Animations would be cool - would be cool if we could play a different animation when hit on ground and when hit in Jump/Airborne or even in the Climbing state.

    Edit:

    On top of that it would be great if one could have also more than one SoundEffect for a specifc Animation. Like: We planed to have 2-3 different Walk-Sounds which should be randomly played.
    On top of that we wanted to have different sound-effects depending on the ground (forestground, snow-ground and so on)
     
  18. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @BTStone

    On top of that we wanted to have different sound-effects depending on the ground (forestground, snow-ground and so on)

    Thats already handled, see command bro sample.
    -----
    The ability to have different Stun-Animations would be cool

    I have a movement for this just not in the public release. Remind me if I don't mention it in the next few days :)
    -----
    Adding Random is a good idea for both particles and sounds.
     
    BTStone likes this.
  19. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    Is there a way to cancel out of a wall cling from code? I have an enemy that does ground attacks and I want them to shake the player off the wall when they land.
     
  20. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @Murgilod

    There's not a specific way to cancel a movement externally. You could probably get it to work with a combination of events (disable the wall movement, then re-enable after delay, etc).

    BUT

    I'd say a much better solution is to write a custom wall movement that extends the existing one and adds an extra method called something like 'BreakCling()'. In this you can cancel cling, set a timer which has to expire before player can re-cling, etc. It will be much cleaner.
     
  21. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    In the end my own wall movement extension was the way to go, thanks!

    Is there a way to get my character to stick to downward slopes? I notice she kinda flies off the edge instead of smoothly going down.

    Edit: Nevermind! Figured it out by randomly playing with the settings. It was "grounded lookahead" I needed to tweak.
     
    Last edited: Feb 14, 2016
  22. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
  23. lemartialou

    lemartialou

    Joined:
    Jul 10, 2015
    Posts:
    16
    Hi,

    First sorry for my english, sorry for the looong post, and sorry if I get things wrong... ^^

    I've been following the development of this asset for a while now, and I must say I'm REALLY impressed by the tremendous work you've already done and keep doing, the awesome support you give, and the regular updates you provide always full of new features, I'm definitely going to buy it in a few weeks (I still got some unrelated work to do before switching to "game development mode", but as soon as I'm finished with that you'll get my money :))

    Since you're asking, here are my humble suggestions:
    • Push / pull objects
    • Grab / throw objects
    Those are the only "basic platformer features" that seem to be missing right now to my mind (I think it has already been asked for a few times, don't know what you think about it).

    "Non-essential" features that I think would be cool to add, all revolving around the idea of some sort of "soft platform" types:
    • a "rope platform" like a rope bridge for example, a platform that react to the weight of things that are on it (player, enemies, objects), like, well, walking on a rope essentially.
    • That could be extended to a "Cable" platform: same idea, but with more options: you could walk on a cable, hang from a cable, and slide down (or up) a cable.
    • a "Quicksand/mud" platform: you could "sink" into the platform by staying too long on it.
    • a "Jelly" platform: soft and bouncy ^^
    Now for the really "advanced" feature that I think would make this asset a killer one (you could even increase the asset's price with this one ;p):
    • Integrate a comprehensive platformer pathfinding solution!
    I realize this might not be an easy one to do but it could be really useful in a lot of situations (enemies AI, co-op bots, game state analysis...)

    Some food for thoughts:
    http://www.gamasutra.com/blogs/Yoan...er_3__2D_platformers_pathfinding__part_12.php
    http://gamedevelopment.tutsplus.com...inding-to-a-2d-grid-based-platformer--cms-882
    https://www.assetstore.unity3d.com/en/#!/content/37332

    And finally some "marketing" suggestions, if I may:

    Your website's page is... down... (well, it went offline while I was writing this post, hope it'll comme back soon, let's just assume it's still online ;p)

    Your website's page is nice, but to me (and maybe to potential new customers) it's not detailed enough. "...and much more" is too vague, we want to know how much more, what would be really cool is a full detailed list of all the asset's features:
    • All types of movements available (walk, run, crouch, crawl, jump, double jump, wall jump, climb, ledge climb, jetpack, fly, swim, grappling hook, ceiling Hang, gravity flip...)
    • All types of attacks (projectiles, multi-projectiles, dash, melee, combos, blocking, knock back, cool down...)
    • All types of platforms/geometry/affectors (static, moving, slopes, 360 Degree Loops, doors, ladders, ropes, wind affectors...)
    • All types of enemy behaviors and features (Patrol, Jump on head, Hide on damaged, See an shoot, See and charge, Melee attack when in range, Deploy weapons when in range, sequence management, waypoints, spawning...)
    • Items/power up management features
    • Health/damage management features
    • Camera controls features
    • Input management features
    • 3rd party integration list (Rewired, Control Freak, 2DTK, ProCamera2D, Spine...)
    • ...
    Well, I'm certainly forgetting a lot of things but I guess you get the idea: a FULL FEATURE LIST! ^^
    Since it's already REALLY IMPRESSIVE I think it might bring you more sales/customers just by giving a detailed overview of this wonderful asset (and also maybe less questions to answer about the asset's capabilities)

    Furthermore the website's page is missing a few links:
    • a link to the support forum (this thread is the only place where it's mentioned)
    • a link to the youtube channel
    And to me the link to the docs should say "documentation" and not "support" ("support" might be the "support forum" link)

    Then at least "Documentation" and "Support forum" should be in the navigation menu too, and the youtube tutorials should be mentioned in the docs.

    It would be nice if we could see those links (and a link to this thread) on the asset store's page too.

    I hope my english is not too confusing and you don't mind my humble suggestions, cheers and thanks again for your great work! ^^
     
  24. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @lemartialou

    Howdy,

    thanks for the very detailed reply. It is much appreciated.

    Let me address some things:

    Push/Pull is available, for example see Hero Sample which includes a block you can push and pull around. It could be extended/improved, but its pretty functional.

    Grab/Throw isn't included but its definitely an item getting a lot of mentions. The tricky thing here is its very animation dependent. So I need to make a solution that is a combination of easy to use and robust! Definitely on the agenda.

    Rope/Bridge I have a working example of this, its just needs a bit of clean-up. Coming soon.

    Path Finding have a working sample of this, but it is a little hard to setup. I'm happy to share it individually but probably a while before it makes the kit.

    Full List of Features I try not to include detailed features on the list, because:

    a) Its really hard to describe a lot of features in a way that is unambiguous. People can end up expecting more than what they are getting.
    b) A lot of features exist but aren't thoroughly documented (there is API doc, but no detailed docs/tutorials). Tends to be safer to leave these off, and pleasantly surprise people when they ask about them.

    I'd rather less customers, that are all happy. Rather than more customers some who are not :)

    Which is not to say the list can't be updated, hasn't been updated for a while, its just always going to lag behind the real feature list.
     
    Last edited: Feb 15, 2016
  25. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Here's a quick video of pathfinding because it is kinda neat:

    (Square is an enemy chasing the player who is a circle)


     
    BTStone, abatcat and Murgilod like this.
  26. lemartialou

    lemartialou

    Joined:
    Jul 10, 2015
    Posts:
    16
    Hey thanks for the nice answer! ^^

    Great! I must confess I forgot about it from last time I tested the demo ^^' However the demo lacks a bit of "stickiness" from the block, I guess this can be configured so that the block doesn't slide when pushing it, but pulling it is really not easy (unless it's stuck, and even then it doesn't stick at all). hope that can be configured too.

    Awesome! :)

    Again, awesome! ^^
    Have you considered implementing cable/wire features like I mentioned: hanging, sliding down/up?

    Fantastic! This is indeed kinda neat ^^
    I'm glad you're considering this feature, even if it takes time to implement.
    Now I'd love to see this square crawling, wall-jumping and using his jetpack ;p

    I totally understand, I've got the same kind of philosophy ^^ I hope you're making enough money for your hard work (unlike me ;p)

    Thanks again for your tremendous support, and keep up the great work! You'll hear from me soon as a happy customer :)
    Cheers!
     
  27. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    1.1.1 is underway, main focus here is stabilisation but am still adding little features here and there. here's what I have done so far:

    * Added enemy knockback (fixed the one posted in forums so it doesn't knock you through walls).
    * Tagged property update.
    * Added a DamageType filter to the sequence enemy exit condition for number of hits.
    * Added a base priority to DAMAGE (50) and DEATH (100) animations so by default they take priority over anything else.
    * Added double tap to run movement.
    * Added a Mario style destructible brick.
    * Added more warnings for movements which have a priority ordering that doesn't make sense.
    * Fix for low gravity pass through platform collisions.
    * Fix: Don't allow enemy melee attack to be interrupted mid-way.
    * Fix: Jetpacks will now take control of movement when y velocity > 0 which fixes some edge cases.
     
  28. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    In a cinematic platformer I'm working on I needed to have a walk animation that doesn't fit any of the existing walks, it moves forward then stops, then moves forwards then stops.... Introducing curve driven movement:

    Screen Shot 2016-02-20 at 3.29.24 pm.png

    You can draw a curve (of any shape) and your x speed will align to that. You can define a static loop time (for example 1 second), or you can tick the box like above and it will sync it to the normalized time of the matching animation (e.g WALK).

    I'll be doing a couple of air movements based around the same principle. One to define y speed, and another to define exact shape of the jump.

    - John A
     
  29. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    When the version 1.1.1 will release?

    Thanks John.
     
  30. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Probably 1-2 weeks, will see how much good stuff can get in there before its ready to pop :)
     
    Charlie_T likes this.
  31. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Curve-Driven Movement, eh? Sounds interesting! Can't wait to fool around with this.
     
  32. rfuhrer

    rfuhrer

    Joined:
    Oct 2, 2015
    Posts:
    52
    Interesting the curve-driven movement. Looking forward to it. This one sounds very helpful:
    --Added more warnings for movements which have a priority ordering that doesn't make sense.
     
  33. bravery

    bravery

    Joined:
    Mar 26, 2009
    Posts:
    270
    Hi JohnnyA,

    Does the platformer Pro work with spine animated characters?
     
  34. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    It can be done using mecanim using the spine mecanim support (and I've done a fairly complex animated project using this approach and will be happy to help) OR you can use our Spine Animation Bridge which calls spine directly.
     
  35. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Bit of a slow week this week, trying to get another asset finished. I'll be starting on permanent/unlockable upgrades system soon though.
     
  36. rfuhrer

    rfuhrer

    Joined:
    Oct 2, 2015
    Posts:
    52
    Uh, Permanent/Unlockable upgrades would be awesome! And @bravery I am using spine with platformer pro as well without any issues so far.
     
  37. abatcat

    abatcat

    Joined:
    Feb 8, 2015
    Posts:
    70
    A pretty interesting video on jumping for people working on platformers
     
  38. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @abatcat Nice video, Platformer PRO handles pretty much everything mentioned. Between variable height jump, relative jump gravity (detailed settings), acceleration and drag settings, as well as grounded leeway you should be able to get the jump you want.

    If you can't drop me a line, happy to help with tweaking or add code if required.

    One thing I've been meaning to do is try to get frame by frame parity jump settings with some popular games and use the new ability to save settings to save these as defaults.
     
  39. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
  40. abatcat

    abatcat

    Joined:
    Feb 8, 2015
    Posts:
    70
    WOW! that's great especially how she runs on walls and ceilings.
     
  41. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    Is there a way to detect if the player is currently clinging to a wall through script? Right now I have this:

    Code (CSharp):
    1. if (player.Character.ActiveMovement.ToString() == "anneSprite (PlatformerPro.WallMovement_WallJump_V2)") {
    2.  
    3.      blahblahblah();
    4.  
    5. }
    But I feel like there must be a better way. Not to mention that this gets all WallJump_V2 conditions, including when the player is jumping away from a wall. I also tried using WallMovement.WantsCling but that never seems to actually call as true.
     
  42. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    When do you release next version?

    Thanks
     
  43. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Hopefully today.
     
  44. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Its easy to tell if you are against the wall, but that movement doesn't have a public way to say "I'm in control and I'm actually clinging". You could add a public property to do that, but to be honest I would probably just do this:

    Code (csharp):
    1.  
    2. if (Character.CurrentWall != null && Character.ActiveMovement is WallMovement) {}
    3.  
    That will return true if ANY wall movement is in control and the character is pressed up against a wall.

    You could be more specific and say:

    Code (csharp):
    1.  
    2. if (Character.CurrentWall != null && Character.ActiveMovement is WallMovement_WallJump_V2) {}
    3.  

    The only issue might be if you are jumping up a 'chimney' and CurrentWall is always non-null because it switches form one wall to another, in that case you probably do need to create your own wall movement which extends the existing one and adds a new property. Send a support ticket if you want a hand with that (but try the options above first).
     
  45. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @Murgilod PS sorry about delayed reply, didn't see this :s
     
  46. arbanH

    arbanH

    Joined:
    Apr 29, 2015
    Posts:
    2
    @JohnnyA --> I'm using the MrSprite Sample. When I grab the ledge, I get stuck. I can't fall or climb. I've tried every key, it does nothing. Only the 'R' key works(it resets the sample). I don't know what to do. I have to make my character climb up.
    Take a look at below.
    Sprite.png
     
  47. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    @Arban11 I think I broke this sample in the last update. I'm submitting the new version today. Send a message to support email if you need it sooner.
     
  48. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Version 1.1.1 Updates
    ----------------------------------------------
    Added enemy knockback.

    Tagged property update.

    Added a DamageType filter to the sequence enemy exit condition for number of hits.

    Added a base priority to DAMAGE (50) and DEATH (100) animations so by default they take priority over anything else.

    Added double tap to run movement.

    Added a Mario style destructible brick.

    Fix: for low gravity pass through platform collisions.

    Fix: Don't allow enemy melee attack to be interrupted mid-way.

    Fix: Jetpacks will now take control of movement when y velocity > 0 which fixes some edge cases.

    Fix: Updated 2D bridge to better handle priority. UPGRADE NOTE: This may affect how your existing animations play.

    Fix: Send DOUBLE_JUMP state from Airmovement Variable with Inertia.
     
  49. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    Wow, i can't wait.

    Best platform I choice.
     
  50. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    Can I have it via email?

    Thanks