Suggest: Overall ease of use improvement update suggestions



  • Would it be beyond capabilities to add a few things to enhance strings, and possibly other general practices?

    • int "Length" output in addition to the text.
    • behavior "Get string" to return a new string using the given offsets, such as amC# substring method clone.
    • behavior "Compact" to compress small bits of data, similar to python's strict method. For instance, '$' = 48, and 'abcd' = )Ā„n
    • behavior "Function" to replace "behavior bundle". Switch "Execute Immediately", if off, behavior must be executed using "Execute Behavior", if on, acts as normal behavior bundle.
    • overload behavior "Execute Behavior", when executing a function, optionally add multiple input field "arguments"
    • behavior "return value" to Replace "broadcast value" and "receive value". Any input-required behavior in any object on the current scene or overlay can read this value.
    • overload behavior "return value"', when used in a function, the execute behavior returns the value or values input here.
    • behavior "Refresh Scene" reloads the current scene without restarting the entire project.
    • behavior update "Play Animation", execute when animation completes instead of immediately
    • overload behaviors "Spawn Series" passes down object as output so you can modify e spawned object directly after spawning
    • internal function "MemoryErrorHandler", if a memory error occurs, if the user is editor playing, freeze the project and allow and object boundaries to help them see what's the issue, then offer to restart or exit, Else tell the user to tell the developer there was a memory error and offer to restart or exit
    • behavior "Make Cheesy Bacon Fries" in case the developer needs a mood lift.

  • Admin

    • You can already get the length of text. In the Logic category, under "Text" there is a "Text Length" behaviour
    • There is a Trim Text, and combine text. With these you should be able to do what you need.
    • Compact? What would be the purpose of this? I can't see it being used in hyperPad.
      -Functions are planned. It's later in the hyperPad life cycle. See the roadmap. Also, note that behaviour bundles are mainly to be used for organization, and to force your behaviours to execute in a specific order. They're not really intended as a function replacement.
    • Execute behaviour. We were thinking of adding an "Execute behaviour by name" feature. Where you can enter a name of a behaviour and it will trigger it. But behaviour on does this in most situations.
    • A return value will be part of functions when it's added.
      -We have a restart scene behaviour. It restarts the current scene, not the whole project.
    • Play animation only executes the next behaviour after it's done. If this isn't happening for you check your logic.
    • We wanted to do something like this. But since adding attributes, you can do this your self. It's a bit more work on your end to set up, but entirely possible. Use an object on global ui, and an attribute id for each object you spawn. Each time an object is spawned, add an attribute. I'm not going through all the details, but you should be able to figure it out :).
    • Don't think we can do this. Apple is pretty picky about this kind of stuff, the OS is designed t crash when there is too much memory usage. Unless we set a software limit, I don't think we can do anything. And setting a software limit is not the greatest idea. Stick with using reasonable sized assets, and reusing objects/assets in your scene and you should be able to keep memory manageable.


  • @Murtaza said in Suggest: Overall ease of use improvement update suggestions:

    • You can already get the length of text. In the Logic category, under "Text" there is a "Text Length" behaviour
    • There is a Trim Text, and combine text. With these you should be able to do what you need.
    • Compact? What would be the purpose of this? I can't see it being used in hyperPad.
      -Functions are planned. It's later in the hyperPad life cycle. See the roadmap. Also, note that behaviour bundles are mainly to be used for organization, and to force your behaviours to execute in a specific order. They're not really intended as a function replacement.
    • Execute behaviour. We were thinking of adding an "Execute behaviour by name" feature. Where you can enter a name of a behaviour and it will trigger it. But behaviour on does this in most situations.
    • A return value will be part of functions when it's added.
      -We have a restart scene behaviour. It restarts the current scene, not the whole project.
    • Play animation only executes the next behaviour after it's done. If this isn't happening for you check your logic.
    • We wanted to do something like this. But since adding attributes, you can do this your self. It's a bit more work on your end to set up, but entirely possible. Use an object on global ui, and an attribute id for each object you spawn. Each time an object is spawned, add an attribute. I'm not going through all the details, but you should be able to figure it out :).
    • Don't think we can do this. Apple is pretty picky about this kind of stuff, the OS is designed t crash when there is too much memory usage. Unless we set a software limit, I don't think we can do anything. And setting a software limit is not the greatest idea. Stick with using reasonable sized assets, and reusing objects/assets in your scene and you should be able to keep memory manageable.
      BUT MURTAZA, WHAT ABOUT THE CHEESY BACON FRIES????????
      šŸ§€šŸŸ


  • @Murtaza

    Replace would be easier to find and use if you ask me, but I'm s coder, most here aren't.
    Just as easy as 1010101010*(9+(31/4)), instead of 10x5*(9+(31/4))?
    Save data with sockets. I don't want to send 50MB of save data, I want it compressed down to 5, also, length of data for server sided ease, such as clash of clans protocol.
    It was intended to be patchwork until a better system was added.
    :))
    :))
    I thought that restarted the project, so I never used it. I'll try again later though.
    In my tests, it immediately executes as the description says it does, but I may be blind.
    I would need an example, as a carbon copy seems to be difficult to decipher from its parent. Also, that wouldn't work, as the parent is sometimes already destroyed, and now has the child ID, at least in theory.
    That's stupid, but, hey, I'm not apple.


  • Admin

    • It does more than just replace. Either way it exists. We'll look into renaming it if more people are confused. But so far seems fine :).

    • Not sure what you're asking?

    • You're dealing with text. You'd have to send A LOT of text back and forth to reach 50 mb. By adding compression you're unnecessarily optimizing before a problem even exists. You're also adding extra processing that's not needed and could potentially lag. I just don't see the use case for this. In 99% of situations it's unneeded. And I don't think this is the solution any ways, the solution would be to streamline your logic to send less chunks of data at a time.

    • Nope restarts scene

    • I just tested it. Connected a play sound to the play animation. The sound happened after the animation completed. The description was most likely an oversight.

    • I don't have time to create an example right now. But look at how Attributes work, you can create a dynamic attribute for each spawned object. It'll require some clever thinking, but it is possible to do a lot of things this way. You're still limited by not being able to reference an object directly. But you can pass information around this way.



  • @Murtaza A behaviour to join and leave groups would be great, then we could select objects by ID instead of having to use a for each loop to select a specific spawned object...



  • @Murtaza Replace it, I meant. Sorry :/
    I was blind. Sorry.
    Supercell's Clash of Clans sends about 3.4MB of data for a maxed hall11. Most connections can't handle that, so they compress it to under 512KB. Most can handle that. They use ZLIB and JSON. JSON formatting, zlib compressing, plus added data.
    Play sound may work differently. I'll see if I can build a skeletal replica of my issue.
    I'm just using dynamic load/save to file. It works well, actually.


  • Admin

    @Thecheater887
    Yeah but you're not supercell, and neither are any other of our users. If our users max out the limitations and these becomes needed we'll look into it.

    For now, let's just see if users can create a a simple app that uses http requests at all. My feeling is we're quite a way off before it's needed. Hopefully I'm proven wrong.