It's Time @adent42 It's TIME

zarzirzarzir Member, PRO Posts: 128

Hi @adent42 I'm sorry but it's really is the time to give us custom code/source code option for our projects.

With GPT-4 it will be a game changer and will open up endless possibility for those who can't code.


Give us the power to put GameSalad on the map again!

Comments

  • zarzirzarzir Member, PRO Posts: 128

    Nobody wants this? Am I the only one?

  • ArmellineArmelline Member, PRO Posts: 5,354

    It would be nice, but there are other engines that let you code directly, and GameSalad's benefit is that it is more directly easy to use. If GameSalad added a custom code block, there are definitely things I'd find to use it for, but it isn't the change I'd most want. Now sounds from expressions has been added I'd say my most wanted feature would be reordering layers at runtime.

  • adent42adent42 Key Master, Head Chef, Executive Chef, Member, PRO Posts: 3,159

    We're working towards moving off of the current 1.25 desktop creators and building a desktop Creator 2.0 which will then make it easier for us to implement coding.

    For the time being, you can do your own coding via the javascript APIs combining the following:

    https://help.gamesalad.com/knowledge-base/does-the-html5-engine-have-any-apis-i-can-interact-with/

    and for mobile desktop, this:

    https://github.com/gamesalad/gs-electron-forge

    I'm also working on a version of this for Cordova, which would allow you to do the same for mobile.

    We haven't done a lot of documentation on how this all works, but I'm happy to answer any questions as you go through the documentation.

    The key to our most powerful in-house usages of these features is the tweet sheet behavior and the save table behavior.

    A Tweet Sheet delegate allows you to pass two arbitrary string to a function, you can use one string as a function name and second as function parameters. By having the delegate read the function name and do something, you can achieve some powerful results.

    The Save Table behavior is handy delegate to intercept because it passes all of the datable data to the delegate function. We've used it to "Save" tables online without having to separately call the Send Table To Network function, (making porting existing games with table saving easier). It also avoids what the network behaviors assume to be required, so it's great when you want to do something with table data other than send it and wait for the standard reply. For instance, we have also used save table to track analytics and save data to the blockchain.

    To communicate back to the engine, there are the 'externalWriteGameAttribute' and 'loadExternalImage' events which let you update an attribute value or to replace / add images to the asset manifest by asset name using a url.

    Some of these functions (namely loadExternalImage) are only currently possible because of how much functionality is provided by the browser's javascript APIs, so it's not something we'll be able to quickly implement in the engine, if ever.

    If you need more ideas on how to use these features, feel free to comment below or DM me!

  • zarzirzarzir Member, PRO Posts: 128

    Thanks @adent42 for the answer,


    My focus is mobile games so I was taking about the possibility to add custom code to our native mobile game.

Sign In or Register to comment.