Search Unity

  1. Unity 2020.1 has been released.
    Dismiss Notice
  2. 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

★ Game Creator ★

Discussion in 'Assets and Asset Store' started by Catsoft-Studios, Jul 12, 2017.

  1. Havok_ZA

    Havok_ZA

    Joined:
    Jul 27, 2016
    Posts:
    55
    That's fine - no issues with that. I know some people will probably want each weapon to be able to do their own damage but one can probably add hitboxes/colliders or something. That is quite specific though and not an issue.

    I just want to say again what an awesome job you are doing with Game Creator. I only very recently got the time to start learning it...as in the last few days since I was busy with life stuff - and I can see the polish and thought and genuine care to help people make great games into this asset. I love the way you also did the kits since it doesn't bloat and allows you to still earn money by adding kits that people want. This is really awesomely thought out and I hope there will be many years of awesome development here. :)
    I love the no nodes thinking and I love the 101% effort. :)
     
  2. Havok_ZA

    Havok_ZA

    Joined:
    Jul 27, 2016
    Posts:
    55
    I may have missed it but It would be great if the shooter module had an option to change the aiming reticule depending if its an enemy or friendly.
    I.e have option to change it to green or red, or to another icon.

    Then I was wondering if ammo count etc could be linked to for instance ammo in the Inventory module?

    But yeah....looking great!
     
  3. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Thanks @Havok_ZA ! We really appreciate your words :) Best way to end 2019 :D

    We might be talking too much here, since this is still a draft and haven't prototyped the idea (hence, it may change before the release), but the idea is that you can choose between two modes when detecting hit collisions:
    - Using a raycast that goes from the hilt to the tip of the weapon (with some tricks so there are no gaps between animation frames).
    - Using a physic's overlap sphere.

    Using the second method (which, is actually used in many AAA games, despite being less realistic) will allow you to unbound the hit detection from the weapon type you use. Your character may have a sword on between his/her teeth and the collision system would still hold up.

    Thank you so much! :p

    This is a very good question. There isn't a builtin feature for this. However, because the reticule (aka Crosshair in Game Creator) can be customized, you can create a custom "skin" that does this for you.

    To make things easy, start duplicating any of the default crosshairs that come with the Shooter module (more info here).

    Now, we want to constantly check what's below the "mouse" and change the graphic's color accordingly (or set a different sprite image, or whatever). This can be achieved by using a "On Start" Trigger that calls the following Actions chain:
    1. Cursor Raycast Action: To store the object below the cursor in a Local or Global Variable
    2. Call Conditions: Conditions where you identify the object aimed at and change the graphic accordingly
    3. Restart Actions: Restarts this actions to it loops indefinitely.
    The trick is correctly identifying the object stored in the Local Variable at the Conditions object. An easy way to do this would be checking its tag. If you tag all your "enemies" with the "Enemy" tag, change the color of the reticule to red. Green if it's an allied or white otherwise.

    Hope this gives you a general idea. If you have problems setting this up, hit us a message. Cheers and happy new year!
     
    Havok_ZA likes this.
  4. Havok_ZA

    Havok_ZA

    Joined:
    Jul 27, 2016
    Posts:
    55
    That makes sense, I'll give it a try next year ;)
    All the best and a Happy New Year!!
     
    Catsoft-Studios likes this.
  5. blueFire

    blueFire

    Joined:
    Nov 27, 2010
    Posts:
    63
    Would the way you are doing dual weapons allow two totally different weapons (like a dagger and sword) to be used at the same time?
     
  6. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Unfortunately no. This would increment the complexity of the Melee weapon system we have in mind. For example, you may have a "Steel Sword" with a set of animations defined. You may also have a "Wood Dagger" with another set of animations. What animations should a character play when equipping both the dagger and the sword? The animation set would be completely different to using each weapon individually.

    It's much easier to treat dual-wielding as a single weapon. Hope what I said makes sense. If you have suggestions, feel free to drop them here. We're open to suggestions.
     
    Havok_ZA likes this.
  7. SLASH24

    SLASH24

    Joined:
    Sep 20, 2012
    Posts:
    143
    Hi There ! Happy New Year everyone !! and Happy new year Marti @Catsoft-Studios and all the team ! during the last two weeks I've started a brand new project with GameCreator, an FPS, I plan to make use of every module, and obviously Shooter.
    I'll give my feedback soon, about what was cool & what wasn't, to help improve things ! so far I have a character with full body awareness, gun with animations and functionality.
     
    Catsoft-Studios likes this.
  8. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Excellent! Happy new year as well :) We'll eagerly await your feedback! Cheers!
     
  9. Havok_ZA

    Havok_ZA

    Joined:
    Jul 27, 2016
    Posts:
    55
    Nice one Slash24!
    Yeah it's really good... closest thing to Scirra Construct 3 for Unity3D imho or at least well on it's way there if not.

    The fact that it uses a similar "coding" style I think also makes it easier to use.

    Scirra Construct 3 "Visual Coding"
    upload_2020-1-2_11-33-30.png

    Game Creator


    It's a brilliant and fun system.
     
    Catsoft-Studios likes this.
  10. SLASH24

    SLASH24

    Joined:
    Sep 20, 2012
    Posts:
    143
    hello, guys !
    here is my first feedback !
    please note that I may be wrong when I point out things...

    I've set up a first person player.
    in order to do this,
    I've followed the steps in documentation, it was all right.

    then the first question I had was:
    "currently, the player can reload all the time, even when the current clip is empty, even when there's no ammo left... so how to reload only when :
    a) the current clip is not full
    and
    b) there is at least one clip or bullet left in "storage"

    ???"
    first, conditions to check amount of ammo were missing.
    acces to these variables is missing too (but only out of the box, can be done by script API).
    and a work around with Inventory seems not possible too.

    also I think that making a variable just to keep track of the ammo, would be redundant, as I've read in the API section that it already exists... (but not accesible out of the box, only by script API)

    so I've made my own custom condition, to check the amount of ammo, and check if reload actions should occur or not.
    here it is:

    Code (CSharp):
    1.  
    2. namespace GameCreator.Core
    3. {
    4.    using System.Collections;
    5.    using System.Collections.Generic;
    6.    using UnityEngine;
    7.    using UnityEngine.Events;
    8.     using GameCreator.Shooter;
    9.     using GameCreator.Core.Hooks;
    10.  
    11.    [AddComponentMenu("Player Can Reload")]
    12.    public class adj_GC_C_Player_Can_Reload : ICondition
    13.    {
    14.        public bool satisfied = true;
    15.         PlayerShooter PS;
    16.        public override bool Check(GameObject target)
    17.        {
    18.             satisfied = false;
    19.             PS = HookPlayer.Instance.GetComponent<PlayerShooter>();
    20.             if (PS.currentWeapon != null)
    21.             {
    22.                 if (PS.GetAmmoInClip(PS.currentAmmo.ammoID) < PS.currentAmmo.clipSize)
    23.                 {
    24.                     if (PS.GetAmmoInStorage(PS.currentAmmo.ammoID) > 0)
    25.                     {
    26.                         satisfied = true;
    27.                     }
    28.                 }
    29.             }
    30.  
    31.            return this.satisfied;
    32.         }
    33.      
    34.        #if UNITY_EDITOR
    35.         public static new string NAME = "Custom/Shooter/C. Player Can Reload ?";
    36.        #endif
    37.    }
    38. }
    39.  
    I've made use of GetAmmoInClip() as documented in documentation.
    next things I will cover next:
    I want the player to collect ammunition, and actual weapon separately,
    getting ammo alone or weaponry alone shouldn't give ability to shoot.
    from my point of view there are no actions/conditions for that. So I'm testing a way with Inventory...

    next, getting several weapons, and switching among them, might be a case too...

    see ya soon, for the next.

    tell me if I said something wrong...

    Edit : I've Updated the code snippet, added check to avoid errors in case player doesn't have any weapon in use.
    the work I'm doing is coming along nicely, player can now enter weapon customization menu, and add a suppressor for exemple, with a nice animated graphic interface. note: I intend to use only GC modules, and avoid other third party solutions to set up Game Mechanics, at least as much as possible :)
     
    Last edited: Jan 5, 2020
    Catsoft-Studios likes this.
  11. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Excellent @SLASH24 ! Thank you very much! That Condition you just made seems like a missing feature of the Shooter module, indeed. Would you mind if we included it (with a few tweaks) that does what yours does in the next update?

    About the character being able to reload while the ammo's magazine is full, this was intentional. But agree that checking if a weapon's ammo clip is full would be very useful.

    Regarding picking ammo without having the weapon equipped (or even owned) should be perfectly possible. Simply use the Ammo action to give a certain amount of ammo to a character and it will automatically handle storing it.

    As for using the Shooter with the Inventory, here's an outline of what we would do (although you might find another way that works better for your game. In that case, go for it):

    The idea is to create an Inventory's weapon item (for example a Revolver). This weapon, when equipped, it should use the Action "Draw Weapon" and in the "On Unequip" Actions it should use the "Holster Weapon" Action.

    This will ensure that when you equip a weapon it will automatically draw it and put it back when holstering it. We wouldn't recommend synching a variable or an item with the amount of ammo though. The Shooter module automatically handles saving the amount of ammo inside each weapon's magazine and pouch, even when saving and loading the game.

    This will be better explained in a future video tutorial. Hope this makes sense and if you have more ideas to improve any of the modules, please let us know :)

    Happy game making!
     
  12. SLASH24

    SLASH24

    Joined:
    Sep 20, 2012
    Posts:
    143
    yeah thanks !
    I've Updated the code snippet, I've added a check to avoid errors in case player doesn't have any weapon in use.
    Code (CSharp):
    1.  
    2. namespace GameCreator.Core
    3. {
    4.    using System.Collections;
    5.    using System.Collections.Generic;
    6.    using UnityEngine;
    7.    using UnityEngine.Events;
    8.     using GameCreator.Shooter;
    9.     using GameCreator.Core.Hooks;
    10.  
    11.    [AddComponentMenu("Player Can Reload")]
    12.    public class adj_GC_C_Player_Can_Reload : ICondition
    13.    {
    14.        public bool satisfied = true;
    15.         PlayerShooter PS;
    16.        public override bool Check(GameObject target)
    17.        {
    18.             satisfied = false;
    19.             PS = HookPlayer.Instance.GetComponent<PlayerShooter>();
    20.             if (PS.currentWeapon != null)
    21.             {
    22.                 if (PS.GetAmmoInClip(PS.currentAmmo.ammoID) < PS.currentAmmo.clipSize)
    23.                 {
    24.                     if (PS.GetAmmoInStorage(PS.currentAmmo.ammoID) > 0)
    25.                     {
    26.                         satisfied = true;
    27.                     }
    28.                 }
    29.             }
    30.  
    31.            return this.satisfied;
    32.         }
    33.    
    34.        #if UNITY_EDITOR
    35.         public static new string NAME = "Custom/Shooter/C. Player Can Reload ?";
    36.        #endif
    37.    }
    38. }
    39.  
    yeah, this code snippet might need tweaks ! should be more general and not specific to the player, too.

    the work I'm doing is coming along nicely, player can now enter a weapon customization menu, and add a suppressor to the pistol for example, with a nice animated graphic interface. note: I intend to use only GC modules, and avoid other third party solutions to set up Game Mechanics, at least as much as possible,
    demo video, on youtube coming soon, tomorrow probably.
    :)
     
    Last edited: Jan 6, 2020
    Catsoft-Studios likes this.
  13. sky_dragon

    sky_dragon

    Joined:
    May 27, 2016
    Posts:
    26
    hi!
    Thanks for your wonderful tools.
    I have a question about the stats module. How to access and set its values?
    Are they global values? What are their names in code?
     
  14. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Hi @sky_dragon . Stats are accessible through different Actions & Conditions, but I guess you refer through code, right? When you define each Stat in the Preferences Window, all Stats components are updated with their own copy of each stat.

    So in order to access a game object's particular stat, you'll first need to access its Stats component and then the particular stat you're interested in. For example:

    Code (CSharp):
    1. public GameObject myGameObject;
    2.  
    3. public void PrintStrength()
    4. {
    5.     Stats stats = this.myGameObject.GetComponent<Stats>();
    6.     float str = stats.GetStat("strength");
    7.     Debug.Log("Strength is: " + str);
    8. }
    The "strength" name is your Stat ID. When you create a stat you need to give it a unique name, which is used to store the stats in a dictionary.

    Hope this helps! Let me know if you have any more questions
     
  15. sky_dragon

    sky_dragon

    Joined:
    May 27, 2016
    Posts:
    26
    got it.
    thaks very much.
    cheers!
     
    Catsoft-Studios likes this.
  16. sky_dragon

    sky_dragon

    Joined:
    May 27, 2016
    Posts:
    26
    Hi @Catsoft-, here is a bit illogical that when players fall from a height, they can jump in the air.
    Also, I find that the Rotation.x changes quickly in the Follow Camera even the player do not move, why?
     
    Last edited: Jan 13, 2020
  17. JeffreyStrate

    JeffreyStrate

    Joined:
    Jul 27, 2016
    Posts:
    20
    AimLock - aim objects, like cameras, at target objects, set up direction
    Animation Series - play a sequence of animations, including loops and more

    das brauche ich... dieses Animation system is kake von unity und ich keine keine Variable vergleichen und sagen wenn healt 80 = blood other anderes
     
  18. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Correct. This is a bug. You can, however, make a double jump (or triple) increasing the amount of "jump times" if that makes sense in your game. But agree that the first jump shouldn't be performed when free-falling. I'll be fixing this for the next update.

    Not sure what you refer to. The Follow Camera follows the target object and keeps track of it, so it will only rotate when the target moves. Do you have a video showing your issue?

    Sorry I don't speak German (or Dutch?). I processed it through Google Translation but still not sure I understand what's the issue. Could you further elaborate in English?
     
  19. sky_dragon

    sky_dragon

    Joined:
    May 27, 2016
    Posts:
    26
    Thanks for replying. For the second one, create a new project, import game creator, create a plane, player and camera motor. setting camera moto as 'follow camera'. Play and then you will find that the Rotation.x of camera motor change quickly.
    unity:2019.2.17f1
    game creator:1.1.3
     
  20. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Everything seems to work fine on our end. Keep in mind though that you can choose between keeping track of the target or not. If you choose to keep track, the camera will follow but also rotate towards it. The damping amount is defined in the "Camera Controller" component (see your main camera object). By default the damping for rotation and translation are set to 0.1 but you can increase these values to something like 0.5 for a smoother effect.

    Despite this, you might also want to choose not to rotate towards the target. Following an object but not rotating towards usually benefits from making the camera move less.
     
  21. sky_dragon

    sky_dragon

    Joined:
    May 27, 2016
    Posts:
    26
    Thanks!
    I find a bug again: when using action to change character model, they can't be saved. Or is there any special method to save them?
     
  22. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    This is not a bug. Unfortunately, Unity doesn't allow to "serialize" game objects, so we can't store which 3D model you're currently using at runtime in order to later restore it when loading a game.

    However, you can create a List Variable component which references all possible 3D models and you just need to store the index that points to the correct 3D model. Then, using an "On Start" Trigger, you can load whichever character model was, using a Global Variable that works as an index to the list variable, where the 3D models are, and pick the one being used before.

    Hope this makes sense!
     
  23. sky_dragon

    sky_dragon

    Joined:
    May 27, 2016
    Posts:
    26
    Got it. I have done it.
    Cheers!
     
    Catsoft-Studios likes this.
  24. Mangas

    Mangas

    Joined:
    Jan 16, 2013
    Posts:
    17
    @Catsoft-Studios it's possible to change the target of a Camera Motor in runtime? And to initialize the Camera Motor without a target?

    I like your asset so far, but I find the documentation on your page a bit lacking, the small API section you have there is not enough. In any case keep up the good work.
     
  25. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Yes. Each camera has its own Action. For example, if you're using the Fixed Camera, use the "Fixed Camera Action" and select which target you want it to look at.

    Also, you can definitely skip setting a target. In which case, the camera will look at whichever direction the camera currently looks at.

    We're aware of this and we're working on improving our learning tools. It's going to take a bit of time until we have a the new learning material, but it's an area we have plans to tackle :) Cheers!
     
  26. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    You've got a pretty cool looking system. Looking at this for some simple games, but I don't want to use old (poorly-designed) input technology. The new action-based Input System is default in 2019.3 now.
    Is support for this available yet? -- If not, what's the ETA?


    Also, speaking of "actions" -- everytime I try to create one on a Player character, I get some reflection error about the Unity popup for when I try to create actions. I don't want to have to uninstall Game Creator completely, but it seems to not fix this error despite being on 2019.3.1f1 -- Any ideas? -- Also, the default layout will not reset completely. (I attempted to do this due to bugs with the popup window.) As far as I can tell, there are no conflicts in my project, so I can only think it is related to Game Creator. Without "actions" to use, I am dead in the water with using your system.
     
  27. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Not yet. The "old" input system is still the standard for the LTS version of Unity, which is the one we support. We can't just drop previous Unity version support in favor of the latest features. However, we do plan to slowly shift towards the new Input System, but no ETA for the moment.

    Can you open a ticket with the popup and errors that appear? With reproduction steps if possible (a small video would be perfect): https://support.gamecreator.io. We're not aware of such error.

    Not sure I understand what you mean by the layout will not reset completely. You mean the windows layout? That is unlikely a Game Creator issue, but if you can provide further details, we can look into it.
     
  28. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    Wow, no ETA even now. -- I asked about this way back when Game Creator was first put out into the wild. I have been off of the LTS for quite some time, and quite successfully. So, yes, it is "old" to anyone who has been needing compatibility with the new input system. This is one of the main reasons I've hesitated to use Game Creator for so long. It seems decently designed, but I don't want to start a project with old technology when a newer (better-designed) technology happens to be on the shelf and ready-to-use.


    Not gonna bother with this -- I'm guessing it has something to do with upgrading from 1.0.1 to a newer version. The error existed in the newest version in 2019.3.1f1 too, so my guess is something in 2019 doesn't like Game Creator's way of updating itself.

    I literally just made a single Player and attached a model to it, played around a bit, then attempted to add some actions. I have never been able to get Actions menu to work in 2019 at all -- old or new version. It could potentially have something to do with the AssetDatabase stuff, since Game Creator does some weird stuff during an update, but who knows.
    The fact that I have to completely destroy my prefabs just to put Game Creator back in via a clean install (since the update failed to fix the project) really bothers me -- This alone makes me unable to trust it will work for me in the future. I can easily see an unexpected use-case where it costs me hours of work when something breaks unexpectedly and I have to rework all my character prefabs (and their components) just because I can't drop a regular prefab into the Player setup thingy -- it *must* be a model. Which means I lose all customization entirely and have to start from scratch.

    There's no way around this.

    Fun times.
     
  29. vorokoi

    vorokoi

    Joined:
    Oct 18, 2019
    Posts:
    34
    Let me get this straight... you have a problem that other people don't have, the developer offers to help you find the cause and solve the problem, but you refuse? Plenty of us are using GC without issue in 2018.4+, 2019.3+ ... but you would rather sit there and struggle because... pride? Foolishness? Is it so difficult for you to imagine that someone else might be more capable of solving a problem you have? Get your head out of your @$$ @awesomedata
     
  30. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Bear in mind that we have many projects using a wide variety of Unity versions. As we said, we always support the latest Unity LTS version, which currently is 2018.4. We can't just add support for a new feature and drop support for the latest LTS version of Unity, because it doesn't support the new Input System by default. I can understand the frustration this may cause, but there's little we can do but to stick to our and Unity's roadmap.

    Hope you can understand this. As for your other question, Game Creator doesn't destroy prefabs nor anything like that. However, Unity 2019.3 is the latest version available, and as such, there are many things that are not production-ready. I'd recommend using a lower version (LTS would be perfect, although 2019.1 and .2 should do it).

    Let us know if there's anything we can do to help.
     
    awesomedata and AGregori like this.
  31. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    My tone was probably not the most polite, so for that, I actually do apologize -- I was quite frustrated about the developer's seeming lack of concern with users who prefer to take a chance on "new" input technology, rather than sticking with the ancient (written in the 90's) default input system and LTS as he suggests. As far as I am aware, using LTS releases was actually a suggestion, not a requirement. In that case, I felt like support for it was a no-brainer.



    Despite our disagreement, the developer had already "helped" me by simply pointing that fact out. I didn't feel the need to bother looking for further help. Why would I? Before his response, I had no clue other users were not having this same issues (which was why I brought it up in the first place), so when the developer told me as much, I quickly realized the fault was probably on my part. -- Why ask the developer for further help if my own actions caused the error? -- I was clearly in a better position than he was to help me in that situation.



    Be careful with assumptions. They tend to make an "ass" out of "u" as much as "me". In this case, I simply had a feeling I knew what the problem was already, and me debugging it myself turned out to be a lot faster solving it than it would have been registering, flicking back and forth between the site and my email to login to a third-party platform, filing a bug report, and potentially waiting days for a response that is typically just asking for more details or clarification. I was in the best position to solve my own problem. And my intuition was correct. I solved the issue myself. It had to do with a (package manager) package I had accidentally installed in the past and did not realize it was there. This package conflicted with the Actions window, and broke a lot of things in my project, which was a source of (additional) frustration that was initially (incorrectly) directed at Game Creator and came out in my post via my (unintentionally) pointed tone. It had nothing to do with my head being up my own @$$, as I generally try to avoid that. But I am human, like you (hopefully), and also, like you, I do make mistakes. I just try to admit them so I can learn from them. While I expect others to do the same and admit their faults too, because of their "pride" and "foolishness" (as you yourself pointed out), I find that others (but hopefully not you) often don't.


    ----

    @Catsoft-Studios


    This is absolutely understandable.

    However, to be fair, I wasn't actually suggesting you "drop" LTS support -- only that you "add" support for the new Input System for those of us who are not bound by the LTS releases. Honestly, the two input systems actually work alongside one another rather nicely in the same project. -- You should try it out and see for yourself! -- For gameplay purposes, the new Input System is superior, but for "press this key to continue" situations, the old one works better, which is probably why Unity has kept its functionality in alongside the "new" input system.
    To support the new input system, you would likely only need an action that maps directly to the list of the (Unity) input actions for them to fire. It's not like you'd have to manage the keypress events yourself -- you'd only have to manage whether the (GC) action in the list can proceed or not. With actions that map 1:1 to (input) actions in input action-maps, the Game Creator system would then instantly support plug-and-play capabilities, etc., with very little effort.
    This "low-hanging fruit" is kind of a no-brainer if you really think about it. IMO, for something as general-purpose as Game Creator is, your users should have the last say as to what input system they want to use at a given time. To go against your users on something this fundamental to their game is just shooting yourself in the foot. Game Creator is a really neat way to keep things simple, but "simple" doesn't always mean "simplistic" -- after all, most things in the Universe are simple (and user-friendly!) -- but rarely are they simplistic. A simple design can include two separate kinds of input systems, just as long as each system is clearly marked and intuitive to understand.

    The problem I initially had was my Player prefab -- That is, when I updated the prefab (and had to remove it), I could not just drop it in as a player again without wiping out the customization (since I had to drop in a model in to make it a player, and not a prefab). This was a curve-ball. However, for the other things, I found what you said was true. I had lots of odd errors specifically with Game Creator due to the aforementioned package, and when I had to remove Game Creator to debug for it, I thought my setup was gone for good. Turns out this was not the case. It saved me headaches for sure. Thanks.


    ...

    Perhaps add some actions to handle things like waiting until the "Animation End" of a gesture/group of actions to continue processing the next action in a stack? This is incredibly painful with cutscenes that require an animation to play out. Also a single action for enable/disable player movement (without having to configure values) would be immensely handy. It was not clear that you had to set a particular property explicitly to make the player stop moving (non-controllable) in a dialogue setting. I can make these actions myself, but these would definitely make cutscenes much easier to work with.

    Just food for thought.
     
    Last edited: Mar 9, 2020
  32. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Sorry for the late reply. I thought I had answered you, but looking at the thread it seems I didn't press the post reply button. The thing is that, despite both systems working together in the same project, i doing so they would also fight each other.

    On top of that, and because our minimum supported version is Unity 2018.4 LTS, which doesn't have the new Input System, adding specific code for the new Input System would throw a lot of errors, since it wouldn't be able to find the Input System.

    I agree that the new Input System is far more flexible and much better than the current one, but we can only provide support once its use is extended to the minimum supported version and has a stable version. As far as I know, it is still in preview.

    Thanks! Noted. Although making a character stop is as easy as using the Character Property action and change the "is controllable" field to false, I agree that it's way too hidden for such a commonly used action. I will most likely create a specific Action dedicated to this.

    Regarding gestures we didn't include them since you usually want to hold slightly less amount of seconds before the gesture is complete and allow the blending between the current gesture and whatever movement the character does later feel more natural. Otherwise, characters appear like robots. Despite, I'm taking note and we might come up with something, like automatically setting the hold duration equal to the length of the gesture, but also allow you to modify it.
     
  33. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    That's fair. Thanks for the clarification. I feel a lot better about this decision now that you put it that way.


    I would also add the ability to stop the velocity on the x/z axis as well -- there's a lot of sliding going on when entering, for example, a trigger volume to start a cutscene.


    I feel like a "falloff" value could be useful here -- one between when the current action ends and when the next action in the list executes. I have a feeling a coroutine is being used, so it could complicate things a tiny bit, but it would be worth it in the end to have a side coroutine to handle any parts that specify a "falloff" or "blend" between actions.

    Besides this, setting the length of the action to the length of the gesture would be a great start, but having the option to cut-off the action gesture at a specified falloff distance from the end of the animation is a better option in many cases than immediately stopping the action after 'x' seconds. This gets to be very rigid and inflexible in most cases, and can be very frustrating in general, since the whole beauty of your system is that you shouldn't have to code in order to have little transitions like this.

    I could see a nice camera "crossfade" movement to another character (rather than a hard "cut") being affected by this falloff value too. The gesture for the other character would begin during the initial falloff start, and the camera would cross over to its final position during the falloff duration, causing the end of the previous character's gestures the moment the camera arrives to its final destination. Not only would this would give you a lot more control of shots, when using stuff like rendertexture overlays, a texture-based crossfade to the other camera would be nice too (rather than simply crossfading movement of the camera to the next shot during a gesture -- the rendertexture in the transition itself could take this "action falloff" into account too, creating some interesting timeline-esque situations -- without all the added complexity of using it and cinemachine for simple shots/dialogue/transition effects. Fading sounds using this "action falloff" transition could be useful too.

    Just food for thought. :)
     
    Catsoft-Studios likes this.
  34. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    This was a bug and has been addressed. The thing is that if you character has acceleration, when commanding to move to a position, it put its current acceleration on hold until the destination was reached. At that point, the previously built acceleration was released and the character slightly overshoot the target destination.

    But this is addressed in the latest update that is coming up very soon.

    I was looking at this and there is already a mechanism that allows to wait till the gesture is finished. It's a checkbox called "Wait till Complete" under the Play Gesture action. Here's a screenshot:

    gesture.png

    Despite this, a falloff value that you can cut mid-play would be optimal. I'll experiment and see.

    This is also possible. When using the "Change Camera" action, there's a transition slider. Setting the transition duration to zero will make the camera cut to the new one. However, adding a value greater than 0 will make the camera smoothly transition between the current and the follow up.

    However, I'm not sure I fully understand this "falloff" concept you mention. So the idea would be having like an external variable that orchestrates different beginnings and action endings? Instead of having each action individually executed, it would determine when each one begins?

    I feel like this concept would feel too "programmer" and would make things less beginner-friendly. On top of that, beginning actions at different rates would be better achieved using a Unity Timeline and the use of Signals (which we hope to give support as soon as we drop 2018.4 LTS, since, like the input System, it's only supported on the latest versions).
     
  35. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    Not quite --

    Necessitating the overall orchestration of individual actions on a per-action basis would be too much work for both you and the user. However, providing an option to (slightly) orchestrate per-action would yield many advantages.

    Instead of a global orchestration, the "falloff" would essentially be assigned to an actionlist as a property of each ActionList instance (to let each list manage its own execution behavior/timing). The next action in the list/queue would essentially have some idea of the intent of the action before it -- It could care less about any actions that follow it (or precede the action before it). Some actions make use of a falloff; others don't and completely ignore it. As execution progresses down the list, actions either make use of the "falloff" property, reset it -- or ignore it altogether.

    The user can specify what each action (or condition?) does with the falloff (if anything), but the default I would suggest is to reset the falloff to 0 (to keep it newbie friendly) just in case it was set and forgotten about a couple of actions ago, but perhaps an "inherit falloff" option could exist for some actions, allowing you to temporarily halt resetting the falloff to 0 if an action needs it later in the list. I can see this being useful for fading in/out sounds at the beginning of a cutscene, then using the API to access a particular ActionList instance to check the falloff from a "Play Sound" or "Play Gesture" action.




    As a user, I would have to point out that Timeline is definitely useful, but it is no silver-bullet. Timeline fails (and Game Creator shines) when you need sequential, step-by-step "stacks" of explicit behavior. Timeline is also framerate independent, meaning that there are some cases where a behavior never happens, or if it does, it is not in sequence. In games where sequence (i.e. of variables) matter, Timeline is a bad idea.

    Ultimately, there are times when "just enough" control over an action timing (for the sake of development speed) is more important to have than having complete control for the sake of simply having more control. A "falloff" concept of some kind would do nicely to control simple action/gesture/sound fades. If you ask me, this is one of the most crucial missing features of this asset as a whole.
    Maybe you forget, but some of your users (like me) prefer to use Game Creator to speed up their creation process -- and bringing in a big beast like Timeline + Signals (as well as the potential for errors and additional bloat in the project) for tiny, mostly unimportant, story sequences is against the needs of your users who need a fast-to-use authoring solution -- i.e. for a quick sequence of cutscenes or game logic. A good middle-ground for sequential niceties would be the concept of a "falloff" between actions in the list. Using AnimationCurves, you could actually even have a separate "falloff" for sound, movement, gestures, or even a generic "transition" (or two) users can use for other purposes that are project-specific for their own custom actions. I can imagine extending this to screen transitions or shader fades. I would only need a simple in/out fade to do this, but having better control through something like an AnimationCurve can be preferential in some more specific, heavily-scripted, cases. In these cases, Timeline would still be too unwieldy just for a sequence or two. One could also argue: If I can "just use other tools" because they are better for game creation, then why would I want to use Game Creator in the first place?


    You're on to something here -- It just needs that last bit of a push.
    Hopefully I've given you something to think about though.
     
    Last edited: Mar 23, 2020
  36. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    407
    While that sounded a little provocative, I also have some of the same thoughts. I would hate to see Game Creator lose momentum over time like AC or ORK did because the devs became complacent and directed users to "do-it-yourself" after a certain point. Timeline in particular is still unstable (as free products tend to be) and I wouldn't rely on it for a live, for-profit game.
     
  37. vorokoi

    vorokoi

    Joined:
    Oct 18, 2019
    Posts:
    34
    One could also argue that expecting a single tool/asset to do anything and everything is unreasonable. Most assets aren't gigantic teams, and more often than not, a solo dev. If there are better alternatives for certain specific features, why not use them? If you aren't a fan of Timeline, try something like SLATE. As for sound fades, there are plenty of sound mixers that handle just that, with extra to boot. How much bloat do you want? You complain about bloat via external assets but then essentially advocate for the very same thing except its native? Doesn't make much sense.
     
  38. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    407
    That's actually a great suggestion, as Slate is now the only viable Timeline alternative that surpasses Timeline in functionality and lack of debilitating bugs (Cinema Suite and Flux are meh). ParadoxNotion and Catsoft feel like natural allies, and I hope an integration package will be done.
     
    vorokoi likes this.
  39. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    Nowhere did I ever say (or imply) I expected Game Creator to "do everything" to begin with, so I am not sure how this is an argument against what I am saying.

    Also, not only is "supplies the things you need to make games" implied in the name (which implies A LOT since "creating games" requires a lot of functionality that isn't always very clear at first), I am also an asset developer myself, so I know the woes of this "one man team" thing pretty well actually. But this does bring up a point. Everytime I see Game Creator mentioning itself, it does so by using "we" (rather than "I") -- which implies a bigger team than what is. Yeah, I know -- this is a minimally effective marketing gimmick many people on the asset store employ to try to seem "more professional", but it also tends to increase expectations. The problem with that is -- some people hold you to those expectations you've set. Not everyone can see past the gimmick.

    I might have been a bit pointed about it, but I don't mean to be rude to anyone. I only criticized the design approach -- and for good reasons. I've explained them above. Overall, I'm glad you're so defensive of this asset -- it speaks to either your friendship to the author or your love for the product itself (or maybe your hatred of me?). It's hard to tell which, but I think the author seems to be a good guy with a good head on his shoulders, so either reason is fine by me. However, just like @Gregorik, I was just saying what some people were (and would eventually be) thinking.


    As I've pointed out in my previous posts -- "better" is relative to both how "useful" and how "easy-to-use" something is.

    Game Creator prides itself on "easy to use" due to its simplicity.

    However, as it stands now, Game Creator is very limiting by sticking hard and fast to the concept of "simple" over "useful" -- and "simple-to-use" rarely means "easy-to-use" in game development -- especially when you have to combine it with other tools for it to be "useful", which is rarely easy for the non-programmer (to which this asset caters).

    Again, this asset has potential, but I think the idea of simply pushing people toward "another tool" is a bad idea in general. Unless, like @Gregorik pointed out, a native integration was made, you could scarcely expect a non-programmer to be able to provide one themselves. But a non-free tool integration is one more hurdle for the user to have to justify, and one more thing for the author to have to keep up with. Like @Gregorik, many people who are using this asset likely have tried other tools before and got sick of all the complexities that brought to their general workflow when the author was unwilling to support their use-cases. Even SLATE, despite being a good replacement to Timeline, still doesn't solve the problem I posed in my previous post to the author, which is the ability to simplify the use-case of needing some way to control timing in the ActionList. The "Wait" command isn't enough (and gets too complicated for story sequences, which is the only real value to the Dialogue extension.) All in all, I was hesitant to use Game Creator from the outset due to the "buy this extension to do this, or that one to do that", but I can concede to the purchase if it handles my "simple" requirements (and speeds up my workflows).


    Indeed it does -- except when you view it as "bloat" because you are trying to disprove my points without actually addressing (or even listening to?) any of them.

    So far, you're the only one advocating an entirely separate tool for an entirely separate use-case.

    Requesting (slightly) more control over how my actions behave and/or transition (if desired) from one action to the next while being in the simple form factor of the ActionList is all I've advocated for. I don't need a complex tool (or a complex integration) to accomplish this. Timeline/SLATE doesn't handle ActionLists, but maybe it could. But why keep up an extension to an asset you didn't author yourself just so your asset can support slightly better timing control when a few lines of code (in your own source) would suffice? One man team remember? So explain to me how this request is "bloat" or just feel free to mansplain it to me -- whichever you're more comfortable with. I'm sure you will find a way to negate (or ignore) everything I'm saying just to tell me I'm wrong (because you want to be right). I would like to be wrong about that, so I will gladly accept that I assumed without knowing that you're actually a pretty respectable person if you indeed accept the facts and move on. :/

    Now, if we're both done with the hostility, I would like to be civil again and move on.

    All in all, a native integration of an external tool would be cool by me, but it would not solve the problem I posed about a "simple" way to handle timing of sequential actions in an ActionList. If anything, using an integration would cause more complexity simply because of the blending. For an integration, you'd need "Actions" to become "Clips" -- and then vice-versa -- and then you would _still_ have to handle "blending" the Actions in Game Creator. I mean, it wouldn't be a terrible idea to support the blending out of the box with a "falloff" value. After all, you're gonna need it anyway, right? So let me be explicit too -- How could it be "bloat" if you will eventually need it anyway? :/
     
    tng2903 and AGregori like this.
  40. vorokoi

    vorokoi

    Joined:
    Oct 18, 2019
    Posts:
    34
    i stopped reading after the third time you contradicted yourself @awesomedata . Take it from someone who also has a tendency to come off as abrasive and condescending, you have a terrible way of communicating. Fallacy after fallacy, with sprinklings of passive aggressive bull-, it doesn't matter how long you ramble on for, it isn't convincing at all. Gather your thoughts and try to be a bit more concise. If quarantine gets extended I might come back to finish this essay.
     
  41. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    Good for you. That's exactly how willful ignorance works.

    Don't bother to point out the contradictions I made, yet you say I contradicted myself. Seems like a red-herring to me. Then again, maybe it's just a way to say "You're wrong! I don't know why! But you're wrong!"

    I'm glad you're aware of this. That's the first step to recovery from being an as--erhm--sumptive person.

    If it's all the same to you, communication isn't your strong suit either -- I'll just call us even.

    Please don't.

    Besides, I suck at communicating. Remember? -- Save yourself the hassle.
    Anyway, I'd rather move forward out of respect for the author. It is HIS thread after all. I was simply giving feedback on HIS asset. Now that you have no further points to address, I think it's best we agree to disagree on whatever it is we disagree about. Still not entirely clear on what that is, though please don't enlighten me. I can be willfully ignorant too.
     
  42. vorokoi

    vorokoi

    Joined:
    Oct 18, 2019
    Posts:
    34
    lol @awesomedata . Yeah, quote every other sentence to take everything out of context. Well done mate. Genius.
     
  43. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,063
    Thanks! :)

    You're not so bad yourself!
     
  44. kodagames

    kodagames

    Joined:
    Jul 8, 2009
    Posts:
    526
    Is there swipe controls for mobile devices?
    If not are there any plans to support them?

    I read through a bunch of posts but couldn’t read them all to find out the answer so hoping there is a reply.

    After watching some videos it really looks impressive especially the one click player creation. I’m only interested in creating mobile games at the moment so having swipe to move the player and fight other characters is a must for me.

    Really hoping for some positive feedback on this one especially after watching the Melee video (it would be so cool to string together swipes as Cobos while battling foes).
     
    Last edited: Apr 5, 2020
  45. crimsonmortis

    crimsonmortis

    Joined:
    Feb 21, 2016
    Posts:
    63
    Picked this up and LOVE IT!! I never managed to find a way to learn C# ( or coding in general) however GC let's me build things in way I can understand.

    I also grabbed all the modules offered in the asset store. I dropped Aquas and Unistorm in with no issues along with some pre made landscapes.

    Having some trouble with the animations and player model but having fun figuring it out. For clueless people like me if your camera shakes when moving but fine when still make sure it's not a child of the player!!!

    One request/question and more word on UMA? Would love to know how to get it working with GC.

    Thank you for making my self isolation time challenging and fun!!
     
  46. JERGS

    JERGS

    Joined:
    Apr 7, 2020
    Posts:
    2
    Currently using it, i find it frustrating to use the camera motors because seems to be very buggy. sometimes it works and most of the time its not :mad:
     
    awesomedata likes this.
  47. crimsonmortis

    crimsonmortis

    Joined:
    Feb 21, 2016
    Posts:
    63
    Buggy how? I had trouble with the camera motors at first would make screen shake when I walked but was fine once I stopped. Or are you experiencing something else,?
     
  48. test19user66

    test19user66

    Joined:
    Dec 31, 2016
    Posts:
    14
    When i use game creators character controller with dynamic navmesh. My character does not follow navmesh. (Navmesh needs to change according to the open and closed state of the door)
    upload_2020-4-15_1-29-7.png

    Characters inspector panel;
    upload_2020-4-15_1-30-46.png
    System automatically unchecked Navmesh Agent.

    Anyone know to solve this problem?
     

    Attached Files:

  49. vinceavila83

    vinceavila83

    Joined:
    Mar 31, 2020
    Posts:
    2
    Hello! i am working on a game that requires formations, and although i love game creator and own the shooter, behavior and stats module i would like to get Behavior Designer from opsive to work with Game Creator. Although game creators DISCORD is good at helping me with problems, sometimes you need a little bit more to go on. Someone has tried to do this before and i got two files from GitHub made by tcmeric, the files are (https://codeload.github.com/dumbgamedev/GameCreator-BD) script but i don't know how to use them?????

    I was told to add them to my actions list, but what list? BD or GC?
    Can anyone help me please!!

    -Vinceavila83
     
  50. Catsoft-Studios

    Catsoft-Studios

    Joined:
    Jan 15, 2011
    Posts:
    618
    Hi Test19User66! Sorry for the late response, somehow we had the notifications disabled. Under the Character's Inspector, you'll see a section called "Advanced Properties" and a checkbox that reads "Use Navmesh". Mark it and it should follow the navigation mesh :)

    I'm not the author of these Actions, but looks like these are Behavior Designer actions, not Game Creator's. I'm not sure how to install them, but the BD documentation should have the answers. Once you've done that, you should see a couple of new BD actions list with the "Game Creator Movement Stop" and "Game Creator Move To" names, which can be used to bridge between the two packages.
     
    vinceavila83 likes this.
unityunity