Search Unity

[RELEASED] CAT Game Builder:The easier, faster way to make games in Unity

Discussion in 'Assets and Asset Store' started by jsoucy, Jan 6, 2018.

  1. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    This is mighty impressive. I may have to nab it.
     
  2. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Still working on that one. It's a good chunk of work, and most of my CAT time lately has been in tutorial videos and the presentation I did this week. The video of the presentation should be online at some point. IGDA Boston recorded it, so the timing is out of my hands.

    Check out the Quest UI tutorial. It shows how to access fields and properties on third party classes. I'll look at adding some support for sorting or filtering lists in the next release. That's pretty easy, I think. I'm thinking an action for each:

    SortAction: takes an input list, an output list, and an optional sort field.

    FilterAction: takes an input list, an output list, an evaluation requirement (all/one/etc) and any number of child Conditions. If the amount of conditions specified by the evaluation requirement are met on a given list item, then it isn't filtered.

    There are list values for a lot of things. Is that what you're looking for? Like Game Object List Value and such?

    Thanks,

    Mike
     
    Last edited: Feb 24, 2018
  3. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Awesome! Happy to answer any questions you may have.
     
  4. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Do you have some use cases you could describe for accessing scriptable objects from CAT? I think that will help me figure out the best way to make them work.

    FYI, sort and filter lists will definitely be in the next release. I just wrapped them up today.

    Thanks,

    Mike
     
    Mark_01 likes this.
  5. LoDx

    LoDx

    Joined:
    Feb 13, 2013
    Posts:
    69
    Hi @sirgolan ,
    - Photon Networking ( PUN ) support please ?
    - any plan for mobile control/pad ? ( for the player movement )

    Thanks!
    James
     
  6. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,032
    @sirgolan ,

    Have a look at the Visual Item Database Asset. Consider being able to access that... It's ScriptableObject based... Or have a look at Brackeys recent short YouTube on use of ScriptableObjects.

    With filter and sorting of lists would be nice to create association between strings say and integers or create perhaps dictionaries...
     
  7. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Photon is on the list for sure.

    Is there a popular asset already for mobile controls? I didn't see anything obvious on the asset store, but I didn't spend a lot of time searching. I'm trying to decide if it's worth it to build our own or just integrate with an existing implementation.
     
  8. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    For Visual Item Database, it looks like it would be best to build a custom integration specifically for that asset.

    I'm trying to figure out if there's use cases for a generic way to interact with ScriptableObjects. Mainly, I could see trying to access a field defined on one either in CAT parameters or to bind UI elements to. The problem is how to select which ScriptableObejct you're dealing with. +1 for rubber duck debugging here, though. I wrote out what the problems were in this message and then realized an easy way to make it work:

    1. A new ScriptableObject (or maybe just "object") Value type
    2. An action to stuff a ScriptableObject into one of those values
    3. The ability to use "." notation to access sub-fields in the "referenceName" field. (this is an already planned feature)

    That way if you have a ScriptableObject in a value called "foo" attached to the ValueHolder on Owner, you could access a field on it called "bar" like this:
    upload_2018-2-26_14-33-5.png

    However, since ScriptableObjects require actually writing code to create, I think in many cases, writing a custom CAT integration for each might be the best route. I'll still implement the above solution though since it should get you most of the way there at least.

    Thanks,

    Mike
     
  9. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,032
    @sirgolan , /Mike,

    I like that foo.bar solution, I like it a lot! ;)
     
  10. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    We're still hard at work on the next release and more tutorials, but I wanted to mention that we are participating in Unity's 20% off for subscribers sale. If you have a Unity Plus/Pro subscription, you can now get CAT for $79.20.
     
  11. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,032
    @sirgolan ,

    How goes development? What's next on the list?
     
  12. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    We've been a bit time constrained lately while ramping up two paid projects, but the good news is that it's pretty likely one of them will result in the first free CAT integration. Any generic additions or fixes to CAT for that project should also be able to be released in future CAT versions.

    Ramp up should be done in the next day or two, so I'm hoping to wrap up the new CAT version this week which will have sorting and filtering lists, generic ScriptableObject support, and a few other things.
     
    Mark_01 likes this.
  13. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Ok. Finally broke down and bought it.
     
  14. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Just an FYI. Your documentation seems to be a bit out of date. Following the player controller and camera example (3rd person) is a little off and confusing right now.
     
  15. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152

    First off, thanks for purchasing!

    I will check that out and fix it asap. I'm also still hoping to wrap up the next release this weekend.
     
    wolfen231 likes this.
  16. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    I just submitted version 1.04 to the Asset Store for review! It has updated documentation. Thanks for letting us know about that @wolfen231.

    I've got to say using dot notation in the Reference Name field is really awesome! As a quick test, I made an object turn red whenever it was moving by doing this:

    upload_2018-3-11_16-36-15.png
     
    Mark_01 likes this.
  17. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Good to hear! I was getting a tad confused on the docs haha. I eventually got it going... but it seems off. I either did something wrong or it's just not as elegant of a player that I expected and just needs way more fine tuning than you cover in the tutorial.
     
  18. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    There were definitely a couple of things that were out of date in the docs like the camera controller's Initial Targets. The current iteration of Camera / Player controllers are fairly light weight but flexible. Let me know if there's specific areas you're having trouble with and I can try to help!

    Maybe this would be a good topic for my next tutorial video!
     
  19. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Problem I had mostly with it was how "wobbly" the mouse looking was. It was just... uncontrollable almost. Also I had to set the cube to kinetic because it just went beserk on the plane haha.
     
  20. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    @sirgolan Have you guys considered setting up a discord channel for your users to meet at and ask questions and also help each other out?
     
  21. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Which controller were you using? The physics based ones can definitely go all wonky like that if they aren't configured right. I generally suggest the non-physics based ones (which use Unity's Character Controller).

    A couple of people have asked for that. It's something we're looking into, but one of my concerns is that it'd be empty most of the time until we build up a bigger group of people using CAT.
     
  22. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    CAT Version 1.04 was approved today on the Asset Store! I'm working on updating the version on itch.io and the website right now. Here's the release notes:

    NEW FEATURES:

    - Added FilterListValueAction
    - Added SortListValueAction
    - Some value coercion improvements
    - Added generic ScriptableObject Values and CATs for them
    - Added untyped values and CATs for them
    - referenceName can include dot (".") notation

    FIXES:

    - Fix bug with Transform Action not actually working.
    - Fix bug with setting initial state to a templated state on a state machine.
    - Fix bugs with templated states.
    - Fix bugs with equality comparisons on lists in databinding
     
  23. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    I used what ever your guide said to use HAHA.

    In regards to Discord.... gotta start somewhere. Not having one and being concerned it will be empty just says to me you don't have faith the product WILL grow to need that one day. ;)
     
  24. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    I'll try following it again and see if I can repro. It's possible I added some steps when I ran through it without thinking about it.

    I'm confident we will eventually have a good sized community, it's just something that takes time. Honestly, some of our guys have suggested Discord as well, so maybe I should just relent. :)
     
  25. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    I see what's causing the camera panning to look odd. On the Third Person Camera, turn Smoothing down to 0. It looks like the default setting is configured for a keyboard controlled camera, not a mouse controlled one like in the example.
     
  26. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Found the issue with player movement. Don't add a Rigid Body to the player. Looks like that section of the doc was from before we had a non-physics based player controller.

    I must have just instinctively made these changes when I went through the tutorial last time. Sorry about that! I'll make sure it's updated.
     
  27. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    @sirgolan It's no worries. Thanks for the clarifications. =)
     
  28. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Our marketing guy suggested we do something special for GDC, so we decided to put CAT on sale at $79! If you have a Unity subscription (pro/plus), you can get it for $63.20, which is the lowest price it's ever been (by a whole $0.80).

    We're currently working on a new game that should be announced in the next few days, and of course we're using CAT on it. In this case, we'll also be able to roll any useful changes or additions into a future CAT release.

    As always, we're open to suggestions for new CATs and new tutorials.
     
  29. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    802
    I am interested in checking this out now that the price has gone down a bit. Is there a roadmap anywhere about what the plan is with the RPG side of things? I am currently making what I guess I will call a SMORPG (small multiplayer) that is going to be 3-5 players are a time probably, so I am hoping to see what you guys have in store for that. Are any of the CATs able to be triggered by online events such as when a player connects to the server, spawns, or anything like that? How does CAT work with deterministic server authority environments?

    Thanks!
     
  30. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    We don't currently have a public roadmap, though that's something we've been considering. With that said, the RPG addon will most likely be next on the list unless a paying client comes in with other CAT needs first.

    CAT does have a lot of hooks for online games already. There's a Player Service which includes triggers for logging in and selecting a character. However, it's not hooked up to anything, so you'd have to fill in that part.

    For server-driven gameplay, you'd currently need to implement your own CATs to deal with that, but given a reasonable server API, it shouldn't otherwise be more difficult than any other CATs. All CATs can work asynchronously-- that includes conditions. So you can query the server and the client will wait.

    We used the first iteration of CAT on Poptropica Worlds, which is a light online RPG. The server wasn't totally in control, but we did use it to save game state. Since we already have the storage system in CAT, it's possible to write a plugin for that for any back end and then use that to save game state. This is what we did on Poptropica Worlds with GameSparks. Unfortunately, that code isn't something we can share since we don't own the rights to it.

    Hopefully that answers your questions!
     
    Last edited: Mar 20, 2018
  31. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    I set up a Discord server today for CAT if anyone wants to join! I can't gaurantee anyone from Tricky Fast will be available to answer questions at any particular time (especially since a good portion of the team is working on a new game project), but feel free to pop in and say hi!

    https://discord.gg/G4kJEW5

    I'm open to suggestions on how to set it up better.
     
    wolfen231 likes this.
  32. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    We're pleased to announce our latest game that will use CAT Game Builder: Treat Fighter. It's a blockchain game we're making with our partner, Chimaera. Pretty cool stuff!

    TF1.v2-final.png

    As I mentioned before, any CAT improvements and applicable systems will get rolled into a future CAT release, and I think there's some really useful additions planned.
     
    wolfen231 and StevenPicard like this.
  33. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    If anyone here is going to be at PAX East this week, we've got a booth at the Made in MA party that's happening April 5th at 6pm. You can get tickets here or at the door. We'll have a demo of CAT for people to play with and will have some special discounts and a chance to win a copy.
     
  34. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Last week I added a virtual joystick control for mobile games which works with player movement (or any input). It'll be in the next release!
     
    StevenPicard likes this.
  35. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    We started to do some work on the RPG addon including stats and inventory. There isn't a custom UI yet, but here's an early preview:

    upload_2018-4-15_15-7-8.png

    Next on the list is combat and abilities.
     
  36. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    A feature that will be in the next release is pagination for UI Layout Groups. You can either go by pages or also have an "infinite scroll" where it adds more items to the list as you scroll down.

    upload_2018-4-21_18-24-29.png
     
    VP_no1, homestead and StevenPicard like this.
  37. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    262
    Hello !
    1. could you please link this forum on your store page ?
    2. How is it going on the RPG plugin, and will it be a paid plugin ?
    3. Could you tell us why we should choose CAT over Gameflow ?
     
  38. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Hey!

    1. I thought we already did that, but it looks like I changed the Support link to our customer support portal. I can add the link here next time I update.

    2. We had to put that on hold while we wrap up Treat Fighter, but there was a lot of progress before that. A bunch of the systems are finished, though there are still more that haven't been started. Most likely in the long term, it will be paid since it will cost us a fair amount to build it. In the short term, we've been debating a free beta version to get feedback while we're developing.

    3. Gameflow is similar in some ways (it uses the inspector vs a flow diagram), but one big difference is that we have quite a lot of high quality documentation and tutorials. CAT uses higher level actions for the most part, so it involves less work to make things. We also have a ton of debugging built in along with some game systems like a quest system, camera/player controllers, and a UI system.

    I'd also like to mention that there are a ton of features coming in through Treat Fighter. A lot of them are UI based, but for instance, today, I'm building out CATs for Unity Analytics.
     
    VP_no1 and StevenPicard like this.
  39. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Hi Everyone!

    Sorry for the long silence. While we haven't been on the forum here in a bit, we've still been very busy with CAT. I've just submitted a new version to the store. Here's the release notes:


    NEW FEATURES:

    - Added SetRigidbody2DGravityScaleAction
    - Set Interactable Action and Fade Screen Action now support Canvas Groups
    - Added Set UI Text Allignment Action
    - Added FocusInputFieldAction
    - Support for virtual joystick on mobile
    - SetInputAxisAction and SetInputButtonAction
    - Added virtual joysticks and buttons to examples which display on mobile only
    - Added DeviceTypeCondition
    - Add method to mark databound properties as changed (useful for lists)
    - Add Actions and Conditions for PlayerPrefs
    - Add pagination function to UI Layout Data Bind
    - Add endless scrolling function to UI Layout Data Bind
    - Add ability to create custom list data sources which can be queried
    - Add Actions / Condition for switching and checking pages.
    - Add Action for setting UI elements interactable
    - Added delayed event subscriptions for data binding mostly
    - Add some databinding warnings
    - Support for binding to/through functions with no arguments.
    - Add prefix/postfix to UITextDataBind
    - New AddTargetsToGameObjectListValueAction
    - New option to change polling frequency for databinding
    - Added a host of ValueReferenceComponents currently most useful for Analytics
    - Add Analytics Actions
    - Add NotificationDialogAction
    - Add ChangeSortAction and implement sorting for UI Layout Group Databind
    - Implement filtering for UI Layout Group Databind
    - Add text databinding for Integers, floats, and dates
    - Add ConfirmationDialogCondition
    - Support for referencing bound data in CATargets.
    - Support for less than or equal to and greater than or equal to in comparisons
    - Named CATarget will also look for <name>(Clone)
    - Tooltip support in databinding
    - Improved dropdown databinding support
    - Support for event driven databinding
    - Add negate option to conditions
    - Hide elements in a UI Layout Group Databind while being created if offset creation is active.
    - Option for a wait animation / prefab while UI Layout Group Databind is creating items.
    - Allow animations of integer values in text databinding
    - Add databinding value modifier system and several modifiers for UI Text Data Bind, UI Date Text Data Bind, and UI DropDown Data Bind


    FIXES:

    - Fixed hard-coded file path for editor icons. It should be possible to relocate the TrickyFast directory now.
    - Fixed a bug in 2d and 3d player controllers where it was not handling input correctly and could get stuck.
    - Fixed NRE in PlayerGrounded
    - Fixed NREs in Value Changed Trigger and String Value Trigger
    - NameService now disposes of empty lists
    - Fix check when databound properties change to not early out if a list is marked changed.
    - If databinding hasn't been set up, return a null binding object
    - Fix bug with *ValueTrigger where firing from check on start would do nothing.
    - Fix bug trying to add to an uninitialized list.
    - Fix multiple bugs with TriggerLists
    - Fix bugs with UIToggleGroupTrigger
    - Fix bug with IntegerValueTrigger
    - Fix bug with databinding to null objects
    - Fix more null issues with databinding.
    - Fix some CATarget bugs
    - Fix bugs with Databinding subscriptions
    - Fix NREs with databinding
    - Fix some bugs with pagination
    - Fix some bugs with conversion of databinding
    - TriggerList checkOnStart will fire false when appropriate.
    - IntegerValueTrigger now works with greater than or equal to and less than or equal to.
    - Better clean up and overall performance of databinding.
    - Fix bugs with Layout Group sorting.
    - Fix bugs with RotateAction continuous mode.
    - Fix initialization of LocalizedValues
    - More event driven databinding.
    - Data Bind Base now refreshes its context on enable


    This should be available as soon as it's approved!
     
    VP_no1 and MostHated like this.
  40. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    262
    what's up with the rpg part ?
     
    MostHated likes this.
  41. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Still in progress. That and improving ease of use are our top priorities with CAT at the moment.
     
    StevenPicard likes this.
  42. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Mark_01 and Duffer123 like this.
  43. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    451
    Will get this today :) I am with a lot here that are asking for the RPG .. I had said just two days
    ago in another forum that I am tired of buying systems that say they will put in RPG and that I would not buy a system unless it had RPG in it. BUT, this price can not resist and I figure extra support for hoping the RPG system can be put in a bit sooner ;) ( I know there is a small demo for rpg in it )

    With a lot of people asking for RPG so, the first system that gets this right will prolly have a lot of sales.

    I like this system the way it is set up and was just looking at it yesterday.
    Glad I have the secret sale page. Good luck with the sale.

    That you for your hard work and support. 5 stars for sure !!!
     
    Last edited: Aug 31, 2018
  44. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    451
    Also asking if CAT Game Builder can be updated for Unity 2018.x 2 ?
    And possibly talk with the Dev's of Emerald AI ? for integration ?
     
  45. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    We were just discussing that in the discord channel. We are likely starting an RPG project next week that we will need to build out at least a good portion of the addon for, so development on it should be speeding up. I agree that it's what pretty much everyone wants including the studios that are using CAT for prototyping.

    As to the current status, right now we've got the ability / spell system, combat, inventory, and stats system pretty much working. Crafting, factions, and xp / progression haven't been started at all. Also, nothing has documentation yet. What we'll probably do is get everything working with at least some minimal documentation and then start an early beta.

    Next version, I'll add a 2018.x package, but the 2017.x one should work fine.

    I'll have a closer look at Emerald AI. From the videos, it seems like some of it will be covered in the RPG addon which will likely include some common NPC behaviors. But also, I've made a lot of those behaviors in vanilla CAT before pretty easily (patrol, pursue, threatened, autoattack, etc).
     
    Mark_01 likes this.
  46. BlankDeedxxAldenHilcrest

    BlankDeedxxAldenHilcrest

    Joined:
    Jul 10, 2018
    Posts:
    292
    Gotta say that I am loving this editor-type editor. I can't believe I only just found it, and while searching for something inane no less. I am gonna love learning more code until I'm actually competent at it, but I've got ideas clogged up that won't wait for me. I was looking at the other visual scripting languages for prototyping because that's just what there was to offer, the node-based system seem to be the only things anybody had created in this area and I figured better start soon since I have to get familiar with it. Then I figured it'd be best to just use code snip-its because it's cleaner and doesn't require the processing overhead of node based systems.

    But screw all that because this thing exists. I thought visual scripting would be my jam, but other ones seemed so alien. I can look across the panels in the pictures and videos and automatically assume how simple A.I. and events can be put in, in what seems to be a very natural way to my brain. I was gonna just do everything myself, out of pride, but thank pepperoni I found this on complete accident. Oh and like the author said before me it acts like actual proper level coding and does not require the same cross compiling as node systems, making it actually efficient.

    The only thing I'm waiting for is September so it goes towards the free assets of that month. I haven't seen a single bad thing about it online.
     
  47. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    451
    Thank you :)
     
  48. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    Awesome! We're quite fond of it, too. Though, we might be biased. One of the things we're concentrating on right now (other than the RPG addon) is making it even easier to use. This is based on feedback from our users, the projects we've used it on, and the game studios that have started working with it.

    Anyway, I'm glad you find CAT easy to understand. That's one of our main goals with it. Making it easy to use for people with all levels of experience in Unity.

    Thanks!
     
    Mark_01 likes this.
  49. sirgolan

    sirgolan

    Joined:
    Oct 18, 2013
    Posts:
    152
    I just added support for an object pooling system. That'll be out in the next release (sorry I can't really think of a good way to show that with a screenshot :) ). We've also made some usability changes that make it easier to find values and properties to databind to. I'll have a screenshot of that one shortly!
     
    StevenPicard and Mark_01 like this.
  50. mindfulmx

    mindfulmx

    Joined:
    Mar 21, 2017
    Posts:
    31
    Great asset, I purchased 3 days ago and Im very happy learning!, I really appreciate more examples conditions and actions to make puzzles, quizzes and casual games, and more little tutorials to know simple stuff like: how to spawn objets, change colors, manage audio, etc.. will be very appreciated, Thanks in advance!
     
    sirgolan, Mark_01 and StevenPicard like this.