Search Unity

[DEPRECATED] The Platform-Vania Engine - Physics and Raycast Based 2D Action Platforming

Discussion in 'Assets and Asset Store' started by nosajtevol, Jan 26, 2018.

  1. Gamingbir

    Gamingbir

    Joined:
    Apr 1, 2014
    Posts:
    83
    that would be amazing to do as you work through it.
     
    CHEMAX3X likes this.
  2. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey, guys! So I have been trying to figure out how to add documentation that's easy to navigate, and settled on for now having a pdf viewer on my website with the current (a bit outdated) pdf manual. I'll be updating this soon to be more organized and it will be my main project, along with the other scripts, over this next month.

    https://www.jasonario.com/documentation

    Thanks again guys for everything!
     
    CHEMAX3X likes this.
  3. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    There's a problem with the link, i got a 502 error
     
  4. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hmm, not sure why. It may not be compatible with mobile at the moment?
     
  5. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    i wasn't on phone, but looks like was a temporary thing only, now it's fine (=
     
    nosajtevol likes this.
  6. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Okay, that's good! However I should note this is relatively outdated at the moment and I'll be making a new one this coming week, hopefully covering EVERYTHING. You probably already know more than what's outlined there :). I'll then expand it more and more over time to be more complete.
     
  7. Gamingbir

    Gamingbir

    Joined:
    Apr 1, 2014
    Posts:
    83
    Would be amazing if you show us how to trigger the effects from 2DxFX: 2D Sprite FX asset.
     
    nosajtevol likes this.
  8. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Kk, I'll try to get to that one this week. Almost done the new AI scripts so as soon as that's complete :)
     
    Gamingbir likes this.
  9. Gamingbir

    Gamingbir

    Joined:
    Apr 1, 2014
    Posts:
    83
    That is some awesome news. What is next boss battle example? :D
     
  10. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Right now I'm not working on a boss battle, but a complex opening scene to my new game that will have you fighting a ton of these guys as well as turrets:

    This will be the first sample for flying enemies and new grounded enemies mixing melee attacks with projectiles!! Sentry Bot Full.png Artboard1.png Turret.png
     
    Gamingbir and CHEMAX3X like this.
  11. Gamingbir

    Gamingbir

    Joined:
    Apr 1, 2014
    Posts:
    83
    your art is pretty good too
     
    nosajtevol likes this.
  12. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey guys! Just wanted to show you a bit of progress on what I'm working on. Finally got an enemy that can swap between shooting and melee attacking based on proximity to the player. Also, turrets! Check it out!

     
    Gamingbir, DrOcto and CHEMAX3X like this.
  13. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Awesome, thanks for sharing this =D
     
  14. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Sorry guys there is an error in the coding in the new update. I'm going to be rolling back the changes as there are some exceptions. For now just locate the errors and comment out the lines of code. Thanks and sorry about that!
     
    DrOcto likes this.
  15. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey guys, just want to apologize for the Using Fungus bug that you guys will see.

    For not just delete the PVTriggerFlowchart script and delete the line of code in the PVTurret script to fix it. Thanks!
     
    Last edited: May 17, 2018
    DrOcto and Gamingbir like this.
  16. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    My apologies if this is already covered - but is there programming for handling slopes/ramps in your platform vania engine? It never seems to be included in your demo vids, unless I have missed some.
     
    nosajtevol likes this.
  17. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey, Kevin! There is indeed coding for handling slopes. You'll see it in the Van Helsing demo on the website.

    Basically what I did was apply a force in the direction of the slope to sort of magnetize the character to the slope. This way the character doesn't slide around or anything. I think I need to make it a bit more tweakable, but for the most part it functions the way most people would want. Hope that helps! :)
     
  18. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    Thanks for the super-fast reply. I found the slopes in an area I hadn't discovered yet. I think they are handled well, for the most part, but the one thing I noticed was that when you are on a steep incline and you release the arrow key, you travel directly upwards away from the ground for a moment, but it's very noticeable. The steeper the incline, the further you travel vertically when you stop. (It didn't happen on the purple one-way incline platforms, though.) Do you have any plans to fix this? Otherwise, the slopes seem great, but that's one of those issues that professional games don't have.

    It's a really nice engine, overall. I particularly like the controllable vine-swinging ability, as it gives your engine something that other engines usually don't have. I have extensively prototyped a metroidvania-style game in Stencyl that I am looking to 'port' over to Unity and take much further. I am learning C# as I anticipate needing to modifying whichever engine I begin with. Your platform vania engine would give me a very close starting base for my purposes, so I am strongly considering your engine. The more realistic style of your swimming mechanics is of particular interest to me (another more unique feature of your engine) - though I do see that when he bumps into a wall, he kind of 'tweaks out' a bit - seems like he is always pointed in the direction of his travel, which becomes erratic if his travel is being blocked by something. If you swim directly into a vertical wall, you'll see what I mean. It seems he alternates rapidly between being pointed in the direction he's trying to go and halfway to the direction he's actually going. If this could be stabilized so that he's always pointed in the direction he's trying to go (or smoothly rotated to the compromised direction) it would be much better, visually.

    There are other things I would want to adapt in the swim mechanics, but they are more specific to my game and I'd rather they be unique, so I would rather program them myself, but the above two issues regarding slopes and swimming into walls are bugs that I think everyone would want resolved, so I mention them. Otherwise, I think it seems like a really great engine.
     
    nosajtevol likes this.
  19. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    I definitely agree with you on all of the above points, thanks for bringing it back to my attention as I admit I haven't been focused on those issues, though I've been aware of them and have definitely planned to fix them. Since you bring this up now though I will focus on fixing this by the next update within the next week or so.

    As for the little hop-move on platforms, if you untick "Instant deceleration" that solves that issue for now. Definitely a case of add-a-feature, add-a-bug! Anyway, I'll try to get that and other issues fixed asap. Thanks again!

    EDIT:

    It seems that I've fixed the hopping! Turned out to be a 5 minutes fix. So that fix will go up in the next update. I'll try to get working on the swimming fix now. Thanks!
     
    Last edited: May 21, 2018
    kevin_Leo and CHEMAX3X like this.
  20. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    That's very good to hear. :) I'm glad it was an easy fix. (EDIT: I just tried out the demo and it seems you already updated the demo! Those problematic slopes work great now.) Thanks for making these such a priority. Since you are going to focus on the swimming - I found a few other things that I think most people would want fixed. The Van Helsing character will jump out of the water if he approaches the surface with any speed -- even a very slow one. Seems like this should be reserved for a button press (like jump) or something, or at least require more speed to initiate. Personally, I think it should be a button press so that it's very intentional when it happens. If it happens accidentally, that could be quite frustrating for the player. Also - when he jumps in, his momentum stops right at the surface of the water. Is this adjustable on the user's end? Could I set a variable or something that allows him to sink into the water more realistically upon entry? When someone jumps into water, they typically sink at least a body length below the surface, sometimes more, depending on speed of entry. Also, he swings by his feet when he rotates -- could the center of rotation be more situated in his hips instead? Swimmers' hips are the point of rotation, not their feet. Lastly, the collision boundaries seem a bit large - his head will 'collide' with the wall when there's still quite a large gap in between his head and the wall. Does it need to be so big?

    Sorry for so many things -- I certainly don't expect you to tailor the engine specifically to my tastes, but these things seem like things that most, if not all, people would prefer. Please let me know if you disagree and thanks for the updates you have already made. :)
     
    Last edited: May 22, 2018
    nosajtevol likes this.
  21. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214

    Good point on the jumping out of water mechanics. I'll definitely see if I can fix that up. I think you're right, constraining the character in the water unless they actually hit the jump button makes a lot more sense.

    Right now I don't think that the momentum when they enter the water is adjustable. That's something I'll have to adjust as well.

    As for the other points, you're very right! Those are the proper ways things should be managed. I'll get to working on those when I have some time. Again, thanks so much for the really in depth feedback!
     
    kevin_Leo and CHEMAX3X like this.
  22. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Talking about fixes and features, it would be really good, if you can fix/add the feature when the player keeps moving when changing from scene to scene while holding left/right arrows, like in any metroid clastlevania game, for example, at the beginning is fine like it is now, but in the future specially for backtracking which is mandatory in any metroidvania game, and speedruns, it could be anoying having to press the walk arrows all the time.

    One more thing, consider adding the option to increase the HP, i.e, energy tanks in Metroid.

    Ohh btw, does the engine has support for ProCamera2D ? i bought it and it's really amazing, but i want to know if i will be able to use it without issues.

    Thanks in advance =D
     
  23. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Yup you can use it without any issue. I designed the engine to be flexible with additional assets. In fact, I used to use Procamera2D all the time and it is really great!

    I can add that feature where the character keeps moving when transitioning scenes, shouldn't be too much trouble! I'll add it to my roadmap.

    I love the adding HP thing. I'll add that as well! Megaman X!

    As another note, I think I'll be adding a Roadmap to the website soon. That way I can display what I'm working on real time. Thanks again for all of the input!
     
    Lars-Steenhoff and CHEMAX3X like this.
  24. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Awesome, thanks a lot =D

    Just one more thing, if i want to create an enemy from scratch, which scripts should i keep to make it work properly ?
     
  25. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    All you have to do is add the PVCharacterController, which will add the necessary base scripts. Then you add either the AIGroundedCharacter script, the AIFlyingCharacter script, or the AIWrapCharacter script. Then you just tweak the settings to your liking!
     
    CHEMAX3X likes this.
  26. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    No no no x), i mean, creating it from 0 by myself, coding it and everything not just tweaking the settings, or well, adding new abilities, which scripts should i keep ?
     
  27. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hmm well what I would do is create a new character class. I have yet to go into detail about this in a tutorial but I basically changed up the system for AI's so now there's going to be a bunch of different classes of AI, i.e grounded character type, flying character type, etc.

    If you want you can add the base PVCharacterController script with the few components it adds, that way you get all the health, and animations already pre-set up. So just tweak the settings on those components just like in the AI set up tutorial. Then you can make a new character type and add that as a class and code it to be however you want. That's what I recommend :).

    Though you can always just code everything from scratch and not worry about my code! Whatever works for you :)
     
    CHEMAX3X likes this.
  28. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Ohh i didn't know that i can code everything by myself and will work, so i will do that, and no, i won't do it cuz the engine is broken or something. i just need very specific behaviors in some enemies, that's all.

    Thanks again for the lightspeed answer =D
     
    nosajtevol likes this.
  29. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Haha okay good. I admit it's still lacking many features I want to add, but I'm so busy this month and last that I haven't had much time to expand it. Come July my time will be freed up and I'll be hugely expanding the engine, but until then it is what it is for the most part and I'll just be adding minor tweaks here and there.
     
    CHEMAX3X likes this.
  30. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    It's ok take your time, and even if the engine was super complete full of features, people will always need specific things, so it's not about lacking of features, don't worry for that (=
     
  31. Gamingbir

    Gamingbir

    Joined:
    Apr 1, 2014
    Posts:
    83
    hi is it compulsory to use 2018 unity version for this plugin? I heard there are a lot of errors in tilemap in 2018. Thanks for the fast replies
     
  32. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey, man! Yes I'm afraid I only have a 2018 version up right now, but if it's an issue I can put up a 2017 version again tomorrow. Though I probably won't update it for very long so long as there arent any issues.I haven't heard of any tilemap issues but I can look into that as well. Do you know exactly what is wrong with it?
     
  33. Gamingbir

    Gamingbir

    Joined:
    Apr 1, 2014
    Posts:
    83
    Last edited: May 27, 2018
    nosajtevol likes this.
  34. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey, Gamingbir, sorry I still haven't created a tutorial on integrating with 2dxFX. However for now I'll say it's as simple as calling the method on the game object that has the effect component.

    http://www.vetasoft.store/2dxfx/Effects/Teleportation.html

    I would say maybe make a simple script that controls the effect, and simply disable/enable the effect component when you want. Included in the Platform-Vania Engine is actually a PVCallEventOnTouch script that you can use to trigger this if you'd like it triggered when you touch an object. Simply add that to a game object with a 2D Collider set to trigger and fill in the parameters. You'd then have that point to a method on a script on the gameobject that is something like:

    public void EnableTeleportationFX()
    {

    if(GetComponent<NameOf2DXFXComponentHere> != null)
    {

    GetComponent<NameOf2DXFXComponentHere>().enabled = true;
    }
    }

    That's probably the simplest way to go about it.

    Note that the strings have to be the exact same lettering otherwise it won't connect properly. Let me know if you have a specific case you need handled and I'll try to fill you in more :)
     
    CHEMAX3X likes this.
  35. Gamingbir

    Gamingbir

    Joined:
    Apr 1, 2014
    Posts:
    83
    hi I was wondering if the documentation included in the current asset is updated version or I follow your website for most updated documents
     
  36. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    They're both a bit outdated, actually. I would recommend following the tutorials for now or simply asking me if you have any questions. I severely need to update everything but I've been away and have been very busy for the past couple of months. In 2 weeks I will be back home and able to update everything as well as start on that course I had planned for teaching everything.
     
    Gamingbir likes this.
  37. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey, everyone! So TERRIBLY sorry for being MIA the past few months. Was travelling and having an amazing time. Thought I'd have time to work on the PV Engine, but alas, I did not.

    HOWEVER! I'M BACK!

    So it's time to get back to work on things and getting organized. I'll keep you guys posted. Thanks for bearing with me!
     
    CHEMAX3X likes this.
  38. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Hey, no worries, glad to read you had a good time, great to see you back (=
     
    nosajtevol likes this.
  39. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Thanks a lot! It was good but in the back of my head the whole time I was like "I need to update the engine" lol
     
  40. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    Hi,

    I'm having difficulty implementing Spine animations into your engine ... I've watched your tutorial a few times, but it's based on the idea that you've created animations within Unity. I have my spine animations imported into Unity, but .... animator/animator component/animation override controller/default animator/franks animations ... all the things with "animate" in them are dizzying enough and then there's the added challenge of the tutorial not showing how to do this with Spine. Should I start by creating a Spine GameObject and parent that to my player GameObject? Would that put me in the same "starting position" that you are in at the start of the "Setting Up A Player" tutorial? And when I make the Spine GameObject, I'm prompted with the choice of "Skeleton Animation/Skeleton Graphic(UI) or Skeleton Animator" .... which one should I choose? My next question would be: What do I do when I get to the part at around 12:00 in the tutorial ... if my animations are already created in Spine ... or would I still be doing the same thing as in the video (like they are just references to existing Spine animations or something?)

    I believe I've set up all the references correctly in the inspector, so I'm not sure quite what's going wrong. When I enter play mode, the character just lands on the ground in his default pose with no animations playing. It's possible that I haven't got the inspector references correct, but I wanted to get the ball rolling on asking these other questions so that when I come back to it with a fresh mind later, I can narrow down the possible problems somewhat. Thanks for any help you can provide. :)
     
  41. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Hey, Kevin! Hope you're well! Just want to let you know I'm finally starting to work on swimming and the other notes you mentioned before :) So stay tuned for those updates sometime within the next week.

    As for the Spine animations, it shouldn't matter what kind of animation you have loaded into unity, whether spine, sprite based, or bone based. It's irrelevant as the engine is just set up to play the animation that is in the animator according to what you've loaded in to the animator override controller.

    I'm honestly not too familiar with Spine as I haven't used it in about 2 years! So I'm not sure what the requirements are for their set up that differs, but I'm positive it still uses the basic unity animator component to play the animations. I would say look at the animator for the character at runtime. Is it playing the idle animation? If it's playing the "falling" animation, and you don't have a falling animation set up, it's quite possible that you haven't set the raycasts up for the character and thus it's registering the character as falling. Also, the platforms the character is landing on have to be on the platforms layer with a collider2d component.

    If you don't mind sending me a package of your game, I can take a closer look and tell you exactly what is missing, which will also inform the next round of tutorials that I'm about to start. I'm going to be updating Platform-Vania Engine to version 2.0 soon with a ton of updates and tutorials based on what everyone has been asking for, so stay tuned for that as well.

    But yes I would say just send me a package and I can get it checked out immediately! Thanks again for the input and I hope this isn't causing you too much frustration. We'll figure it out!

    You can send the package to jasonariogames@gmail.com. Thanks again!
     
  42. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Just wanted to share this with you guys to let you know that I'm getting organized and busy! Will try to have the next round of updates end of week, latest!

    upload_2018-6-18_23-24-17.png

    By the way as you can see by the scroll bar there's more lists to the right. I'll be cracking away at them every day. So hopefully we can get this ready for Version 2.0 by the end of summer!
     
    DrOcto and CHEMAX3X like this.
  43. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Wow, taht's a long list, i really can't wait *Q*, thanks for the effort ='D.

    ..... I don't want to make that list longer, but xD, what about a knockback state for player and enemies ? and maybe the option to customize the health bar ? you know with animations or if you don't want a bar but hearts, circles, etc.

    The engine is getting better and better =D
     
  44. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Hey i'm having a little problem, i updated to the latest version (i didn't want cuz it needs Cinemachine and Anima2d and i don't plan to use them xD) and i'm getting some errors, i even made a fresh installation with the same result :

    Captura de pantalla (328).png


    Btw, Cinemachine and Anima2d are really mandatory or they are just for demo purposes ? can i work in my game without downloading them or i must do it =O ?

    Ahh, i bought Ferr2D, is it compatible with PV ?

    Thanks in advance, regards =)
     
  45. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    The to-do list looks great ... lots of things on there that I've been thinking "you know, this engine should have ..." :) Thanks for all these improvements -- also, I sent a project package to your email just now. As I said in the email, I'm sure it's just something I've done wrong. I'm still getting used to Unity, so I've probably just set something up wrong.
     
  46. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Currently you can change the health bar to whatever you want. I actually need to do a tutorial video on it and might do that today to just get it up there, but basically it's just an animator component controlling the health bar now. I'll let you know when that video is up but till then you can check out the health bars in the game and check out how it works.

    As for a knockback state, do you mean like knocking the character back when they get hit? Currently that's implemented in the engine, though you may be talking about something else?

    It is most definitely compatible with Ferr 2D! Currently using that for my own game actually, it's amazing. Cinemachine and Anima2D aren't mandatory though in the future I'll probably be incorporating more of Cinemachine into the engine, so it may become so. Currently they're just for demo purposes.

    As for that glitch, not sure what's going on there but I'll upload a new version and test. Maybe for now just comment out the entire AI Wrap Movement Character code till I can get to the bottom of it. I'll check it out now.
     
    CHEMAX3X likes this.
  47. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Okay so right now what it looks like is that you have the PVAnimationMethods script on an animator for a PVAIWrapCharacter. Currently I don't think these two scripts are compatible, I realize. If you remove that the errors should go away. Let me know if that works.
     
    CHEMAX3X likes this.
  48. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Thanks i fixed that thing, removing the PVE from my HDD and downloading it again, but i still get some errors as soon as i hit play, i didn't change anything, i just created a new project, and imported PVE, anima2D and cinemachine :

    Captura de pantalla (329).png

    I also found 2 bugs, one if you hit a box and this one falls on the player con can't jump nor destroy the box plus having a slow movement, and you have to restart :
    box700x454.gif

    And the second one, if you run to an enemy, you can pass through it like a ghost without receiving damage:

    bug700x454.gif
     
  49. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    That would be great, thanks for clarifying it =D.

    Yes i was talking about that knockback state, i didnt know that it was already in the engine, my bad.
     
  50. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    214
    Yea Unity Anima 2D sometimes throws those errors and I'm not sure why. They're usually inconsequential however and if you just clear the console they'll go away, or sometimes exit unity and go back in. Something that Unity themselves need to fix as that's one of their assets.

    As for passing through the enemy, that's actually by design. I didn't want the enemies to hurt you unless they were actually hitting you with a melee attack or some other attack. You can change that by adding a child game object with a PVDamageArea script to it (kind of like how the little pink blob guys are set up in the Area 3 scene in the Van Helsing demo).

    The box thing is indeed a bug and I will add that to my list. Thank you!
     
    Gamingbir and CHEMAX3X like this.
unityunity